Example #1
0
function getStolenBikes()
{
    $query = new ParseQuery("Bikes");
    $query->exists("sessionStartTime");
    $query->limit(1000);
    $results = $query->find();
    $count = count($results);
    $listOfBikes = array();
    $stolenBikes = 0;
    for ($i = 0; $i < $count; $i++) {
        $startDate = $results[$i]->get("sessionStartTime");
        $startDate = $startDate->format('Y-m-d H:i:s');
        $startDate = strtotime($startDate);
        $currentDate = new DateTime('now');
        $currentDate = $currentDate->format('Y-m-d H:i:s');
        $currentDate = strtotime($currentDate);
        $subtractedDate = $currentDate - $startDate;
        $expiredTime = 200 * 60;
        if ($subtractedDate >= $expiredTime * 60) {
            $stolenBikes++;
            $bike = $results[$i];
            try {
                $lostBike = new ParseObject("LostBikes");
                $lostBike->set("bikeId", $bike->getObjectId());
                $user = $bike->get("currentUser");
                $user->fetch();
                $customerID = $user->get("stripeID");
                $amount = 200 * 100;
                $charge = \Stripe\Charge::create(array('customer' => $customerID, 'amount' => $amount, 'currency' => 'usd'));
                $lostBike->set("currentUser", $user);
                $lostBike->set("lastLocation", $bike->get("lastLocation"));
                $lostBike->set("condition", $bike->get("condition"));
                $lostBike->save();
                $bike->destroy();
            } catch (\Parse\ParseException $ex) {
                return 'Failed to create LostBikes object and destroy Bikes object ' . $ex->getMessage();
            } catch (\Stripe\Error\InvalidRequest $e) {
                return $e->getMessage();
            } catch (\Stripe\Error\Authentication $e) {
                return $e->getMessage();
            } catch (\Stripe\Error\ApiConnection $e) {
                return $e->getMessage();
            } catch (\Stripe\Error\Base $e) {
                return $e->getMessage();
            } catch (Exception $e) {
                return $e->getMessage();
            }
        }
    }
    $rString = 0;
    if ($stolenBikes > 0) {
        $rString = "Successfully removed " . $stolenBikes . " stolen bikes.";
    }
    return $rString;
}
Example #2
0
 public function testExistsRelation()
 {
     Helper::clearClass("Item");
     $this->saveObjects(9, function ($i) {
         $obj = ParseObject::create("TestObject");
         if ($i & 1) {
             $obj->set('y', $i);
         } else {
             $item = ParseObject::create("Item");
             $item->set('e', $i);
             $obj->set('e', $item);
         }
         return $obj;
     });
     $query = new ParseQuery("TestObject");
     $query->exists('e');
     $results = $query->find();
     $this->assertEquals(5, count($results), 'Did not return correct number of objects.');
 }
Example #3
0
<?php

require 'vendor/autoload.php';
require 'api.php';
use Parse\ParseClient;
use Parse\ParseQuery;
use Parse\ParseObject;
ParseClient::initialize('AQ2Vfb0vhbBq3N6t2Aeu4fpLaZ5Xp8HI42P1fOxr', 'yFuVB8uoineYD9d2DXredK3QF0ZH4N0IHcMx9oLf', '34h4r0BN7uE0w64iGdjFqvNqpIejoorV1Gdf82we');
$query = new ParseQuery("Subjects");
$query->exists("SchoolCode");
$results = $query->find();
foreach ($results as $el) {
    $schoolCode = $el->SchoolCode;
    $subjectCode = $el->SubjectCode;
    $url = 'https://api-gw.it.umich.edu/Curriculum/SOC/v1/Terms/2010/Schools/' . $schoolCode . '/Subjects/' . $subjectCode . '/CatalogNbrs';
    //$url = 'https://api-gw.it.umich.edu/Curriculum/SOC/v1/Terms/2010/Schools/ENG/Subjects/EECS/CatalogNbrs';
    $class = new UMapis();
    $json = $class->call_api($url);
    $data = json_decode($json);
    if ($data) {
        if ($data->getSOCCtlgNbrsResponse) {
            if (isset($data->getSOCCtlgNbrsResponse->ClassOffered)) {
                foreach ($data->getSOCCtlgNbrsResponse->ClassOffered as $class) {
                    $courseNbr = (int) $class->CatalogNumber;
                    $courseDescr = $class->CourseDescr;
                    $course = new ParseObject('Classes');
                    $course->set('SchoolCode', $schoolCode);
                    $course->set('SubjectCode', $subjectCode);
                    $course->set('CatalogNbr', $courseNbr);
                    $course->set('CatalogDescr', $courseDescr);
                    $course->save();
Example #4
0
 function getExpiredReservedBikes()
 {
     $query = new ParseQuery("Bikes");
     $query->exists("reservedTime");
     $query->limit(1000);
     $results = $query->find();
     $count = count($results);
     $listOfBikes = array();
     for ($i = 0; $i < $count; $i++) {
         $reservedDate = $results[$i]->get("reservedTime");
         $reservedDate = $reservedDate->format('Y-m-d H:i:s');
         $reservedDate = strtotime($reservedDate);
         $currentDate = new DateTime('now');
         $currentDate = $currentDate->format('Y-m-d H:i:s');
         $currentDate = strtotime($currentDate);
         $subtractedDate = $currentDate - $reservedDate;
         echo $subtractedDate;
         echo "s ";
         $expiredTime = 10;
         if ($subtractedDate >= $expiredTime * 60) {
             array_push($listOfBikes, $results[$i]->getObjectId());
         }
     }
     return $listOfBikes;
 }
Example #5
0
ParseClient::initialize($app_id, $rest_key, $master_key);
try {
    $userQuery = ParseUser::query();
    $userQuery->exists("objectId");
    // This is not efficiant but Parse lacks random access to objects
    $users = $userQuery->find();
    /*
     * The Key in $chosenObjects should be the name you want to display in the UML
     */
    $chosenObjects['_User'] = $users[0];
    /*
     * Custum class (Temperature for demo)
     * You can add as many as you want
     */
    $custumQuery = new ParseQuery("Temperature");
    $custumQuery->exists("objectId");
    // Same as line 23
    $custumObjects = $custumQuery->find();
    /*
     * Add an array of custum objects to be inclused in the UML
     */
    $chosenObjects['Temperature'] = $custumObjects;
    // We can pass an array of objects
    /*
     * Pass the array $chosenObjects to getUML method
     * @return : String (Null if error)
     */
    $UML = $schema->getUML($chosenObjects);
    if ($UML) {
        /*
         * Get the client to download the txt file