<?php
echo "00";
set_time_limit(0);
ini_set('memory_limit', '-1');
require_once("includes/config.php");
//require_once("includes/sendgrid/sendgrid-php.php");
require_once("includes/etsyv3/vendor/autoload.php");
 echo "1";
 use OAuth\Client;


 $api_key = $etsyConfig['api_key'];
 $api_secret = $etsyConfig['api_secret'];    
 $user_id = 561;
 $etsyResult = $conn->query("SELECT * FROM `etsy_keys` where user_id = 561");
 if($etsyResult->num_rows == 0) {
	return "No valid Etsy keys found!";
 }
 $etsyRow = $etsyResult->fetch_assoc();     
  $oauth_token = $etsyRow['oauth_token'];
 $oauth_token_secret = $etsyRow['oauth_token_secret'];
    $access_token = $etsyRow['access_token'];
    $refresh_token = $etsyRow['refresh_token'];
    $shoid = $etsyRow['shop_id'];
    echo $refresh_token;
	$listing_id = 1130521901;
	$api_key = $etsyConfig['api_key'];
    $listingData = array();
    $string = "'sugilite kette frauen, damenschmuck, teure edle kette, weihnachtsgeschenk, hochwertiger schmuck, seltene edelsteinkette, lila violett purpur, afrikanischer opal, Goa Hippie Boho Schmuck, tribal ethno tibet indian, Energie chakra Meditation, Frau Mann Geschenk Geburstag, Kristalle Edelsteine natürlich'";

    $explodedArray = explode(', ', $string); // Split the string into an array using the delimiter
    $tags = implode(', ', $explodedArray); // Concatenate the array elements using the delimiter
    
    //$tags = implode(",",array_unique($tagArr));
    $listingData = array(
        'quantity' => 4,
        'title'=> 'Schwarzer Turmalin (Schörl) ~ Edelstein Ohrringe ~GOA ~Hippie ~Boho ~Ethno ~Nature ~Heilstein ~Natur ~Ohrhänger ~Edelstahl ~Rarität',
        'description'=>'Hier eine ganz neue Kreation von uns ~schwarzer Turmalin~ Edelstein Ohrringe mit goldenen Zwischenperlen. (Gerne kann alles zu Silbernem Material umgewandelt werden - siehe Kaufoption)

        Unser Turmalin hat A Qualität, er ist also glänzend tiefschwarz! ;-)
        
        Dieses Paar ist ein Beispielbild, du erhälst also ggf nichtmehr das abgebildete Produkt, doch bei jedem Paar werden sorgfältig schöne Perlen ausgesucht!
        
        Es wurde hochwertiger 304 Edelstahl verwendet! (Um eine höhere Qualität zu gewähren als bisherig verwendetes Bronze Messing)
        
        Länge der Ohrringe: ca 4,7cm
        
        -Natürliche Edelsteine in super Qualität!
        -Handarbeit aus Berlin!
        -Reperaturgarantie!
        -Handwerk mit Leidenschaft! :)
        
        
        
        Wir wünschen viel Freude beim rumstöbern in unserem Shop, wenn dir gefällt was du siehst, würden wir uns sehr freuen wenn du uns hier folgen würdest :)
        
        "Ein Stein ist die verdichtete Geschichte des Universums"
        
        ~Art of Nature Berlin~',
        'price'=> 14.99,
        "shipping_profile_id" => 58234838796,
        "tags"=>'hochwertige goldene ohrhänger, süße perlen ohrringe, 304 edelstahl silber gold, schörl schwarz glänzend edel, Goa Hippie Boho Schmuck, tribal ethno tibet indian, Energie chakra Meditation, Frau Mann Geschenk Geburstag, freund vater mutter bruder, Handarbeit germany berlin love, Art of Nature original baum, schön süß bunt perlen stein, Kristalle Edelsteine natürlich',
        "state"=>'active',
        "shop_section_id"=>25147342,
        "materials"=>"",
        "who_made"=>"i_did",
        "is_supply"=>false,
        "when_made"=>"2010_2019",
        "taxonomy_id"=>1633
      
    );
    
    // Convert the payload to JSON
    $json_data = json_encode($listingData);
    
    // Prepare the API endpoint
    $url = "https://openapi.etsy.com/v3/application/shops/{$shoid}/listings";
    
    // Set the headers
    $headers = array(
        'Authorization: Bearer ' . $access_token,
        "x-api-key: " . $api_key,
        'Content-Type: application/json'
    );
    $result = getres($url,$json_data,$headers);
    $r = json_decode($result);
    if (isset($r->error) && $r->error == 'invalid_token') {
        $client = new Etsy\OAuth\Client($api_key);
        $refreshTokenArray = $client->refreshAccessToken($refresh_token);
        if (isset($refreshTokenArray->access_token)) {
            $access_token = $refreshTokenArray->access_token;
            $refresh_token = $refreshTokenArray->refresh_token;
            $conn->query("update etsy_keys set access_token = '" . mysqli_real_escape_string($conn, $access_token) . "',refresh_token = '" . mysqli_real_escape_string($conn, $refresh_token) . "', updated_at = now() where user_id = " . $user_id);
            $url = "https://openapi.etsy.com/v3/application/shops/{$shoid}/listings";
    
            // Set the headers
            $headers = array(
                'Authorization: Bearer ' . $access_token,
                "x-api-key: " . $api_key,
                'Content-Type: application/json'
            );
            $result = getres($url,$json_data,$headers);
           $r = json_decode($result);
        }
    } 

    print_r($r);
    // Initialize cURL
    function getres($url,$json_data,$headers){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    // Execute the request
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    // Close cURL
    curl_close($ch);
    
    // Check the response
    if ($httpCode == 200) {
        echo 'Inventory updated successfully.';
    } else {
        echo 'Failed to update inventory. Response: ' . $response;
    }
  return $response;    
}

    



?>