/** * @since 3.4 */ function awpcp_display_listings($query, $context, $options) { $options = wp_parse_args($options, array('show_intro_message' => false, 'show_menu_items' => false, 'show_category_selector' => false, 'show_pagination' => false, 'before_content' => '', 'before_pagination' => '', 'before_list' => '', 'after_pagination' => '', 'after_content' => '')); if (has_action('awpcp_browse_ads_template_action') || has_filter('awpcp_browse_ads_template_filter')) { do_action('awpcp_browse_ads_template_action'); return apply_filters('awpcp_browse_ads_template_filter'); } $results_per_page = absint(awpcp_request_param('results', get_awpcp_option('adresultsperpage', 10))); $results_offset = absint(awpcp_request_param('offset', 0)); if (empty($query['limit']) && $results_per_page) { $query['limit'] = $results_per_page; } if (empty($query['offset']) && $query['limit']) { $query['offset'] = $results_offset; } $listings_collection = awpcp_listings_collection(); $listings = $listings_collection->find_enabled_listings_with_query($query); $listings_count = $listings_collection->count_enabled_listings_with_query($query); $before_content = apply_filters('awpcp-content-before-listings-page', $options['before_content'], $context); $before_pagination = array(); if ($options['show_category_selector']) { $before_pagination[15]['category-selector'] = awpcp_render_category_selector(array('required' => false)); } if (is_array($options['before_pagination'])) { $before_pagination = awpcp_array_merge_recursive($before_pagination, $options['before_pagination']); } else { $before_pagination[20]['user-content'] = $options['before_pagination']; } $before_pagination = apply_filters('awpcp-listings-before-content', $before_pagination, $context); ksort($before_pagination); $before_pagination = awpcp_flatten_array($before_pagination); $before_list = apply_filters('awpcp-display-ads-before-list', $options['before_list'], $context); if ($listings_count > 0) { $pagination_options = array('results' => $results_per_page, 'offset' => $results_offset, 'total' => $listings_count); $pagination = $options['show_pagination'] ? awpcp_pagination($pagination_options, awpcp_current_url()) : ''; $items = awpcp_render_listings_items($listings, $context); } else { $pagination = ''; $items = array(); } $after_pagination = array('user-content' => $options['after_pagination']); $after_pagination = apply_filters('awpcp-listings-after-content', $after_pagination, $context); $after_content = apply_filters('awpcp-content-after-listings-page', $options['after_content'], $context); ob_start(); include AWPCP_DIR . '/templates/frontend/listings.tpl.php'; $content = ob_get_contents(); ob_end_clean(); return $content; }
public function __construct($categories = null, $listings = null, $walker = null, $request = null) { parent::__construct(AWPCP_CAS_LISTINGS_CATEGORIES_MODULE, __('Categories (AWPCP)', 'AWPCP')); if (is_null($categories)) { $this->categories = awpcp_categories_collection(); } else { $this->categories = $categories; } if (is_null($listings)) { $this->listings = awpcp_listings_collection(); } else { $this->listings = $listings; } if (is_null($walker)) { $this->walker = awpcp_content_aware_sidebars_categories_walker($this->id); } else { $this->walker = $walker; } if (is_null($request)) { $this->request = awpcp_request(); } else { $this->request = $request; } }
private function load_items_from_query($query, $filters) { $listings = awpcp_listings_collection(); if (isset($filters['show_expired']) && $filters['show_expired']) { $this->total_items = $listings->count_expired_listings_with_query($query); $this->items = $listings->find_expired_listings_with_query($query); } else { if (isset($filters['show_awaiting_approval']) && $filters['show_awaiting_approval']) { $this->total_items = $listings->count_listings_awaiting_approval_with_query($query); $this->items = $listings->find_listings_awaiting_approval_with_query($query); } else { if ($filters['show_non_verified']) { $this->total_items = $listings->count_successfully_paid_listings_with_query($query); $this->items = $listings->find_successfully_paid_listings_with_query($query); } else { if ($filters['show_unpaid']) { $this->total_items = $listings->count_listings_with_query($query); $this->items = $listings->find_listings_with_query($query); } else { $this->total_items = $listings->count_valid_listings_with_query($query); $this->items = $listings->find_valid_listings_with_query($query); } } } } $this->set_pagination_args(array('total_items' => $this->total_items, 'per_page' => $this->items_per_page)); }
function awpcp_update_file_status_ajax_handler() { return new AWPCP_UpdateFileStatusAjaxHandler(awpcp_media_api(), awpcp_files_collection(), awpcp_listings_collection(), awpcp_request(), awpcp_ajax_response()); }
function awpcp_send_listing_to_facebook_helper() { return new AWPCP_SendListingToFacebookHelper(AWPCP_Facebook::instance(), awpcp_send_to_facebook_helper(), awpcp_listings_collection(), awpcp_listings_metadata(), awpcp()->settings); }
function awpcp_renew_listings_admin_page() { return new AWPCP_RenewListingsAdminPage(awpcp_listings_collection(), awpcp_payments_api(), awpcp_request()); }
public function random_listings_shortcode($attrs) { wp_enqueue_script('awpcp'); $attrs = shortcode_atts(array('menu' => true, 'limit' => 10), $attrs); $show_menu = awpcp_parse_bool($attrs['menu']); $limit = absint($attrs['limit']); $random_query = array('context' => 'public-listings', 'fields' => 'ad_id', 'raw' => true); $random_listings = awpcp_listings_collection()->find_enabled_listings_with_query($random_query); $random_listings_ids = awpcp_get_properties($random_listings, 'ad_id'); shuffle($random_listings_ids); $query = array('id' => array_slice($random_listings_ids, 0, $limit), 'limit' => $limit); $options = array('show_menu_items' => $show_menu); return awpcp_display_listings($query, 'random-listings-shortcode', $options); }
private function handle_custom_listing_actions($action) { try { $listing = awpcp_listings_collection()->get($this->id); } catch (AWPCP_Exception $e) { awpcp_flash(__("The specified listing doesn't exists.", 'AWPCP'), 'error'); return $this->index(); } $output = apply_filters("awpcp-custom-admin-listings-table-action-{$action}", null, $listing); if (is_null($output)) { awpcp_flash("Unknown action: {$action}", 'error'); return $this->index(); } else { if (is_array($output) && isset($output['redirect'])) { return $this->render_page($output['redirect']); } else { return $output; } } }
function awpcp_listing_payment_transaction_handler() { return new AWPCP_ListingPaymentTransactionHandler(awpcp_listings_collection(), awpcp_listings_api()); }
function awpcp_upload_generated_thumbnail_ajax_handler() { return new AWPCP_UploadGeneratedThumbnailAjaxHandler(awpcp_image_resizer(), awpcp_media_api(), awpcp_listings_collection(), awpcp()->settings, awpcp_request(), awpcp_ajax_response()); }
function awpcp_upload_listing_media_ajax_handler() { return new AWPCP_UploadListingMediaAjaxHandler(awpcp_listings_collection(), awpcp_file_uploader(), awpcp_new_media_manager(), awpcp_request(), awpcp_ajax_response()); }
/** * @since 3.4 */ function awpcp_get_browse_category_url_from_id($category_id) { try { $category = awpcp_listings_collection()->get($category_id); $category_url = url_browsecategory($category); } catch (AWPCP_Exception $ex) { $category_url = ''; } return $category_url; }
function awpcp_send_listing_to_facebook_admin_page() { return new AWPCP_SendListingToFacebookAdminPage(awpcp_listings_collection(), AWPCP_Facebook::instance(), awpcp_send_to_facebook_helper(), awpcp_request()); }
public function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', $instance['title']); echo $before_widget; // do not show empty titles echo !empty($title) ? $before_title . $title . $after_title : ''; echo '<ul class="awpcp-listings-widget-items-list">'; $items = awpcp_listings_collection()->find_enabled_listings_with_query($this->query($instance)); echo $this->render($items, $instance); echo '</ul>'; echo $after_widget; }