$order = $orderRepLsm->getResponseContent();
if (!$order || (int) $orderRepLsm->getResponseStatus() != 200) {
    Util::getTemplate('500.php');
    return;
}
//update the tracking number
$order->trackingNumber = "1z555555555";
//parse entry
if (isset($_REQUEST['entry'])) {
    $entry = ApiLinks::decodeHateoasLink($_REQUEST['entry']);
} else {
    $entry = LSM_API_ENDPOINT . "order/ship";
}
//ensure we have a request to create
$lsm = new LsmCurl();
$lsm->setEndpoint($entry);
$lsm->usePost();
//send the request
$lsm->setParameters($order);
$lsm->sendRequest();
$response = $lsm->getResponseContent();
$status = (int) $lsm->getResponseStatus();
if (!$response || $status < 200 || $status > 204 || @(!$response->isSuccess)) {
    Util::getTemplate('500.php');
    return;
}
Util::getHeader();
if (DEBUG_API_CALLS) {
    echo "<pre class='debug'>";
    var_dump($response);
    echo "</pre>";
<?php

/**
 * Processes request to add partner
 */
if (Auth::isAuthenticated()) {
    Util::getTemplate('index.php');
    return;
}
//ensure we have a request to create
if (!isset($_REQUEST['partnerName'], $_REQUEST['contactName'], $_REQUEST['email'], $_REQUEST['password'], $_REQUEST['phone'], $_REQUEST['line1'], $_REQUEST['line2'], $_REQUEST['line3'], $_REQUEST['city'], $_REQUEST['state'], $_REQUEST['country'], $_REQUEST['zip'])) {
    Util::getTemplate('partner.create.php');
    return;
}
$lsm = new LsmCurl();
$lsm->setEndpoint(LSM_API_ENDPOINT . "partner");
$lsm->usePut();
//build the request
$partner = new StdClass();
$partner->email = $_REQUEST['email'];
$partner->phone = $_REQUEST['phone'];
$partner->contactName = $_REQUEST['contactName'];
$partner->partnerName = $_REQUEST['partnerName'];
$partner->password = md5($_REQUEST['password']);
$partner->line1 = $_REQUEST['line1'];
$partner->line2 = $_REQUEST['line2'];
$partner->line3 = $_REQUEST['line3'];
$partner->city = $_REQUEST['city'];
$partner->state = $_REQUEST['state'];
$partner->country = $_REQUEST['country'];
$partner->zip = $_REQUEST['zip'];
//if already auth, get out of here
if (Auth::isAuthenticated()) {
    Util::getTemplate('index.php');
    return;
}
//ensure user submitted credentials
if (!isset($_POST['email'], $_POST['password'])) {
    Util::getTemplate('login.php');
    return;
}
//add credentials to session
Auth::authenticate($_POST['email'], $_POST['password']);
//test credentials
$lsm = new LsmCurl(false);
//force debug mode off
$lsm->setEndpoint(LSM_API_ENDPOINT . "authenticate/customer");
//change to /authenticate, or /authenticate/customer accordingly
$lsm->useGet();
//send the request
$lsm->sendRequest();
$status = (int) $lsm->getResponseStatus();
$response = $lsm->getResponseContent();
if (!$response) {
    Auth::destroySession();
    Auth::startSession();
    Util::getTemplate('500.php');
    return;
}
if ($status < 200 || $status > 204 || @(!$response->isSuccess)) {
    //error validating
    Auth::destroySession();
<?php

/**
 * Displays product search results
 */
if (!Auth::isAuthenticated()) {
    Util::getTemplate('login.php');
    return;
}
//force a search query
if (!isset($_REQUEST['q']) || empty($_REQUEST['q'])) {
    Util::getTemplate('index.php');
    return;
}
$lsm = new LsmCurl();
$lsm->setEndpoint(LSM_API_ENDPOINT . "products/" . $_REQUEST['q']);
$lsm->useGet();
$lsm->sendRequest();
$products = $lsm->getResponseContent();
$status = (int) $lsm->getResponseStatus();
if ($status < 200 || $status > 204) {
    Util::getTemplate('500.php');
    return;
}
Util::getHeader();
?>
    
    <!-- Page Heading -->
    <div class="row">
        <div class="col-lg-12">
            <h1 class="page-header">Products
} else {
    $entry = LSM_API_ENDPOINT . "order/" . $_REQUEST['q'];
}
$lsm = new LsmCurl();
$lsm->setEndpoint($entry);
$lsm->useGet();
$lsm->sendRequest();
$order = $lsm->getResponseContent();
if (!$order || (int) $lsm->getResponseStatus() != 200) {
    Util::getTemplate('500.php');
    return;
}
//get product details
$productEntry = LSM_API_ENDPOINT . "product-by-id/" . $order->productID;
$productLsm = new LsmCurl();
$productLsm->setEndpoint($productEntry);
$productLsm->useGet();
$productLsm->sendRequest();
$product = $productLsm->getResponseContent();
if (!$product || (int) $productLsm->getResponseStatus() != 200) {
    Util::getTemplate('500.php');
    return;
}
Util::getHeader();
if (DEBUG_API_CALLS) {
    echo "<pre class='debug'>";
    var_dump($order);
    echo "</pre>";
    echo "<pre class='debug'>";
    var_dump($product);
    echo "</pre>";
/**
 * @todo
 * This template is used for viewing a product review
 */
if (!Auth::isAuthenticated()) {
    Util::getTemplate('login.php');
    return;
}
//ensure we know what we're creating a review for
if (!isset($_REQUEST['q'], $_REQUEST['entry']) || empty($_REQUEST['q']) || empty($_REQUEST['entry'])) {
    Util::getTemplate('products.search.php');
    return;
}
$lsm = new LsmCurl();
$lsm->setEndpoint(ApiLinks::decodeHateoasLink($_REQUEST['entry']));
$lsm->useGet();
$lsm->sendRequest();
$reviews = $lsm->getResponseContent();
if ((int) $lsm->getResponseStatus() != 200) {
    Util::getTemplate('500.php');
    return;
}
Util::getHeader();
if (DEBUG_API_CALLS) {
    echo "<pre class='debug'>";
    var_dump($reviews);
    echo "</pre>";
}
?>
<?php

/**
 * Processes a request to create a new product
 */
if (!Auth::isAuthenticated()) {
    Util::getTemplate('login.php');
    return;
}
//ensure we have a request to create
if (!isset($_REQUEST['productName'], $_REQUEST['description'], $_REQUEST['cost'], $_REQUEST['price'], $_REQUEST['qoh'])) {
    Util::getTemplate('product.create.php');
    return;
}
$lsm = new LsmCurl();
$lsm->setEndpoint(LSM_API_ENDPOINT . "product");
$lsm->usePut();
//build the request
$product = new StdClass();
$product->isActive = true;
$product->productName = $_REQUEST['productName'];
$product->description = $_REQUEST['description'];
$product->price = (double) $_REQUEST['price'];
$product->cost = (double) $_REQUEST['cost'];
$product->qoh = (int) $_REQUEST['qoh'];
//hard code the values -- we would do this differently if we were fully implementing partners and taxonomies
$product->partnerID = 1;
$product->taxonomyID = 2;
$lsm->setParameters($product);
//send the request
$lsm->sendRequest();
<?php

/**
 * processes a request for creating a customer
 */
if (Auth::isAuthenticated()) {
    Util::getTemplate('index.php');
    return;
}
//ensure we have a request to create
if (!isset($_REQUEST['title'], $_REQUEST['firstName'], $_REQUEST['lastName'], $_REQUEST['email'], $_REQUEST['password'], $_REQUEST['phone'], $_REQUEST['shippingAddressLine1'], $_REQUEST['shippingAddressLine2'], $_REQUEST['shippingAddressLine3'], $_REQUEST['shippingAddressCity'], $_REQUEST['shippingAddressState'], $_REQUEST['shippingAddressCountry'], $_REQUEST['shippingAddressZip'], $_REQUEST['billingAddressLine1'], $_REQUEST['billingAddressLine2'], $_REQUEST['billingAddressLine3'], $_REQUEST['billingAddressCity'], $_REQUEST['billingAddressState'], $_REQUEST['billingAddressCountry'], $_REQUEST['billingAddressZip'])) {
    Util::getTemplate('customer.create.php');
    return;
}
$lsm = new LsmCurl();
$lsm->setEndpoint(LSM_API_ENDPOINT . "customer");
$lsm->usePut();
//build the request
$customer = new StdClass();
$customer->email = $_REQUEST['email'];
$customer->phone = $_REQUEST['phone'];
$customer->title = $_REQUEST['title'];
$customer->firstName = $_REQUEST['firstName'];
$customer->lastName = $_REQUEST['lastName'];
$customer->password = md5($_REQUEST['password']);
$customer->shippingAddressLine1 = $_REQUEST['billingAddressLine1'];
$customer->shippingAddressLine2 = $_REQUEST['shippingAddressLine2'];
$customer->shippingAddressLine3 = $_REQUEST['shippingAddressLine3'];
$customer->shippingAddressCity = $_REQUEST['shippingAddressCity'];
$customer->shippingAddressState = $_REQUEST['shippingAddressState'];
$customer->shippingAddressCountry = $_REQUEST['shippingAddressCountry'];