(time() - 60 * 24 ))) $wishListURL = $cache_file; else $update = 1; } echo $wishListHTML; $wishListHTML = @file_get_html($wishListURL); if(!$wishListHTML) return 'Invalid ListID ' . $listID .' for amazon.' . $website; if($update == 1) file_put_contents($cache_file, $wishListHTML, LOCK_EX); $template = get_option('Amazon-wishlist-pro-layout'); $output = ''; foreach($wishListHTML->find('.itemWrapper') as $element) { $item = getItemInfo($element); if(get_option('Amazon-wishlist-pro-use-unsorted-list')) $output .= '
  • '; $output .= strtr($template, $item); if(get_option('Amazon-wishlist-pro-use-unsorted-list')) $output .= '
  • '; } if(trim($output) != '') { if(get_option('Amazon-wishlist-pro-use-unsorted-list')) $output = ''; } return $output; } function getItemInfo($node) { $price = utf8_encode($node->find('span.wlPriceBold',0)->plaintext); $image = $node->find('img',0)->src; $buyLink = $node->find('.wlBuyButton a',0)->href; $title = trim($node->find('span.productTitle',0)->plaintext); $productLink = $node->find('span.productTitle strong a',0)->href; $info = array( '@price@' => $price, '@image_src@' => $image, '@buy_href@' => $buyLink, '@title@' => $title, '@product_href@' => $productLink ); return $info; } function defaultTemplate() { $html = '@title@
    @price@     buy it

    '; return $html; } function amazonWebsites() { $websites = array( 'co.uk' => 'amazon.co.uk', 'com' => 'amazon.com', 'de' => 'amazon.de', 'at' => 'amazon.at', 'fr' => 'amazon.fr', 'co.jp' => 'amazon.co.jp', 'ca' => 'amazon.ca', 'es' => 'amazon.es', 'cn' => 'amazon.cn', 'it' => 'amazon.it', ); return $websites; } if ( is_admin() ) { /* Call the html code */ add_action('admin_menu', 'Amazon_wishlist_admin_menu'); function Amazon_wishlist_admin_menu() { add_options_page('Amazon Wishlist PRO', 'Amazon Wishlist PRO', 'administrator', 'Amazon-wishlist-PRO', 'Amazon_wishlist_pro_admin_page'); } } function getSortOrder() { $order = array( 'date-added' => 'Date Added', 'universal-title' => 'Title', 'universal-price' => 'Price (Low to High)', 'universal-price-desc' => 'Price (High to Low)', 'last-updated' => 'Last Updated', 'priority' => 'Priority (High to Low)', ); return $order; } function Amazon_wishlist_pro_admin_page() { $html = <<

    Amazon Wishlist PRO - Options

    Instructions

    Update the settings according your amazon website(.com .co.uk ...) and activate the Amazon wishlist PRO widget.

    Settings

    EOHTML; $html .= wp_nonce_field('update-options'); $html .= << Your Amazon Wishlist ID. Website. EOHTML; foreach(getSortOrder() as $key => $title) { $selected = ''; if(get_option('Amazon-wishlist-pro-sort-order') == $key) $selected = 'selected="selected"'; $html .= ''; } $html .= << Use file cache Use unsroted list(ul li). Layout. Available information:
    @price@ => Item price
    @image_src@ => Link for item image
    @buy_href@ => Add to cart link
    @title@ => Item Title
    @product_href@ => Item Link



    Your Wishlist Preview

    EOHTML; $html .= Amazon_wishlist_pro(); $hmtml .= <<
    EOHTML; echo $html; } register_activation_hook(__FILE__,'Amazon_wishlist_pro_install'); register_deactivation_hook( __FILE__, 'Amazon_wishlist_pro_remove' ); function Amazon_wishlist_pro_install() { $default = defaultTemplate(); add_option("Amazon-wishlist-pro-listID", '33CTCD8ASA7FH', '', 'yes'); add_option("Amazon-wishlist-pro-sort-order", 'date-added', '', 'yes'); add_option("Amazon-wishlist-pro-layout", $default , '', 'yes'); add_option("Amazon-wishlist-pro-websites", 'co.uk' , '', 'yes'); add_option("Amazon-wishlist-pro-use-unsorted-list", '1' , '', 'yes'); add_option("Amazon-wishlist-pro-use-cache", '1' , '', 'yes'); } function Amazon_wishlist_pro_remove() { delete_option('Amazon-wishlist-pro-listID'); delete_option('Amazon-wishlist-pro-sort-order'); delete_option('Amazon-wishlist-pro-layout'); delete_option('Amazon-wishlist-pro-websites'); delete_option('Amazon-wishlist-pro-use-unsorted-list'); delete_option('Amazon-wishlist-pro-use-cache'); } class AWL_Widget extends WP_Widget { function AWL_Widget() { parent::WP_Widget( false, $name = 'Amazon Wishlist PRO Widget' ); } function widget( $args, $instance ) { extract( $args ); $title = apply_filters( 'widget_title', $instance['title'] ); ?>