function get_views() { $views = array(); $current = !empty($_REQUEST['listing_status']) ? $_REQUEST['listing_status'] : 'all'; $base_url = esc_url_raw(remove_query_arg(array('action', 'auction', 'listing_status'))); // handle profile query if (isset($_REQUEST['profile_id']) && $_REQUEST['profile_id']) { $base_url = add_query_arg('profile_id', $_REQUEST['profile_id'], $base_url); } // handle search query if (isset($_REQUEST['s']) && $_REQUEST['s']) { $base_url = add_query_arg('s', $_REQUEST['s'], $base_url); } // get listing status summary $summary = WPLE_ListingQueryHelper::getStatusSummary(); // All link $class = $current == 'all' ? ' class="current"' : ''; $all_url = remove_query_arg('listing_status', $base_url); $views['all'] = "<a href='{$all_url}' {$class} >" . __('All', 'wplister') . "</a>"; $views['all'] .= '<span class="count">(' . $summary->total_items . ')</span>'; // prepared link $prepared_url = add_query_arg('listing_status', 'prepared', $base_url); $class = $current == 'prepared' ? ' class="current"' : ''; $views['prepared'] = "<a href='{$prepared_url}' {$class} >" . __('Prepared', 'wplister') . "</a>"; if (isset($summary->prepared)) { $views['prepared'] .= '<span class="count">(' . $summary->prepared . ')</span>'; } // verified link $verified_url = add_query_arg('listing_status', 'verified', $base_url); $class = $current == 'verified' ? ' class="current"' : ''; $views['verified'] = "<a href='{$verified_url}' {$class} >" . __('Verified', 'wplister') . "</a>"; if (isset($summary->verified)) { $views['verified'] .= '<span class="count">(' . $summary->verified . ')</span>'; } // published link $published_url = add_query_arg('listing_status', 'published', $base_url); $class = $current == 'published' ? ' class="current"' : ''; $views['published'] = "<a href='{$published_url}' {$class} >" . __('Published', 'wplister') . "</a>"; if (isset($summary->published)) { $views['published'] .= '<span class="count">(' . $summary->published . ')</span>'; } // changed link $changed_url = add_query_arg('listing_status', 'changed', $base_url); $class = $current == 'changed' ? ' class="current"' : ''; $views['changed'] = "<a href='{$changed_url}' {$class} >" . __('Changed', 'wplister') . "</a>"; if (isset($summary->changed)) { $views['changed'] .= '<span class="count">(' . $summary->changed . ')</span>'; } // ended link $ended_url = add_query_arg('listing_status', 'ended', $base_url); $class = $current == 'ended' ? ' class="current"' : ''; $views['ended'] = "<a href='{$ended_url}' {$class} >" . __('Ended', 'wplister') . "</a>"; if (isset($summary->ended)) { $views['ended'] .= '<span class="count">(' . $summary->ended . ')</span>'; } // archived link $archived_url = add_query_arg('listing_status', 'archived', $base_url); $class = $current == 'archived' ? ' class="current"' : ''; $views['archived'] = "<a href='{$archived_url}' {$class} >" . __('Archived', 'wplister') . "</a>"; if (isset($summary->archived)) { $views['archived'] .= '<span class="count">(' . $summary->archived . ')</span>'; } // sold link $sold_url = add_query_arg('listing_status', 'sold', $base_url); $class = $current == 'sold' ? ' class="current"' : ''; $views['sold'] = "<a href='{$sold_url}' {$class} >" . __('Sold', 'wplister') . "</a>"; if (isset($summary->sold)) { $views['sold'] .= '<span class="count">(' . $summary->sold . ')</span>'; } // relist link $sold_url = add_query_arg('listing_status', 'relist', $base_url); $class = $current == 'relist' ? ' class="current"' : ''; $views['relist'] = "<a href='{$sold_url}' {$class} title='Show ended listings which are in stock and can be relisted.'>" . __('Relist', 'wplister') . "</a>"; if (isset($summary->relist)) { $views['relist'] .= '<span class="count">(' . $summary->relist . ')</span>'; } // autorelist link if ($summary->autorelist) { $sold_url = add_query_arg('listing_status', 'autorelist', $base_url); $class = $current == 'autorelist' ? ' class="current"' : ''; $views['autorelist'] = "<a href='{$sold_url}' {$class} title='Show ended listings which are scheduled to be relisted.'>" . __('Scheduled', 'wplister') . "</a>"; if (isset($summary->autorelist)) { $views['autorelist'] .= '<span class="count">(' . $summary->autorelist . ')</span>'; } } // locked link if ($summary->locked) { $sold_url = add_query_arg('listing_status', 'locked', $base_url); $class = $current == 'locked' ? ' class="current"' : ''; $views['locked'] = "<a href='{$sold_url}' {$class} title='Show locked listings'>" . __('Locked', 'wplister') . "</a>"; if (isset($summary->locked)) { $views['locked'] .= '<span class="count">(' . $summary->locked . ')</span>'; } } return $views; }
public function onDisplayListingsPage() { $this->check_wplister_setup(); // handle actions $this->handleActions(); // do we have new products with no profile yet? $selectedProducts = WPLE_ListingQueryHelper::selectedProducts(); if ($selectedProducts) { $this->displayPrepareListingsPage($selectedProducts); // edit listing } elseif ($this->requestAction() == 'edit') { $this->displayEditPage(); // show list } else { // show warning if duplicate products found $this->checkForDuplicates(); // check for profile waiting to be applied $this->checkForDelayedProfiles(); // get listing status summary $summary = WPLE_ListingQueryHelper::getStatusSummary(); // check for changed items and display reminder if (isset($summary->changed) && current_user_can('publish_ebay_listings')) { $msg = '<p>'; $msg .= sprintf(__('There are %s changed item(s) which need to be revised on eBay to apply their latest changes.', 'wplister'), $summary->changed); // $msg .= '<br><br>'; $msg .= ' '; $msg .= '<a id="btn_revise_all_changed_items_reminder" class="btn_revise_all_changed_items_reminder button wpl_job_button">' . __('Revise all changed items', 'wplister') . '</a>'; $msg .= '</p>'; $this->showMessage($msg); } // check for items to be relisted and display message $listing_status = isset($_REQUEST['listing_status']) ? $_REQUEST['listing_status'] : false; if (isset($summary->relist) && current_user_can('publish_ebay_listings') && $listing_status == 'relist') { $msg = '<p>'; $msg .= sprintf(__('There are %s items which are currently ended on eBay, but are in stock on your website and can be relisted.', 'wplister'), $summary->relist); // $msg .= '<br><br>'; $msg .= ' '; $msg .= '<a id="btn_relist_all_restocked_items" class="btn_relist_all_restocked_items button wpl_job_button">' . __('Relist all restocked items', 'wplister') . '</a>'; $msg .= '</p>'; $this->showMessage($msg); } // check for relisted items and display reminder if (isset($summary->relisted)) { $msg = '<p>'; $msg .= sprintf(__('There are %s manually relisted item(s) which need to be updated from eBay to fetch their latest changes.', 'wplister'), $summary->relisted); $msg .= ' '; $msg .= '<a id="btn_update_all_relisted_items_reminder" class="btn_update_all_relisted_items_reminder button wpl_job_button">' . __('Update all relisted items', 'wplister') . '</a>'; $msg .= '</p>'; $this->showMessage($msg, 2); } // get all items // $listings = WPLE_ListingQueryHelper::getAll(); //Create an instance of our package class... // $this->listingsTable = new ListingsTable(); //Fetch, prepare, sort, and filter our data... $this->listingsTable->prepare_items(); $aData = array('plugin_url' => self::$PLUGIN_URL, 'message' => $this->message, 'listingsTable' => $this->listingsTable, 'preview_html' => isset($preview_html) ? $preview_html : '', 'form_action' => 'admin.php?page=' . self::ParentMenuId); $this->display('listings_page', $aData); } }