<?php
/**
* RssBridgeHumbleStoreDiscount
* Returns the 10 first sales from the Humble Store
* Enjoy your indie games :)
*
* @name Humble Store Discount Bridge
* @homepage https://www.humblebundle.com/store
* @description Returns the 10 first sales from the Humble Store
* @maintainer 16mhz
* @update 2014-07-18
*/
class HumbleStoreDiscountBridge extends BridgeAbstract{

    public function collectData(array $param){

        $result = file_get_html('https://www.humblebundle.com/store/api?request=2&page_size=20&sort=discount&page=0')
                or $this->returnError('Could not request the Humble Store.', 404);
        $string = json_decode($result, true);
        $items = $string['results'];
        $store_link = 'https://www.humblebundle.com/store/p/';
        $limit = 0;

        foreach ($items as $key => $value) {
            if ($limit < 10) {
                $new_price = $value['current_price'][0] . ' ' . $value['current_price'][1];
                $full_price = $value['full_price'][0] . ' ' . $value['full_price'][1];
                $product_name = $value['human_name'];
                $product_uri = $store_link . $value['machine_name'];
                $platforms = str_replace('\'', '', implode("','", $value['platforms']));
                $delivery_methods = str_replace('\'', '', implode("','", $value['delivery_methods']));
                $thumbnail = 'https://www.humblebundle.com' . $value['storefront_featured_image_small'];

                $content = '<img src="' . $thumbnail . '" alt="' . $value['storefront_featured_image_small'] . '"><br/><br/><b>' . $product_name
                    . '</b><br/><br/><b>Current price:</b> ' . $new_price . '<br/><b>Full price:</b> ' . $full_price
                    . '<br/><b>Developer:</b> ' . $value['developer_name'] . '<br/><b>Delivery methods:</b> ' . $delivery_methods
                    . '<br/><b>Platforms:</b> ' . $platforms . '<br/>' . $value['description'];

                $item = new \Item();
                $item->title = $product_name . ' - ' . $new_price;
                $item->uri = $product_uri;
                $item->content = $content;
                $this->items[] = $item;
                $limit++;
            }
        }
    }

    public function getName(){
        return 'HumbleStoreDiscount';
    }

    public function getURI(){
        return 'https://www.humblebundle.com/store';
    }

    public function getCacheDuration(){
        return 21600; // 6 hours
    }
}