Example #1
0
 public function delete_event()
 {
     $this->is_admin_or_team_lead();
     if (isset($_POST['event_id'])) {
         $this->load->model('event_model', 'event');
         $event = $this->event->get_with_client_details($this->input->post('event_id'))[0];
         if ($event) {
             $events = $this->event->get_by_project_id($event->project_id);
             $duplicate_count = 0;
             $rank = 0;
             foreach ($events as $e) {
                 if ($e->id === $event->id) {
                     $rank = $duplicate_count + 1;
                 } else {
                     if ($e->event_type === $event->event_type) {
                         $duplicate_count++;
                     }
                 }
             }
             $this->event->delete($this->input->post('event_id'));
             $dbxClient = new \Dropbox\Client(getenv('DROPBOX_ACCESS_TOKEN'), "chaar-bhai/1.0");
             if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name) !== null) {
                 if ($duplicate_count === 0) {
                     if (!empty($event->event_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type);
                     }
                     if (!empty($event->photoshoot_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' Photoshoot');
                     }
                 } elseif ($duplicate_count === 1) {
                     if (!empty($event->event_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $rank);
                     }
                     if (!empty($event->photoshoot_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $rank . ' Photoshoot');
                     }
                     if ($rank === 1) {
                         if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 2') !== null) {
                             $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 2', '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type);
                         }
                         if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 2 Photoshoot') !== null) {
                             $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 2 Photoshoot', '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' Photoshoot');
                         }
                     } else {
                         if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 1') !== null) {
                             $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 1', '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type);
                         }
                         if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 1 Photoshoot') !== null) {
                             $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' 1 Photoshoot', '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' Photoshoot');
                         }
                     }
                 } else {
                     if (!empty($event->event_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $rank);
                     }
                     if (!empty($event->photoshoot_status)) {
                         $dbxClient->delete('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $rank . ' Photoshoot');
                     }
                     if ($rank !== $duplicate_count + 1) {
                         for ($i = $rank; $i < $duplicate_count + 1; $i++) {
                             if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . ($i + 1)) !== null) {
                                 $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . ($i + 1), '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $i);
                             }
                             if ($dbxClient->getMetadata('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . ($i + 1) . ' Photoshoot') !== null) {
                                 $dbxClient->move('/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . ($i + 1) . ' Photoshoot', '/' . $event->client_username . '/' . $event->project_name . '/' . $event->event_type . ' ' . $i . ' Photoshoot');
                             }
                         }
                     }
                 }
             }
             $this->response(array('success' => 'Event deleted'), 200);
         } else {
             $this->response(array('error' => 'Event could not be deleted'), 200);
         }
     } else {
         $this->response(array('error' => 'Bad request'), 400);
     }
 }