public function getCategoryFeatures() { global $argv; try { if (isset($argv[2])) { $this->setAccount(1); $this->configEbay($argv[2]); $categorySiteID = $argv[2]; } else { $this->setAccount(1); $this->configEbay(); $categorySiteID = 0; } $client = new eBaySOAP($this->session); $DetailLevel = 'ReturnAll'; $Version = $this->version; //$FeatureID = 'ListingDurations'; $FeatureID = array('ConditionEnabled', 'ConditionValues'); $params = array('DetailLevel' => $DetailLevel, 'Version' => $Version, 'FeatureID' => $FeatureID, ' ViewAllNodes' => true); if (!empty($argv[3])) { $params['CategoryID'] = $argv[3]; } $results = $client->GetCategoryFeatures($params); print_r($results); /* print_r($results->SiteDefaults->ListingDuration); foreach($results->SiteDefaults->ListingDuration as $listingDurationType){ $sql = "insert into listing_duration_type (id,name) values ('".$listingDurationType->_."','".$listingDurationType->type."')"; echo $sql; echo "<br>"; $result = mysql_query($sql, eBayListing::$database_connect); } print_r($results->FeatureDefinitions->ListingDurations); foreach($results->FeatureDefinitions->ListingDurations->ListingDuration as $listingDuration){ foreach($listingDuration->Duration as $duration){ $sql = "insert into listing_duration (id,name,version) values ('".$listingDuration->durationSetID."','".$duration."','".$results->FeatureDefinitions->ListingDurations->Version."')"; echo $sql; echo "<br>"; $result = mysql_query($sql, eBayListing::$database_connect); } } */ /* CREATE TABLE `category_condition` ( `site_id` INT NOT NULL , `category_id` INT NOT NULL , `condition_id` INT NOT NULL , `condition_display_name` VARCHAR( 30 ) NOT NULL , `condition_help_url` VARCHAR( 90 ) NOT NULL , INDEX ( `site_id` , `category_id` ) ); ALTER TABLE `categories` ADD `ConditionEnabled` VARCHAR( 19 ); */ if (empty($argv[3])) { $sql_1 = "delete from category_condition where site_id = " . $categorySiteID; echo $sql_1 . "\n"; $result_1 = mysql_query($sql_1, eBayListing::$database_connect); } //sleep(6); //file_put_contents("/tmp/getCategoryFeatures.txt", print_r($results, true)); //exit; foreach ($results->Category as $Category) { //echo $Category->CategoryID."\n"; //echo $Category->ConditionEnabled."\n"; //echo $xml->ConditionHelpURL."\n"; /* $xml = simplexml_load_string($Category->any); //print_r($xml); if(preg_match('/<ConditionEnabled>.*?<\/ConditionEnabled>/', $Category->any, $matches)){ //print_r($matches); if(strpos($matches[0], "Disabled")){ $ConditionEnabled = "Disabled"; }elseif(strpos($matches[0], "Enabled")){ $ConditionEnabled = "Enabled"; }elseif(strpos($matches[0], "Required")){ $ConditionEnabled = "Required"; } $sql = "update categories set ConditionEnabled = '".$ConditionEnabled."' where CategorySiteID = ".$categorySiteID." and CategoryID = ".$Category->CategoryID; echo $sql."\n"; $result = mysql_query($sql, eBayListing::$database_connect); } //print_r($xml); foreach($xml->Condition as $x){ //echo $x->ID."\n"; //echo $x->DisplayName."\n"; $sql_1 = "insert into category_condition (site_id,category_id,condition_id,condition_display_name,condition_help_url) values ('".$categorySiteID."','".$Category->CategoryID."','".$x->ID."','".$x->DisplayName."','".$xml->ConditionHelpURL."')"; echo $sql_1."\n"; $result_1 = mysql_query($sql_1, eBayListing::$database_connect); $sql_2 = "update categories set ConditionEnabled = 'Enabled' where CategorySiteID = ".$categorySiteID." and CategoryID = ".$Category->CategoryID; echo $sql_2."\n"; $result_2 = mysql_query($sql_2, eBayListing::$database_connect); } */ $sql = "update categories set ConditionEnabled = '" . $Category->ConditionEnabled . "' where CategorySiteID = " . $categorySiteID . " and CategoryID = " . $Category->CategoryID; //echo $sql."\n"; $result = mysql_query($sql, eBayListing::$database_connect); foreach ($Category->ConditionValues->Condition as $Condition) { $sql_1 = "insert into category_condition (site_id,category_id,condition_id,condition_display_name,condition_help_url) values \n ('" . $categorySiteID . "','" . $Category->CategoryID . "','" . $Condition->ID . "','" . $Condition->DisplayName . "','" . $Category->ConditionValues->ConditionHelpURL . "')"; echo $sql_1 . "\n"; //$result_1 = mysql_query($sql_1, eBayListing::$database_connect); //exit; } } if (!empty($results->SiteDefaults)) { echo $results->SiteDefaults->any; } //print_r($results->SiteDefaults); //---------- debug -------------------------------- //print "Request: \n".$client->__getLastRequest() ."\n"; //print "Response: \n".$client->__getLastResponse()."\n"; $this->saveFetchData("getCategoryFeatures-" . $categorySiteID . ".xml", $client->__getLastResponse()); } catch (SOAPFault $f) { print $f; // error handling } }