PHP Classes

File: src/php/Netcrash/Groupon/example/exampleusage.php

Recommend this page to a friend!
  Classes of Fernando André   Groupon API Client   src/php/Netcrash/Groupon/example/exampleusage.php   Download  
File: src/php/Netcrash/Groupon/example/exampleusage.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Groupon API Client
Get deal information from Groupon using its API
Author: By
Last change: Update of src/php/Netcrash/Groupon/example/exampleusage.php
Date: 2 months ago
Size: 3,618 bytes
 

Contents

Class file image Download
<?php

/**
 * Copyright (c) 2011 Fernando Ribeiro
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the
 * distribution.
 *
 * * Neither the names of the copyright holders nor the names of the
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package Netcrash
 * @subpackage Groupon
 * @author Fernando Andre <netriver+GrouponApi at gmail dit com>
 * @copyright 2011 Fernando Ribeiro http://netcrash.wordpress.com
 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
 * @link
 * @version @@PACKAGE_VERSION@@
 */


require '__autoload.php';

$api = new \Netcrash\Groupon\apiClient();

// 41,17567, -8,58766 --- groupon of map location
$wc = new \Netcrash\Groupon\DataObject\WebClient();
$wc->setIP('178.166.91.82'); // use a real IP
$wc->setLat(41,17567)->setLng(-8,58766);

// Your token here!
$api->setToken("API_KEY");
// Only tested with version 2
$api->setVersion(2);

// Webclient is the user for witch the request is being made
// your website user it's from here it's used the location lat and long
// values
$api->setWebClient($wc);

// Good for dev testing
$api->setDriver(new \Netcrash\Groupon\ApiQuery\Driver\GTest());

print
"Getting list of divisions:\n";
$a = $api->getDivisions();

if (
is_object($a)) {
    foreach (
$a as $Obj) {
        print
$Obj->getId().PHP_EOL;
    }
   
/*
     * also a division can be specified by using
      *
     * $div = new \Groupon\DataObject\Division();
     * $div->setId("something");
     *
     */

   
$api->setDivision($Obj);
}

$a = null;

print
"GETTING DEALS\n";
$a = $api->getDeals();
print
$api->getDriver()->getUrl() . PHP_EOL;
if (
is_object($a)) {
    foreach (
$a as $Obj) {
        print
$Obj->getId() . ($Obj->isSoldOut() ? " sold out..." : " Available! ") . PHP_EOL;
    }
}

print
"DETAIL\n";
$a = null;
try {
   
$a = $api->getDealById($Obj->getId());
    print
$a->getTitle() . ", " .
           
$a->getId() . " -- " . $a->getSoldQuantity()
            .
PHP_EOL;
   
$o = $a->getOptions();
    if (
$o->count() > 0 ) {
        print
"list of details:\n";
        foreach (
$o as $detail ) {
            print
$a->getId() . " <- " . $detail->getDiscountPercent() . PHP_EOL;
        }
    }
} catch (
Exception $e) {
    print
$e->getMessage()."\n";
    print
$api->getDriver()->getUrl() . PHP_EOL;
}

print
$api->getDriver()->getUrl() . PHP_EOL;