Esempio n. 1
0
 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
     }
 }