CatPackages.php
4 years ago
Categories.php
4 years ago
ListPackages.php
4 years ago
NewDownloads.php
4 years ago
PackageInfo.php
4 years ago
Search.php
4 years ago
Tags.php
2 years ago
TopDownloads.php
4 years ago
WidgetController.php
2 years ago
ListPackages.php
154 lines
| 1 | <?php |
| 2 | if (!defined("ABSPATH")) die("Shit happens!"); |
| 3 | if (!class_exists('ListPackages')) { |
| 4 | class ListPackages extends WP_Widget |
| 5 | { |
| 6 | /** constructor */ |
| 7 | function __construct() |
| 8 | { |
| 9 | parent::__construct(false, 'WPDM Packages'); |
| 10 | } |
| 11 | |
| 12 | /** @see WP_Widget::widget */ |
| 13 | function widget($args, $instance) |
| 14 | { |
| 15 | global $post; |
| 16 | extract($args); |
| 17 | $title = apply_filters('widget_title', (isset($instance['title']) ? $instance['title'] : '')); |
| 18 | $sdc3 = isset($instance['sdc3']) ? $instance['sdc3'] : ''; |
| 19 | $cat = isset($instance['scat']) ? $instance['scat'] : ''; |
| 20 | $nop = !isset($instance['nop1']) || $instance['nop1'] <= 0 ? 5 : $instance['nop1']; |
| 21 | $html = ""; |
| 22 | $order_by = isset($instance['order_by']) ? $instance['order_by'] : 'publish_date'; |
| 23 | $order = isset($instance['order']) ? $instance['order'] : 'desc'; |
| 24 | $params = array('post_type' => 'wpdmpro', 'posts_per_page' => $nop, 'orderby' => $order_by, 'order' => $order); |
| 25 | if ($cat > 0) |
| 26 | $params['tax_query'] = array(array('taxonomy' => 'wpdmcategory', 'terms' => array($cat), 'field' => 'id')); |
| 27 | if (strstr($order_by, "_wpdm_")) { |
| 28 | $params['orderby'] = 'meta_value_num'; |
| 29 | $params['meta_key'] = $order_by; |
| 30 | } |
| 31 | $newp = new \WP_Query($params); |
| 32 | //$params['orderby'] = 'meta_value_num'; |
| 33 | ?> |
| 34 | <?php echo $before_widget; ?> |
| 35 | <?php if ($title) |
| 36 | echo $before_title . $title . $after_title; |
| 37 | echo "<div class='w3eden'>"; |
| 38 | while ($newp->have_posts()) { |
| 39 | $newp->the_post(); |
| 40 | |
| 41 | $pack = (array)$post; |
| 42 | echo wpdm_fetch_template($sdc3, $pack); |
| 43 | } |
| 44 | echo "</div>"; |
| 45 | echo $after_widget; |
| 46 | wp_reset_query(); |
| 47 | } |
| 48 | |
| 49 | /** @see WP_Widget::update */ |
| 50 | function update($new_instance, $old_instance) |
| 51 | { |
| 52 | $instance = $old_instance; |
| 53 | $instance['title'] = strip_tags($new_instance['title']); |
| 54 | $instance['sdc3'] = strip_tags($new_instance['sdc3']); |
| 55 | $instance['scat'] = strip_tags($new_instance['scat']); |
| 56 | $instance['nop1'] = strip_tags($new_instance['nop1']); |
| 57 | $instance['order_by'] = strip_tags($new_instance['order_by']); |
| 58 | $instance['order'] = strip_tags($new_instance['order']); |
| 59 | return $instance; |
| 60 | } |
| 61 | |
| 62 | /** @see WP_Widget::form */ |
| 63 | function form($instance) |
| 64 | { |
| 65 | $title = isset($instance['title']) ? esc_attr($instance['title']) : ''; |
| 66 | $sdc3 = isset($instance['sdc3']) ? $instance['sdc3'] : 0; |
| 67 | $scat = isset($instance['scat']) ? esc_attr($instance['scat']) : 0; |
| 68 | $nop = isset($instance['nop1']) ? esc_attr($instance['nop1']) : 5; |
| 69 | $order_by = isset($instance['order_by']) ? $instance['order_by'] : ''; |
| 70 | $order = isset($instance['order']) ? $instance['order'] : ''; |
| 71 | |
| 72 | $args = array( |
| 73 | 'show_option_all' => 'All Categories', |
| 74 | 'show_option_none' => '', |
| 75 | 'orderby' => 'ID', |
| 76 | 'order' => 'ASC', |
| 77 | 'show_count' => 0, |
| 78 | 'hide_empty' => 1, |
| 79 | 'child_of' => 0, |
| 80 | 'exclude' => '', |
| 81 | 'echo' => true, |
| 82 | 'selected' => $scat, |
| 83 | 'hierarchical' => 0, |
| 84 | 'name' => $this->get_field_name('scat'), |
| 85 | 'id' => '', |
| 86 | 'class' => 'postform widefat', |
| 87 | 'depth' => 0, |
| 88 | 'tab_index' => 0, |
| 89 | 'taxonomy' => 'wpdmcategory', |
| 90 | 'hide_if_empty' => false, |
| 91 | 'walker' => '' |
| 92 | ); |
| 93 | ?> |
| 94 | <p> |
| 95 | <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> |
| 96 | <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" |
| 97 | name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>"/> |
| 98 | </p> |
| 99 | <p> |
| 100 | <label for="<?php echo $this->get_field_id('scat'); ?>"><?php _e("Select Category:", "download-manager"); ?></label> |
| 101 | |
| 102 | <?php wp_dropdown_categories($args); ?> |
| 103 | |
| 104 | |
| 105 | </p> |
| 106 | <p> |
| 107 | <strong><label><?php echo __("On Single Download Page", "download-manager"); ?>:</label></strong><br/> |
| 108 | <label><input type="checkbox" value="1" name="<?php echo $this->get_field_name('cpc'); ?>" |
| 109 | id="<?php echo $this->get_field_id('cpc'); ?>"> <?php _e("Show packages from current package category", "download-manager") ?> |
| 110 | </label> |
| 111 | |
| 112 | </p> |
| 113 | <p> |
| 114 | <strong>Order:</strong><br/> |
| 115 | <select id="plob" style="margin-right: 5px" name="<?php echo $this->get_field_name('order_by'); ?>"> |
| 116 | <option value="date">Order By:</option> |
| 117 | <option value="date" <?php selected('date', $order_by); ?>>Publish Date</option> |
| 118 | <option value="post_title" <?php selected('post_title', $order_by); ?>>Title</option> |
| 119 | <option value="__wpdm_download_count" <?php selected('__wpdm_download_count', $order_by); ?>> |
| 120 | Downloads |
| 121 | </option> |
| 122 | <option value="__wpdm_package_size_b" <?php selected('__wpdm_package_size_b', $order_by); ?>>Package |
| 123 | Size |
| 124 | </option> |
| 125 | <option value="__wpdm_view_count" <?php selected('__wpdm_view_count', $order_by); ?>>Views</option> |
| 126 | <option value="modified" <?php selected('modified', $order_by); ?>>Update Date</option> |
| 127 | </select><select id="plobs" style="margin-right: 5px" |
| 128 | name="<?php echo $this->get_field_name('order'); ?>"> |
| 129 | <option value="asc">Order:</option> |
| 130 | <option value="asc" <?php selected('asc', $order); ?>>Asc</option> |
| 131 | <option value="desc" <?php selected('desc', $order); ?>>Desc</option> |
| 132 | </select> |
| 133 | </p> |
| 134 | <p> |
| 135 | <strong><label |
| 136 | for="<?php echo $this->get_field_id('nop1'); ?>"><?php _e("Number of packages to show:", "download-manager"); ?></label></strong> |
| 137 | <input class="widefat form-control" id="<?php echo $this->get_field_id('nop1'); ?>" |
| 138 | name="<?php echo $this->get_field_name('nop1'); ?>" type="text" value="<?php echo $nop; ?>"/> |
| 139 | </p> |
| 140 | <p> |
| 141 | |
| 142 | <strong><label |
| 143 | for="<?php echo $this->get_field_id('sdc3'); ?>"><?php _e("Link Template:", "download-manager"); ?></label></strong> |
| 144 | <?php echo WPDM()->packageTemplate->dropdown(['name' => $this->get_field_name('sdc3'), 'id' => $this->get_field_id('sdc3'), 'selected' => $sdc3], true); ?> |
| 145 | |
| 146 | |
| 147 | </p> |
| 148 | <?php |
| 149 | } |
| 150 | |
| 151 | } |
| 152 | } |
| 153 | register_widget('ListPackages'); |
| 154 |