widget_archive.php
73 lines
| 1 | <?php |
| 2 | /** |
| 3 | * @author lord_viper |
| 4 | * @copyright 2013 |
| 5 | */ |
| 6 | |
| 7 | class parsidate_archive extends WP_Widget |
| 8 | { |
| 9 | public function __construct() |
| 10 | { |
| 11 | parent::WP_Widget(false,__('Jalali Date Archives','wp-parsidate'),'description='.__('Jalali Date Archives','wp-parsidate')); |
| 12 | } |
| 13 | |
| 14 | public function form($instance) |
| 15 | { |
| 16 | $type= isset($instance['parsidate_archive_type']) ? $instance['parsidate_archive_type'] : 'monthly'; |
| 17 | $instance['parsidate_archive_title']= isset($instance['parsidate_archive_title']) ? strip_tags($instance['parsidate_archive_title']) : __('Jalali Date Archives','wp-parsidate') ; |
| 18 | $instance['parsidate_archive_count']= isset($instance['parsidate_archive_count']) ? $instance['parsidate_archive_count'] : 0; |
| 19 | $instance['parsidate_archive_list'] = isset($instance['parsidate_archive_list']) ? $instance['parsidate_archive_list'] : 0; |
| 20 | |
| 21 | ?> |
| 22 | <p style="text-align:right; direction:rtl"> |
| 23 | <label></label> |
| 24 | <input style="width: 200px;" id="<?php echo $this->get_field_id('parsidate_archive_title'); ?>" name="<?php echo $this->get_field_name('parsidate_archive_title'); ?>" type="text" value="<?php echo (empty($instance['parsidate_archive_title'])? __('Jalali Date Archives','wp-parsidate') :$instance['parsidate_archive_title']) ?>" /> |
| 25 | <br /> |
| 26 | <label ><input type="radio" id="parsidate_archive_type1" name="<?php echo $this->get_field_name('parsidate_archive_type'); ?>" value="yearly" <?php checked($type,'yearly'); ?>/><label for="parsidate_archive_type1"><?php _e('Yearly','wp-parsidate') ?></label><br /> |
| 27 | <label ><input type="radio" id="parsidate_archive_type2" name="<?php echo $this->get_field_name('parsidate_archive_type'); ?>" value="monthly" <?php checked($type,'monthly'); ?>/><?php _e('Monthly','wp-parsidate') ?></label><br /> |
| 28 | <label ><input type="radio" id="parsidate_archive_type3" name="<?php echo $this->get_field_name('parsidate_archive_type'); ?>" value="daily" <?php checked($type,'daily'); ?>/><?php _e('Daily','wp-parsidate') ?></label><br /> |
| 29 | <br /> |
| 30 | <input type="checkbox" name="<?php echo $this->get_field_name('parsidate_archive_count'); ?>" id="<?php echo $this->get_field_id('parsidate_archive_count'); ?>" value="1" <?php checked($instance['parsidate_archive_count'],1,true); ?>/> |
| 31 | <label for="<?php echo $this->get_field_id('parsidate_archive_count'); ?>"><?php _e('Show post counts','wp-parsidate') ?></label> |
| 32 | <br /> |
| 33 | <input type="checkbox" name="<?php echo $this->get_field_name('parsidate_archive_list'); ?>" id="<?php echo $this->get_field_id('parsidate_archive_list'); ?>" value="1" <?php echo checked($instance['parsidate_archive_list'],1,true); ?>/> |
| 34 | <label for="<?php echo $this->get_field_id('parsidate_archive_list'); ?>"><?php _e('Display as dropdown','wp-parsidate') ?></label> |
| 35 | </p> |
| 36 | <?php |
| 37 | } |
| 38 | |
| 39 | public function update($new_instance, $old_instance ) |
| 40 | { |
| 41 | $instance = $old_instance; |
| 42 | $instance['parsidate_archive_title']= isset($new_instance['parsidate_archive_title']) ? strip_tags($new_instance['parsidate_archive_title']) : __('Jalali Date Archives','wp-parsidate') ; |
| 43 | $instance['parsidate_archive_count']= isset($new_instance['parsidate_archive_count']) ? $new_instance['parsidate_archive_count'] : 0; |
| 44 | $instance['parsidate_archive_list'] = isset($new_instance['parsidate_archive_list']) ? $new_instance['parsidate_archive_list'] : 0; |
| 45 | $instance['parsidate_archive_type'] = isset($new_instance['parsidate_archive_type']) ? $new_instance['parsidate_archive_type'] : 'monthly'; |
| 46 | return $instance; |
| 47 | } |
| 48 | |
| 49 | public function widget($args ,$instance) |
| 50 | { |
| 51 | extract($args); |
| 52 | $type = isset($instance['parsidate_archive_type']) ? $instance['parsidate_archive_type'] : 'monthly'; |
| 53 | $title = isset($instance['parsidate_archive_title']) ? $instance['parsidate_archive_title'] : __('Jalali Date Archives','wp-parsidate') ; |
| 54 | $post_count = isset($instance['parsidate_archive_count']) ? $instance['parsidate_archive_count'] : false; |
| 55 | $ddl_style = isset($instance['parsidate_archive_list']) ? $instance['parsidate_archive_list'] : false; |
| 56 | |
| 57 | echo $before_widget . $before_title . $title . $after_title; |
| 58 | if($ddl_style) |
| 59 | { |
| 60 | echo "<select name='parsidate_archive_list' onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value='0'>".esc_attr($title)."</option>"; |
| 61 | wp_get_parchives("type=$type&format=option&show_post_count=$post_count",$ddl_style); |
| 62 | echo '</select>'; |
| 63 | } |
| 64 | else |
| 65 | { |
| 66 | echo '<ul>'; |
| 67 | wpp_get_archives("type=$type&show_post_count=$post_count",$ddl_style); |
| 68 | echo '</ul>'; |
| 69 | } |
| 70 | echo $after_widget; |
| 71 | } |
| 72 | } |
| 73 | ?> |