Exemple #1
0
 public function displayEditPage()
 {
     // init model
     $profilesModel = new ProfilesModel();
     // get item
     if ($this->requestAction() == 'add_new_profile') {
         $item = $profilesModel->newItem();
     } else {
         $item = $profilesModel->getItem($_REQUEST['profile']);
     }
     // set account id
     $account_id = $item['account_id'];
     $site_id = isset($item['site_id']) ? $item['site_id'] : false;
     if (!$account_id) {
         $account_id = get_option('wplister_default_account_id');
     }
     if (!$site_id) {
         $site_id = WPLE()->accounts[$account_id]->site_id;
     }
     // get ebay data
     $payment_options = EbayPaymentModel::getAll($site_id);
     $loc_flat_shipping_options = EbayShippingModel::getAllLocal($site_id, 'flat');
     $int_flat_shipping_options = EbayShippingModel::getAllInternational($site_id, 'flat');
     $shipping_locations = EbayShippingModel::getShippingLocations($site_id);
     $exclude_locations = EbayShippingModel::getExcludeShippingLocations($site_id);
     $countries = EbayShippingModel::getEbayCountries($site_id);
     $template_files = $this->getTemplatesList();
     $store_categories = $this->getStoreCategories($account_id);
     $loc_calc_shipping_options = EbayShippingModel::getAllLocal($site_id, 'calculated');
     $int_calc_shipping_options = EbayShippingModel::getAllInternational($site_id, 'calculated');
     $available_attributes = ProductWrapper::getAttributeTaxonomies();
     // add attribute for SKU
     // $attrib = new stdClass();
     // $attrib->name = '_sku';
     // $attrib->label = 'SKU';
     // $available_attributes[] = $attrib;
     // process custom attributes
     $wpl_custom_attributes = array();
     $custom_attributes = apply_filters('wplister_custom_attributes', array());
     if (is_array($custom_attributes)) {
         foreach ($custom_attributes as $attrib) {
             $new_attribute = new stdClass();
             $new_attribute->name = $attrib['id'];
             $new_attribute->label = $attrib['label'];
             $wpl_custom_attributes[] = $new_attribute;
         }
     }
     // $available_dispatch_times     = self::getOption('DispatchTimeMaxDetails');
     // $available_shipping_packages  = self::getOption('ShippingPackageDetails');
     // $ReturnsWithinOptions         = get_option('wplister_ReturnsWithinOptions')
     $available_dispatch_times = WPLE_eBaySite::getSiteObj($site_id)->getDispatchTimeMaxDetails();
     $available_shipping_packages = WPLE_eBaySite::getSiteObj($site_id)->getShippingPackageDetails();
     $ReturnsWithinOptions = WPLE_eBaySite::getSiteObj($site_id)->getReturnsWithinOptions();
     $ShippingCostPaidByOptions = WPLE_eBaySite::getSiteObj($site_id)->getShippingCostPaidByOptions();
     $prepared_listings = WPLE_ListingQueryHelper::countItemsUsingProfile($item['profile_id'], 'prepared');
     $verified_listings = WPLE_ListingQueryHelper::countItemsUsingProfile($item['profile_id'], 'verified');
     $published_listings = WPLE_ListingQueryHelper::countItemsUsingProfile($item['profile_id'], 'published');
     $ended_listings = WPLE_ListingQueryHelper::countItemsUsingProfile($item['profile_id'], 'ended');
     $locked_listings = WPLE_ListingQueryHelper::countItemsUsingProfile($item['profile_id'], 'locked');
     // this turned out to be to ressource intensive with 10k listings:
     // $prepared_listings  = WPLE_ListingQueryHelper::getAllPreparedWithProfile( $item['profile_id'] );
     // $verified_listings  = WPLE_ListingQueryHelper::getAllVerifiedWithProfile( $item['profile_id'] );
     // $published_listings = WPLE_ListingQueryHelper::getAllPublishedWithProfile( $item['profile_id'] );
     // $ended_listings     = WPLE_ListingQueryHelper::getAllEndedWithProfile( $item['profile_id'] );
     // $locked_listings    = WPLE_ListingQueryHelper::getAllLockedWithProfile( $item['profile_id'] );
     // do we have a primary category?
     $details = $item['details'];
     if (intval($details['ebay_category_1_id']) != 0) {
         $primary_category_id = $details['ebay_category_1_id'];
     } else {
         // if not use default category
         $primary_category_id = self::getOption('default_ebay_category_id');
     }
     // fetch updated item specifics for category
     $specifics = EbayCategoriesModel::getItemSpecificsForCategory($primary_category_id, $site_id, $account_id);
     // fetch updated available conditions array
     // $item['conditions'] = $this->fetchItemConditions( $primary_category_id, $item['profile_id'], $item['account_id'] );
     $available_conditions = EbayCategoriesModel::getConditionsForCategory($primary_category_id, false, $account_id);
     // // build available conditions array
     // $available_conditions = false;
     // if ( isset( $item['conditions'][ $primary_category_id ] ) ) {
     // 	$available_conditions = $item['conditions'][ $primary_category_id ];
     // }
     // // echo "<pre>";print_r($available_conditions);echo"</pre>";
     // check if COD is available on the selected site
     $cod_available = false;
     foreach ($payment_options as $po) {
         if ('COD' == $po['payment_name']) {
             $cod_available = true;
         }
     }
     // fetch available shipping discount profiles
     $shipping_flat_profiles = array();
     $shipping_calc_profiles = array();
     $ShippingDiscountProfiles = self::getOption('ShippingDiscountProfiles', array());
     if (isset($ShippingDiscountProfiles['FlatShippingDiscount'])) {
         $shipping_flat_profiles = $ShippingDiscountProfiles['FlatShippingDiscount'];
     }
     if (isset($ShippingDiscountProfiles['CalculatedShippingDiscount'])) {
         $shipping_calc_profiles = $ShippingDiscountProfiles['CalculatedShippingDiscount'];
     }
     // echo "<pre>";print_r($shipping_flat_profiles);echo"</pre>";
     // get available seller profiles
     $seller_profiles_enabled = get_option('wplister_ebay_seller_profiles_enabled');
     $seller_shipping_profiles = get_option('wplister_ebay_seller_shipping_profiles');
     $seller_payment_profiles = get_option('wplister_ebay_seller_payment_profiles');
     $seller_return_profiles = get_option('wplister_ebay_seller_return_profiles');
     if (isset(WPLE()->accounts[$account_id])) {
         $account = WPLE()->accounts[$account_id];
         $seller_profiles_enabled = $account->seller_profiles;
         $seller_shipping_profiles = maybe_unserialize($account->shipping_profiles);
         $seller_payment_profiles = maybe_unserialize($account->payment_profiles);
         $seller_return_profiles = maybe_unserialize($account->return_profiles);
     }
     $aData = array('plugin_url' => self::$PLUGIN_URL, 'message' => $this->message, 'item' => $item, 'site_id' => $site_id, 'account_id' => $account_id, 'payment_options' => $payment_options, 'loc_flat_shipping_options' => $loc_flat_shipping_options, 'int_flat_shipping_options' => $int_flat_shipping_options, 'loc_calc_shipping_options' => $loc_calc_shipping_options, 'int_calc_shipping_options' => $int_calc_shipping_options, 'available_attributes' => $available_attributes, 'custom_attributes' => $wpl_custom_attributes, 'calc_shipping_enabled' => in_array(self::getOption('ebay_site_id'), array(0, 2, 15, 100)), 'default_ebay_category_id' => self::getOption('default_ebay_category_id'), 'shipping_locations' => $shipping_locations, 'exclude_locations' => $exclude_locations, 'countries' => $countries, 'template_files' => $template_files, 'store_categories' => $store_categories, 'prepared_listings_count' => $prepared_listings, 'verified_listings_count' => $verified_listings, 'published_listings_count' => $published_listings, 'ended_listings_count' => $ended_listings, 'locked_listings_count' => $locked_listings, 'total_listings_count' => $prepared_listings + $verified_listings + $published_listings, 'available_dispatch_times' => $available_dispatch_times, 'specifics' => $specifics, 'available_conditions' => $available_conditions, 'available_shipping_packages' => $available_shipping_packages, 'shipping_flat_profiles' => $shipping_flat_profiles, 'shipping_calc_profiles' => $shipping_calc_profiles, 'cod_available' => $cod_available, 'ReturnsWithinOptions' => $ReturnsWithinOptions, 'ShippingCostPaidByOptions' => $ShippingCostPaidByOptions, 'seller_profiles_enabled' => $seller_profiles_enabled, 'seller_shipping_profiles' => $seller_shipping_profiles, 'seller_payment_profiles' => $seller_payment_profiles, 'seller_return_profiles' => $seller_return_profiles, 'form_action' => 'admin.php?page=' . self::ParentMenuId . '-profiles');
     $this->display('profiles_edit_page', array_merge($aData, $item));
 }
Exemple #2
0
 public function loadPaymentOptions($site_id)
 {
     $sm = new EbayPaymentModel();
     $sm->downloadPaymentDetails($this->session, $site_id);
     $sm->downloadMinimumStartPrices($this->session, $site_id);
     $sm->downloadReturnPolicyDetails($this->session, $site_id);
     // set date of last update for site
     $Site = new WPLE_eBaySite($site_id);
     $Site->last_refresh = date('Y-m-d H:i:s');
     $Site->update();
 }