class-auxels-admin-assets.php
6 years ago
class-auxels-archive-menu-links.php
6 years ago
class-auxels-import-parser.php
8 years ago
class-auxels-import.php
6 years ago
class-auxels-search-post-type.php
6 years ago
class-auxin-admin-dashboard.php
6 years ago
class-auxin-demo-importer.php
6 years ago
class-auxin-dependency-sorting.php
8 years ago
class-auxin-import.php
6 years ago
class-auxin-install.php
6 years ago
class-auxin-master-nav-menu-admin.php
6 years ago
class-auxin-page-template.php
6 years ago
class-auxin-permalink.php
6 years ago
class-auxin-plugin-requirements.php
6 years ago
class-auxin-post-type-base.php
6 years ago
class-auxin-siteorigin-widget.php
6 years ago
class-auxin-svg-support-allowedattributes.php
7 years ago
class-auxin-svg-support-allowedtags.php
7 years ago
class-auxin-svg-support.php
7 years ago
class-auxin-walker-nav-menu-back.php
6 years ago
class-auxin-welcome-sections.php
6 years ago
class-auxin-welcome.php
6 years ago
class-auxin-whitelabel.php
6 years ago
class-auxin-widget-indie.php
6 years ago
class-auxin-widget-shortcode-map.php
6 years ago
class-auxin-widget.php
6 years ago
class-auxin-widget-indie.php
120 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Main class for creating independent widgets in auxin framework |
| 4 | * |
| 5 | * |
| 6 | * @package Auxin |
| 7 | * @license LICENSE.txt |
| 8 | * @author averta |
| 9 | * @link http://phlox.pro/ |
| 10 | * @copyright (c) 2010-2020 averta |
| 11 | */ |
| 12 | |
| 13 | // no direct access allowed |
| 14 | if ( ! defined('ABSPATH') ) exit; |
| 15 | |
| 16 | /*--------------------------------*/ |
| 17 | |
| 18 | |
| 19 | if( ! class_exists( 'Auxin_Widget_Indie' ) ) : |
| 20 | |
| 21 | |
| 22 | class Auxin_Widget_Indie extends WP_Widget { |
| 23 | |
| 24 | private $defaults = array(); |
| 25 | public $fields = array(); |
| 26 | |
| 27 | |
| 28 | /** constructor */ |
| 29 | |
| 30 | function __construct( $id_base, $name, $widget_options = array(), $control_options = array() ) { |
| 31 | parent::__construct( $id_base, $name, $widget_options, $control_options ); |
| 32 | $this->set_defaults(); |
| 33 | } |
| 34 | |
| 35 | |
| 36 | public function set_fields( $fields ){ |
| 37 | $this->fields = $fields; |
| 38 | } |
| 39 | |
| 40 | |
| 41 | private function set_defaults(){ |
| 42 | foreach ( $this->fields as $field ) { |
| 43 | $this->defaults[ $field["id"] ] = $field["value"]; |
| 44 | } |
| 45 | } |
| 46 | |
| 47 | |
| 48 | // outputs the content of the widget |
| 49 | public function widget( $args, $instance ) { |
| 50 | |
| 51 | } |
| 52 | |
| 53 | |
| 54 | |
| 55 | // processes widget options to be saved |
| 56 | public function update( $new_instance, $old_instance ) { |
| 57 | |
| 58 | $instance = $old_instance; |
| 59 | $new_instance = wp_parse_args( (array) $new_instance, $this->defaults ); |
| 60 | |
| 61 | foreach ( $this->fields as $field ) { |
| 62 | $id = $field["id"]; |
| 63 | $instance[ $id ] = strip_tags( $new_instance[ $id ] ); |
| 64 | } |
| 65 | |
| 66 | return $instance; |
| 67 | } |
| 68 | |
| 69 | |
| 70 | |
| 71 | // outputs the options form on admin |
| 72 | |
| 73 | public function form( $instance ) { |
| 74 | |
| 75 | $instance = wp_parse_args( (array) $instance, $this->defaults ); |
| 76 | |
| 77 | // get_field_id (string $field_name) |
| 78 | // creates id attributes for fields to be saved by update() |
| 79 | foreach ($this->fields as $field) { |
| 80 | |
| 81 | $id = $field['id']; |
| 82 | |
| 83 | switch ( $field['type'] ) { |
| 84 | |
| 85 | case 'textbox': |
| 86 | |
| 87 | echo '<p>', |
| 88 | '<label for="'.$this->get_field_id( $id ).'" >'. $field["name"].'</label>', |
| 89 | '<input class="widefat" id="'.$this->get_field_id( $id ).'" name="'.$this->get_field_name( $id ).'" type="text" value="'.$instance[ $id ].'" />', |
| 90 | '</p>'; |
| 91 | |
| 92 | break; |
| 93 | |
| 94 | case 'select': |
| 95 | echo '<p>', |
| 96 | '<label for="'.$this->get_field_id( $id ).'" >'. $field['name']. '</label>', |
| 97 | '<select name="'.$this->get_field_name( $id ).'" id="'.$this->get_field_id( $id ).'" value="'.$instance[ $id ].'" style="width:97%;" >'; |
| 98 | foreach ( $field['options'] as $key => $value ) { |
| 99 | echo '<option value="'.$key.'" '.( ( $instance[$id] == $key ) ? 'selected="selected"' : '' ).' >'. $value. '</option>'; |
| 100 | } |
| 101 | |
| 102 | echo '</select>', |
| 103 | '</p>'; |
| 104 | break; |
| 105 | |
| 106 | default: |
| 107 | |
| 108 | break; |
| 109 | } |
| 110 | |
| 111 | } |
| 112 | |
| 113 | } |
| 114 | |
| 115 | |
| 116 | } // end widget class |
| 117 | |
| 118 | |
| 119 | endif; |
| 120 |