function lhg_scan_update_ajax() { $pid = $_REQUEST['postid']; $id = $_REQUEST['id']; $session = $_REQUEST['session']; $asinURL = $_REQUEST['asinURL']; $comment = $_REQUEST['comment']; // get image URL $pos = strpos($asinURL, "/B0"); $asin = substr($asinURL, $pos + 1, 10); if (strpos($asinURL, ".com/") > 1) { $amz_region = "com"; } if (strpos($asinURL, ".fr/") > 1) { $amz_region = "fr"; } if (strpos($asinURL, ".de/") > 1) { $amz_region = "de"; } if (strpos($asinURL, ".co.uk/") > 1) { $amz_region = "co.uk"; } $output = lhg_aws_get_price($asin, $amz_region); list($image_url_com, $product_url_com, $price_com, $product_title) = split(";;", $output); $image_url_com = str_replace("Image: ", "", $image_url_com); # update article data by ASIN data $mode = lhg_get_autocreate_mode($pid); lhg_update_tags_by_string($pid, $product_title, $mode); lhg_update_categories_by_string($pid, $product_title, $mode); lhg_update_title_by_string($pid, $product_title, $mode); if ($mode == "drive") { lhg_correct_drive_name($pid, $session); } # extract new Properties and new title coming from ASIN data $newtitle = get_the_title($pid); $posttags = get_the_tags($pid); $properties_array = array(); if ($posttags) { foreach ($posttags as $tag) { array_push($properties_array, $tag->name); #error_log("TAG: ".$tag->name); } } $properties = join(", ", $properties_array); #error_log("PID: $pid - Title: $newtitle - Prop: $properties"); // Write extracted data to DB global $lhg_price_db; $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET usercomment = %s WHERE id = %s ", $comment, $id); $result = $lhg_price_db->query($myquery); $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET url = %s WHERE id = %s ", $asinURL, $id); $result = $lhg_price_db->query($myquery); $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET imgurl = %s WHERE id = %s ", $image_url_com, $id); $result = $lhg_price_db->query($myquery); # And Store asin in WPDB $key = "amazon-product-single-asin"; $value = $asin; if (get_post_meta($pid, $key, FALSE)) { //if the custom field already has a value update_post_meta($pid, $key, $value); } else { //if the custom field doesn't have a value add_post_meta($pid, $key, $value); } $response = new WP_Ajax_Response(); $response->add(array('data' => 'success', 'supplemental' => array('text' => "Debug: {$pid} - {$id} - {$asin} - {$comment} - SID: {$session} -- END", 'imgurl' => "{$image_url_com}", 'properties' => "{$properties}", 'newtitle' => "{$newtitle}"))); $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET usercomment = %s WHERE id = %s ", $comment, $id); #$sql = "SELECT id FROM `lhgshops` WHERE region <> \"de\""; $result = $lhg_price_db->query($myquery); $response->send(); //var_dump($response); exit; //die(); }
function lhg_amazon_update_ajax() { $pid = absint($_REQUEST['post_id']); $asin = $_REQUEST['asin']; if ($asin == "" or substr($asin, 0, 5) == "00000") { # No ASIN of no valid ASIN provided - spare us the hazzle print "ASIN not valid"; print '<a id="more-image-options-link" class="thickbox more-image-options button" href="#TB_inline?width=700&height=550&inlineId=more-image-options">Show more options</a>'; die; } $output = lhg_aws_get_price($asin, "com"); list($image_url_com, $product_url_com, $price_com, $product_title, $label, $brand, $image_url_com2, $image_url_com3, $image_url_com4, $image_url_com5) = split(";;", $output); $product_title = str_replace("Title: ", "", $product_title); $output = lhg_aws_get_price($asin, "fr"); list($image_url_fr, $product_url_fr, $price_fr) = split(";;", $output); $output = lhg_aws_get_price($asin, "de"); list($image_url_de, $product_url_de, $price_de) = split(";;", $output); $image_url_com = str_replace("Image: ", "", $image_url_com); $image_url_com2 = str_replace("Image2: ", "", $image_url_com2); $image_url_com3 = str_replace("Image3: ", "", $image_url_com3); $product_url_com = str_replace("URL: ", "", $product_url_com); $price_com = str_replace("Price: ", "", $price_com); $product_url_de = str_replace("URL: ", "", $product_url_de); $price_de = str_replace("Price: ", "", $price_de); $product_url_fr = str_replace("URL: ", "", $product_url_fr); $price_fr = str_replace("Price: ", "", $price_fr); $success_image_com = $price_com != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>'; $success_image_fr = $price_fr != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>'; $success_image_de = $price_de != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>'; # #### add image to article, if icon empty # if ($image_url_com == "") { $scaled_image_url = "/wp-uploads/2013/03/noimage130.jpg"; } else { $scaled_image_url = lhg_create_article_image($image_url_com, $product_title); $si_filename = str_replace("/wp-uploads/", "", $scaled_image_url); if (!has_post_thumbnail($pid)) { $file = "/var/www/wordpress" . $scaled_image_url; #print "PID: $pid"; #print "<br>Store Thumbnail!"; #print "<br>SIURL: $scaled_image_url"; $wp_filetype = wp_check_filetype($file, null); $attachment = array('post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_title($product_title), 'post_content' => '', 'post_status' => 'inherit'); # var_dump($attachment); $attach_id = wp_insert_attachment($attachment, $si_filename, $pid); #print "AID: ".$attach_id; require_once ABSPATH . 'wp-admin/includes/image.php'; $attach_data = wp_generate_attachment_metadata($attach_id, $si_filename); wp_update_attachment_metadata($attach_id, $attach_data); set_post_thumbnail($pid, $attach_id); } } echo '<div class="amz-ajax-image"><a href="' . $product_url_com . '"><img src="' . $scaled_image_url . '"/></a>'; print '<a id="more-image-options-link" class="thickbox more-image-options button" href="#TB_inline?width=700&height=550&inlineId=more-image-options">Show more options</a>'; echo '</div>'; echo ' <div class="ajax-amazon-table"> <table ><tr> <td>Region</td> <td>status</td> <td>Price</td> <td> URL </td> </tr> <td>com</td> <td><span class="amz-ajax-return">' . $success_image_com . '</span></td> <td> ' . $price_com . '</td> <td> '; if ($product_url_com != "") { print '(<a href="' . $product_url_com . '">visit</a>)'; } print '</td> </tr> </tr> <td>fr</td> <td><span class="amz-ajax-return">' . $success_image_fr . '</span></td> <td> ' . $price_fr . '</td> <td> '; if ($product_url_fr != "") { print '(<a href="' . $product_url_fr . '">visit</a>)'; } print '</td> </tr> </tr> <td>de</td> <td><span class="amz-ajax-return">' . $success_image_de . '</span></td> <td> ' . $price_de . '</td> <td>'; if ($product_url_de != "") { print '(<a href="' . $product_url_de . '">visit</a>)'; } print '</td> </tr> </table> </div>'; // exchange images in Amazon image selector popup print ' <script type="text/javascript"> /* <![CDATA[ */ jQuery(document).ready( function($) { '; if ($image_url_com != "") { print ' $("#imgsrc-1").attr("src","' . $image_url_com . '");'; } else { print ' $("#imgsel-1").hide();'; } if ($image_url_com2 != "") { print ' $("#imgsrc-2").attr("src","' . $image_url_com2 . '");'; } else { print ' $("#imgsel-2").hide();'; } if ($image_url_com3 != "") { print ' $("#imgsrc-3").attr("src","' . $image_url_com3 . '");'; } else { print ' $("#imgsel-3").hide();'; } if ($image_url_com4 != "") { print ' $("#imgsrc-4").attr("src","' . $image_url_com4 . '");'; } else { print ' $("#imgsel-4").hide();'; } #error_log(' $("#imgsrc-2").attr("src","'.$image_url_com2.'");'); print ' }); /*]]> */ </script>'; die; }
function lhg_amazon_finder_ajax() { #global $lhg_amazon_title; #stores the title received from AMAZON $search_region = "com"; #which AMAZON server to ask $pid = absint($_REQUEST['pid']); $id = absint($_REQUEST['id']); $session = $_REQUEST['session']; # type is identified by article category # i.e. "cpu", "mainboard",... $type = lhg_get_autocreate_mode($pid); #error_log("Type: $type"); if ($type == "") { $type = "drive"; } #ToDo: set correct type #$type = "cpu"; #$output = lhg_aws_get_price($asin,"com"); #list($image_url_com, $product_url_com, $price_com , $product_title) = split(";;",$output); #print "Search results for TITLE HERE<br>..."; #print "PID: $pid - ID: $id - Session: $session<br>"; $title = get_the_title($pid); # drive titles are sometimes shortened -> repair them if ($type == "drive") { $searchstring = lhg_search_string_from_drive_title($title, $session); $title_mod = str_replace(" ", "__", $searchstring); } if ($type == "cpu") { $title_mod = str_replace(" ", "__", $title); } $tmp = explode("(", $title_mod); #$title_mod = $tmp[0]; #error_log("Tit: $title_mod"); $returnarray = lhg_amazon_search_by_title($title_mod, $search_region); #var_dump($returnarray); if (isset($returnarray[0])) { $asin1 = $returnarray[0]; } if (isset($returnarray[1])) { $title1 = $returnarray[1]; } if (isset($returnarray[2])) { $asin2 = $returnarray[2]; } if (isset($returnarray[3])) { $title2 = $returnarray[3]; } if (isset($returnarray[4])) { $asin3 = $returnarray[4]; } if (isset($returnarray[5])) { $title3 = $returnarray[5]; } $output1 = lhg_aws_get_price($asin1, $search_region); $output2 = lhg_aws_get_price($asin2, $search_region); $output3 = lhg_aws_get_price($asin3, $search_region); #var_dump($output1); list($image_url_com1, $product_url_com1, $price_com1, $product_title) = split(";;", $output1); list($image_url_com2, $product_url_com2, $price_com2, $product_title) = split(";;", $output2); list($image_url_com3, $product_url_com3, $price_com3, $product_title) = split(";;", $output3); $image_url_com1 = str_replace("Image: ", "", $image_url_com1); $image_url_com2 = str_replace("Image: ", "", $image_url_com2); $image_url_com3 = str_replace("Image: ", "", $image_url_com3); $product_url_com1 = str_replace("URL: ", "", $product_url_com1); $product_url_com2 = str_replace("URL: ", "", $product_url_com2); $product_url_com3 = str_replace("URL: ", "", $product_url_com3); $price_com1 = str_replace("Price: ", "", $price_com1); $price_com2 = str_replace("Price: ", "", $price_com2); $price_com3 = str_replace("Price: ", "", $price_com3); #, $title1, $asin2, $title2, $asin3, $title3) = $returnarray; print "\n <input type=\"hidden\" id=\"PID-{$id}\" value=\"{$pid}\">\n<table id=\"amazon-finder-{$id}\">\n"; # <tr> # <td>Image</td> # <td>Title</td> # <td>Price</td> # <td>ASIN</td> # <td>select</td> # </tr> print "<tr><td><a href=\"{$product_url_com1}\"><img src=\"{$image_url_com1}\" width=\"100\"></a></td><td>{$title1}\n <br>Price: {$price_com1}<br>ASIN: {$asin1}</td>\n<td>\n <input type=\"hidden\" id=\"ASIN1-{$id}\" value=\"{$asin1}\">\n <input type=\"hidden\" id=\"IMGURL1-{$id}\" value=\"{$image_url_com1}\">\n <input type=\"hidden\" id=\"PRODURL1-{$id}\" value=\"{$product_url_com1}\">\n <input type=\"hidden\" id=\"TITLE1-{$id}\" value=\"{$title1}\">\n <a href=\"\" id=\"autocreate-1-{$id}\">select</a>\n</td></tr>"; #, $title1<br>"; if ($asin2 != "") { print "<tr><td><a href=\"{$product_url_com2}\"><img src=\"{$image_url_com2}\" width=\"100\"></a></td><td>{$title2}\n\t\t<br>Price: {$price_com2}<br>ASIN: {$asin2}</td>\n\n<td>\n <input type=\"hidden\" id=\"ASIN2-{$id}\" value=\"{$asin2}\">\n <input type=\"hidden\" id=\"IMGURL2-{$id}\" value=\"{$image_url_com2}\">\n <input type=\"hidden\" id=\"PRODURL2-{$id}\" value=\"{$product_url_com2}\">\n <input type=\"hidden\" id=\"TITLE2-{$id}\" value=\"{$title2}\">\n <a href=\"\" id=\"autocreate-2-{$id}\">select</a>\n</td></tr>"; } #, $title1<br>"; if ($asin2 != "") { print "<tr><td><a href=\"{$product_url_com3}\"><img src=\"{$image_url_com3}\" width=\"100\"></a></td><td>{$title3}\n<br>Price: {$price_com3}<br>ASIN: {$asin3}</td>\n\n<td>\n <input type=\"hidden\" id=\"ASIN3-{$id}\" value=\"{$asin3}\">\n <input type=\"hidden\" id=\"IMGURL3-{$id}\" value=\"{$image_url_com3}\">\n <input type=\"hidden\" id=\"PRODURL3-{$id}\" value=\"{$product_url_com3}\">\n <input type=\"hidden\" id=\"TITLE3-{$id}\" value=\"{$title3}\">\n <a href=\"\" id=\"autocreate-3-{$id}\">select</a>\n</td></tr>"; } #, $title1<br>"; #print "ASIN2: $asin2, $title2<br>"; #print "ASIN3: $asin3, $title3<br>"; #print "Searchresult: $result<br>"; print "</table>"; die; }