コード例 #1
0
 public function add_token()
 {
     $util = new utilities();
     if (isset($_POST["submit"])) {
         $eb_token = $_POST["eb_token"];
         if ($eb_token) {
             $this->load->model("eventsmodel", "em", true);
             if ($this->em->delete_eventbrite_token() == TRUE && $this->em->add_eventbrite_token($eb_token) === TRUE) {
                 error_log("Added Eventbrite access token successfully");
                 //Delete events fetched with older token and user ID
                 $sql = "TRUNCATE TABLE events";
                 error_log($sql);
                 $this->db->query($sql);
                 //Pull events with newer token and user ID
                 $url = 'https://www.eventbriteapi.com/v3/users/me/owned_events/';
                 $params = array('token' => $eb_token, 'status' => 'live,started,ended');
                 $results = $util->do_get($url, $params);
                 $events = $results['events'];
                 foreach ($events as $event) {
                     $event = (array) $event;
                     $event_name = $event['name'];
                     $this->em->create($event['id'], $event_name->text);
                 }
             } else {
                 error_log("Error adding Eventbrite access token");
             }
         }
     }
     $util->redirect(ROOTMEMBERPATH . 'grind-code/index.php/eventbrite/tokens');
 }
コード例 #2
0
 public function exchange_linkedin_code_for_access_token($code, $state)
 {
     global $linkedin_callback_url, $linkedin_client_id, $linkedin_client_secret, $linkedin_state, $linkedin_access_token_fetch_url;
     $access_token = NULL;
     if ($state == $linkedin_state) {
         $url = $linkedin_access_token_fetch_url;
         $params = array('grant_type' => 'authorization_code', 'code' => $code, 'redirect_uri' => $linkedin_callback_url, 'client_id' => $linkedin_client_id, 'client_secret' => $linkedin_client_secret);
         $util = new utilities();
         $response = $util->do_get($url, $params);
         $access_token = $response['access_token'];
     }
     error_log('AT: ' . $access_token);
     return $access_token;
 }
コード例 #3
0
 public function invoice_cobot_bookings()
 {
     error_log('In invoice and charge last 24 hours bookings');
     $util = new utilities();
     $access_token = $util->get_current_environment_cobot_access_token();
     $to = date_create();
     $from = date_add(date_create(), date_interval_create_from_date_string("-24 hours"));
     $from = date_format($from, 'Y-m-d H:i O');
     $to = date_format($to, 'Y-m-d H:i O');
     $query = $this->db->get("cobot_spaces");
     $spaces = $query->result();
     foreach ($spaces as $space) {
         $bookings_url = 'https://' . $space->id . '.cobot.me/api/bookings';
         $bookings = $util->do_get($bookings_url, $params = array('access_token' => $access_token, 'from' => rawurlencode($from), 'to' => rawurlencode($to)));
         if (count($bookings) < 1) {
             echo " *** No bookings in the last 24 hours for space: " . $space->id . "\r\n";
             error_log(" *** No bookings in the last 24 hours for space: " . $space->id);
         } else {
             error_log('Bookings for space: ' . $space->id . ' are: ' . json_encode($bookings));
         }
         $memberships = array();
         foreach ($bookings as $booking) {
             $booking = (array) $booking;
             $membership = $booking['membership'];
             if ($membership) {
                 if (!isset($memberships[$membership->id])) {
                     $memberships[$membership->id] = 1;
                 }
             }
         }
         $membership_ids = array_keys($memberships);
         error_log('Memberships to be charged: ' . json_encode($membership_ids));
         foreach ($membership_ids as $membership_id) {
             echo " *** Trying to generate invoice for membership id: " . $membership_id . " for space: " . $space->id . "\r\n";
             error_log(" *** Trying to generate invoice for membership id: " . $membership_id . " for space: " . $space->id);
             $invoice_url = 'https://' . $space->id . '.cobot.me/api/memberships/' . $membership_id . '/charges_based_invoices';
             $params = array();
             $result = $util->do_post($invoice_url, $params, $access_token);
             if ($result && count($result) > 0 && !array_key_exists('error', $result)) {
                 error_log('Invoice created with id: ' . $result['id'] . ' and number: ' . $result['invoice_number'] . ' and url: ' . $result['url'] . ' for membership id: ' . $membership_id);
                 echo ' *** Invoice created with id: ' . $result['id'] . ' and number: ' . $result['invoice_number'] . ' and url: ' . $result['url'] . ' for membership id: ' . $membership_id . "\r\n";
                 $charge_url = 'https://' . $space->id . '.cobot.me/api/invoices/' . $result['invoice_number'] . '/charges';
                 $charge_result = $util->do_post($charge_url, array(), $access_token);
                 echo " *** Charge made for invoice number: " . $result['invoice_number'] . "\r\n";
                 error_log(" *** Charge made for invoice number: " . $result['invoice_number']);
             }
         }
     }
 }
コード例 #4
0
 function book_space($space_id, $user_id, $resource_id = null, $from = null, $to = null)
 {
     error_log('booking space');
     $response = array();
     if (!$resource_id) {
         $sql = "SELECT main_area_id FROM cobot_spaces where id = '" . $space_id . "'";
         error_log($sql);
         $query = $this->db->query($sql);
         $results = (array) $query->result();
         error_log(json_encode($results));
         $main_area_id = NULL;
         if (count($results) > 0) {
             $main_area_id = current($results)->main_area_id;
         }
         error_log($main_area_id);
         $resource_id = $main_area_id;
     }
     if ($resource_id) {
         $sql = "select m.*, u.first_name, u.last_name from cobot_memberships m join user u on m.user_id = u.id where u.id='" . $user_id . "' and m.space_id='" . $space_id . "'";
         error_log($sql);
         $query = $this->db->query($sql);
         $result = $query->result();
         error_log(json_encode($result));
         $membership = current($result);
         error_log(json_encode($membership));
         $membership_id = $membership->id;
         $title = $membership->first_name . ' ' . $membership->last_name;
         $util = new utilities();
         $url = "https://" . $space_id . ".cobot.me/api/resources/" . $resource_id . "/bookings";
         error_log('Booking url: ' . $url);
         if (!$from) {
             $from = date_add(date_create(), date_interval_create_from_date_string("5 minutes"));
             $from = date_format($from, 'Y-m-d H:i O');
         }
         if (!$to) {
             $resource_url = 'https://' . $space_id . '.cobot.me/api/resources/' . $resource_id;
             $resource = $util->do_get($resource_url, $params = array('access_token' => $util->get_current_environment_cobot_access_token()));
             $hours = 5;
             $minutes = 5;
             if ($resource && $resource['max_booking_duration']) {
                 error_log('Max booking duration: ' . $resource['max_booking_duration']);
                 $total_minutes = intval($resource['max_booking_duration']) + 5;
                 $hours = intval($total_minutes / 60);
                 $minutes = $total_minutes % 60;
             }
             error_log($hours . " hours + " . $minutes . " minutes");
             $to = date_add(date_create(), date_interval_create_from_date_string($hours . " hours + " . $minutes . " minutes"));
             $to = date_format($to, 'Y-m-d H:i O');
         }
         $data = array("membership_id" => $membership_id, "from" => $from, "to" => $to, "title" => $title, "comments" => "tea please");
         $this->load->model("thirdpartyusermodel", "tpum", true);
         $cobot_access_token = $this->tpum->get_cobot_access_token($user_id);
         if ($cobot_access_token) {
             $response = $util->do_post($url, $params = $data, $cobot_access_token);
         } else {
             $response['error'] = "Could not find Cobot Access Token for the user";
         }
     } else {
         $response['error'] = "No resource to book";
     }
     error_log(json_encode($response));
     return $response;
 }