PageRenderTime 42ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/blog/wp-content/plugins/widgetize-navigation-menu/widgets/button-creator-widget.php

https://gitlab.com/relacilia/cakra
PHP | 128 lines | 111 code | 4 blank | 13 comment | 17 complexity | 91c3f83feba3a29e87e2b25d4fa88eb1 MD5 | raw file
  1. <?php
  2. class Button_Creator_Widget_widgetized extends WP_Widget {
  3. public function __construct() {
  4. parent::__construct(
  5. 'advbuttonwdgt', // Base ID
  6. 'Advanced Button Widget', // Name
  7. array( 'description' => __( 'Create a button' ), ) // Args
  8. );
  9. }
  10. /* =============================================================
  11. DISPLAY THE WIDGET
  12. * =============================================================*/
  13. function widget($args, $mybut_instance) {
  14. extract( $args );
  15. ?>
  16. <!--start container-->
  17. <?php
  18. $title = apply_filters( 'widget_title', empty($mybut_instance['title']) ? 'Categories' : $mybut_instance['title'], $mybut_instance, $this->id_base);
  19. $mybut_widget_showaslink = isset( $mybut_instance['mybut_widget_showaslink'] ) ? $mybut_instance['mybut_widget_showaslink'] : false;
  20. //START WIDGET
  21. echo $before_widget;
  22. echo '<div id="button_creator_widget" class="widget-inner">';
  23. // Widget title
  24. if ($mybut_instance["title"]!=''){
  25. echo $before_title;
  26. echo $mybut_instance["title"];
  27. echo $after_title;
  28. }
  29. //IMAGE
  30. if(!empty($mybut_instance['mybut_widget_buttonlink'])){
  31. echo '<a class="button-creator-imagelink" href="'.$mybut_instance['mybut_widget_buttonlink'].'">';
  32. }
  33. if(!empty($mybut_instance['mybut_widget_buttonimage'])){?>
  34. <img width="<?php if($mybut_instance["mybut_widget_imagesize"]==""){echo '300';}else{ echo $mybut_instance['mybut_widget_imagesize'];}?>"
  35. src="<?php echo $mybut_instance['mybut_widget_buttonimage'];?>"/>
  36. <?php }
  37. if(!empty($mybut_instance['mybut_widget_buttonlink'])){
  38. echo '</a>';
  39. }
  40. //LINK
  41. if($mybut_widget_showaslink=='on' && $mybut_instance['mybut_widget_buttontext']!='' && !empty($mybut_instance['mybut_widget_buttonlink'])){
  42. echo '<a class="button-creator-textlink" href="'.$mybut_instance['mybut_widget_buttonlink'].'" style="color:'.$mybut_instance['mybut_widget_buttoncolor'].';">'.$mybut_instance['mybut_widget_buttontext'].'</a>';
  43. }
  44. //BUTTON
  45. else if($mybut_widget_showaslink=='' && $mybut_instance['mybut_widget_buttontext']!='' && !empty($mybut_instance['mybut_widget_buttonlink'])){
  46. echo '<a class="button-creator-buttoncoloredlink" href="'.$mybut_instance['mybut_widget_buttonlink'].'" type="button" style="background-color:'.$mybut_instance['mybut_widget_buttoncolor'].';">'.$mybut_instance['mybut_widget_buttontext'].'</a>';
  47. }
  48. echo '</div>';
  49. echo $after_widget;
  50. }//end function widget
  51. /*=============================================================
  52. END THE WIDGET
  53. * ============================================================= */
  54. //UPDATE VARS FROM FORM
  55. function update( $new_mybut_instance, $old_mybut_instance ) {
  56. $mybut_instance = $old_mybut_instance;
  57. $mybut_instance['title'] = strip_tags( $new_mybut_instance['title'] );
  58. $mybut_instance['mybut_widget_buttonimage'] = strip_tags( $new_mybut_instance['mybut_widget_buttonimage'] );
  59. $mybut_instance['mybut_widget_imagesize'] = strip_tags( $new_mybut_instance['mybut_widget_imagesize'] );
  60. $mybut_instance['mybut_widget_buttontext'] = strip_tags( $new_mybut_instance['mybut_widget_buttontext'] );
  61. $mybut_instance['mybut_widget_buttoncolor'] = strip_tags( $new_mybut_instance['mybut_widget_buttoncolor'] );
  62. $mybut_instance['mybut_widget_buttonlink'] = strip_tags( $new_mybut_instance['mybut_widget_buttonlink'] );
  63. $mybut_instance['mybut_widget_showaslink'] = $new_mybut_instance['mybut_widget_showaslink'];
  64. return $mybut_instance;
  65. }
  66. function form( $mybut_instance ) {
  67. $title = isset($mybut_instance['title']) ? esc_attr($mybut_instance['title']) : 'My Title';
  68. // Default vars in form
  69. $mybut_instance = wp_parse_args( (array) $mybut_instance, array(
  70. 'mybut_widget_buttonimage' => '',
  71. 'mybut_widget_imagesize' => '300',
  72. 'mybut_widget_buttontext' => '',
  73. 'mybut_widget_buttoncolor' => '',
  74. 'mybut_widget_buttonlink' => '',
  75. ));
  76. $mybut_widget_buttonimage = esc_attr($mybut_instance['mybut_widget_buttonimage']);
  77. $mybut_widget_imagesize = esc_attr($mybut_instance['mybut_widget_imagesize']);
  78. $mybut_widget_buttontext = esc_attr($mybut_instance['mybut_widget_buttontext']);
  79. $mybut_widget_buttoncolor = esc_attr($mybut_instance['mybut_widget_buttoncolor']);
  80. $mybut_widget_buttonlink = esc_attr($mybut_instance['mybut_widget_buttonlink']);
  81. $mybut_widget_showaslink = (bool) $mybut_instance['mybut_widget_showaslink'];
  82. ?>
  83. <p>
  84. <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
  85. <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
  86. </p>
  87. <p>
  88. <label for="<?php echo $this->get_field_id('mybut_widget_buttonimage'); ?>"><?php _e('Image:'); ?></label><br/>
  89. <?php echo '<img class="button_creator_img" src="'.$mybut_widget_buttonimage.'" width="200"/><br/>';?>
  90. <input type="text" class="button_creator_img_input" id="<?php echo $this->get_field_id('mybut_widget_buttonimage'); ?>" name="<?php echo $this->get_field_name('mybut_widget_buttonimage'); ?>" value="<?php echo $mybut_widget_buttonimage; ?>" /><br/>
  91. <input type="button" class="button btnctr_meta-button" value="<?php _e( 'Select Image', 'prfx-textdomain' )?>" />
  92. <br/>
  93. <a class="delete_button_creator_img" style="cursor:pointer;">Remove Image</a>
  94. </p>
  95. <p>
  96. <label for="<?php echo $this->get_field_id('mybut_widget_imagesize'); ?>"><?php _e('Image Width (in pixels):'); ?></label>
  97. <input size="5" id="<?php echo $this->get_field_id('mybut_widget_imagesize'); ?>" name="<?php echo $this->get_field_name('mybut_widget_imagesize'); ?>" type="text" value="<?php if (empty($mybut_widget_imagesize)){echo '300';}else {echo $mybut_widget_imagesize;} ?>" />
  98. <span>px</span>
  99. </p>
  100. <p>
  101. <label for="<?php echo $this->get_field_id('mybut_widget_buttonlink'); ?>"><?php _e('Link (required):'); ?></label>
  102. <input id="<?php echo $this->get_field_id('mybut_widget_buttonlink'); ?>" name="<?php echo $this->get_field_name('mybut_widget_buttonlink'); ?>" type="text" value="<?php echo $mybut_widget_buttonlink; ?>" />
  103. </p>
  104. <p>
  105. <label for="<?php echo $this->get_field_id('mybut_widget_buttontext'); ?>"><?php _e('Button Text:'); ?></label>
  106. <input id="<?php echo $this->get_field_id('mybut_widget_buttontext'); ?>" name="<?php echo $this->get_field_name('mybut_widget_buttontext'); ?>" type="text" value="<?php if (empty($mybut_widget_buttontext)){echo 'My Button';}else {echo $mybut_widget_buttontext;} ?>" />
  107. </p>
  108. <p>
  109. <label for="<?php echo $this->get_field_id('mybut_widget_buttoncolor'); ?>"><?php _e('Link Color:'); ?></label><br/>
  110. <input class="my-color-field" id="<?php echo $this->get_field_id('mybut_widget_buttoncolor'); ?>" name="<?php echo $this->get_field_name('mybut_widget_buttoncolor'); ?>" type="text" value="<?php if (empty($mybut_widget_buttoncolor)){echo '#abc261';} else {echo $mybut_widget_buttoncolor; }?>" />
  111. </p>
  112. <p>
  113. <input class="checkbox" type="checkbox"
  114. <?php
  115. if ($mybut_instance['mybut_widget_showaslink']=='on') {
  116. echo "checked";
  117. } ?>
  118. name="<?php echo $this->get_field_name('mybut_widget_showaslink'); ?>" />
  119. <label for="<?php echo $this->get_field_id( 'mybut_widget_showaslink' ); ?>"><?php _e( 'Show as text link' ); ?></label></p>
  120. </p>
  121. <?php
  122. }
  123. }
  124. add_action('widgets_init', create_function('', 'return register_widget("Button_Creator_Widget_widgetized");'));