Beispiel #1
0
 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;
 }
Beispiel #2
0
 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 .= '&nbsp;&nbsp;';
             $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 .= '&nbsp;&nbsp;';
             $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 .= '&nbsp;&nbsp;';
             $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);
     }
 }