예제 #1
0
<?php

include_once dirname(__FILE__) . "/../common/common.php";
include_once dirname(__FILE__) . '/../business/AuthB.php';
include_once dirname(__FILE__) . '/../database/Trip.php';
include_once dirname(__FILE__) . '/../database/Journal.php';
$auth = new AuthB();
if (!$auth->canGetTrip()) {
    $response = errorResponse(RESPONSE_UNAUTHORIZED);
} else {
    $tripId = '';
    if (isset($_GET['current'])) {
        $tripId = Trip::findCurrentTrip();
        if (!$tripId) {
            $tripId = '';
        }
    } else {
        if (isset($_GET['tripId'])) {
            $tripId = $_GET['tripId'];
        }
    }
    if ($tripId === '') {
        $response = errorResponse(RESPONSE_BAD_REQUEST);
    } else {
        $object = new Trip($tripId);
        if ($object->getCreated() === null) {
            $response = errorResponse(RESPONSE_NOT_FOUND);
        } else {
            $response = successResponse();
            $response['tripId'] = $object->getTripId();
            $response['created'] = $object->getCreated();
예제 #2
0
 /**
  * Extra test. Make sure the get operation works with a "latest"
  * value.
  */
 function testGetLatest()
 {
     global $testTripId1, $testTripId2;
     // use the timezone where we do our testing :-)
     date_default_timezone_set("America/New_York");
     $now = time();
     $today = date('Y-m-d', $now);
     $yesterday = date('Y-m-d', $now - 24 * 60 * 60);
     $tomorrow = date('Y-m-d', $now + 24 * 60 * 60);
     $past = date('Y-m-d', $now - 5 * (24 * 60 * 60));
     $future = date('Y-m-d', $now + 5 * (24 * 60 * 60));
     $farPast = date('Y-m-d', $now - 10 * (24 * 60 * 60));
     $farFuture = date('Y-m-d', $now + 10 * (24 * 60 * 60));
     $testTrip1 = new Trip($testTripId1);
     $testTrip2 = new Trip($testTripId2);
     // one past and one future trip
     $testTrip1->setStartDate($past);
     $testTrip1->setEndDate($yesterday);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($tomorrow);
     $testTrip2->setEndDate($future);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId1, $tripId);
     // one past and one current trip
     $testTrip1->setStartDate($past);
     $testTrip1->setEndDate($yesterday);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($yesterday);
     $testTrip2->setEndDate($tomorrow);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId2, $tripId);
     // two past trips
     $testTrip1->setStartDate($past);
     $testTrip1->setEndDate($yesterday);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($farPast);
     $testTrip2->setEndDate($past);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId1, $tripId);
     // one current and one future trip
     $testTrip1->setStartDate($yesterday);
     $testTrip1->setEndDate($tomorrow);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($tomorrow);
     $testTrip2->setEndDate($future);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId1, $tripId);
     // two current trips, nested
     $testTrip1->setStartDate($yesterday);
     $testTrip1->setEndDate($tomorrow);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($past);
     $testTrip2->setEndDate($future);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId1, $tripId);
     // two current trips, staggered
     $testTrip1->setStartDate($past);
     $testTrip1->setEndDate($tomorrow);
     $this->assertTrue($testTrip1->save());
     $testTrip2->setStartDate($yesterday);
     $testTrip2->setEndDate($future);
     $this->assertTrue($testTrip2->save());
     $tripId = Trip::findCurrentTrip();
     $this->assertEquals($testTripId2, $tripId);
 }