/** * @return GetCategoryFeaturesResponseType * @param GetCategoryFeaturesRequestType $request */ function GetCategoryFeatures($request) { $request->setVersion(EBAY_WSDL_VERSION); return $this->call('GetCategoryFeatures', $request); }
function fetchCategoryConditions($session, $category_id, $site_id) { // adjust Site if required - eBay Motors (beta) $test_site_id = $site_id == 0 ? 100 : $site_id; $primary_category = $this->getItem($category_id, $test_site_id); WPLE()->logger->info("fetchCategoryConditions( {$category_id}, {$test_site_id} ) primary_category: " . print_r($primary_category, 1)); if ($primary_category && $primary_category['site_id'] == 100) { $session->setSiteId(100); $site_id = 100; } $this->initServiceProxy($session); // download store categories $req = new GetCategoryFeaturesRequestType(); $req->setCategoryID($category_id); $req->setDetailLevel('ReturnAll'); $res = $this->_cs->GetCategoryFeatures($req); WPLE()->logger->info('fetchCategoryConditions() for category ID ' . $category_id); // WPLE()->logger->info('fetchCategoryConditions: '.print_r($res,1)); // $conditions as array // if (!isset($res->Category[0]->ConditionValues->Condition)) return null; if (count($res->Category[0]->ConditionValues->Condition) > 0) { foreach ($res->Category[0]->ConditionValues->Condition as $Condition) { $conditions[$Condition->ID] = $Condition->DisplayName; } } WPLE()->logger->info('fetchCategoryConditions: ' . print_r($conditions, 1)); if (!is_array($conditions)) { $conditions = 'none'; } // build features object $features = new stdClass(); $features->conditions = $conditions; // store result in ebay_categories table global $wpdb; $data = array(); $data['features'] = serialize($features); // $data['last_updated'] = date('Y-m-d H:i:s'); // will be updated when storing item specifics $wpdb->update($wpdb->prefix . self::table, $data, array('cat_id' => $category_id, 'site_id' => $session->getSiteId())); WPLE()->logger->info('category features / conditions were stored...' . $wpdb->last_error); // legacy return format return array($category_id => $conditions); }