/**
  * @return GetCategoryFeaturesResponseType
  * @param GetCategoryFeaturesRequestType $request 
  */
 function GetCategoryFeatures($request)
 {
     $request->setVersion(EBAY_WSDL_VERSION);
     return $this->call('GetCategoryFeatures', $request);
 }
Esempio n. 2
0
 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);
 }