public function dropbox()
 {
     //return Input::file('uploadfile');
     //return $uploadfile = Input::file('uploadfile');
     //use \Dropbox as dbx;
     $appInfo = \Dropbox\AppInfo::loadFromJsonFile("app_info.json");
     $webAuth = new \Dropbox\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");
     $authorizeUrl = $webAuth->start();
     $accessToken = "LUu8h-uvauAAAAAAAAAAHbDw-bulVL7u8BoRAJtedc0-eCDY-Xj4Qxf1iGucUN7j";
     $dbxClient = new \Dropbox\Client($accessToken, "PHP-Example/1.0");
     $accountInfo = $dbxClient->getAccountInfo();
     //  $dbxClient->getAccessToken();
     //return  $dbxClient->_getMetadata("/participant/Fl0dsItC_Airtel.png");
     $host = $dbxClient->getHost();
     return $this->fetchUrl("/participant/Fl0dsItC_Airtel.png");
     //$appendFilePath =  $dbxClient->appendFilePath();
     //print_r($appendFilePath);
     /*echo "1. Go to: " . $authorizeUrl . "\n";
     echo "2. Click \"Allow\" (you might have to log in first).\n";
     echo "3. Copy the authorization code.\n";
     $authCode = \trim(\readline("Enter the authorization code here: "));
     list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
     print "Access Token: " . $accessToken . "\n";  */
     /*$f = fopen(url()."/public/assets/upload/contest_theme_photo/Fl0dsItC_Airtel.png", "rb");
     $result = $dbxClient->uploadFile("/participant/Fl0dsItC_Airtel.png", \Dropbox\WriteMode::add(), $f);
     fclose($f);*/
     $f = fopen("Fl0dsItC_Airtel.png", "w+b");
     $fileMetadata = $dbxClient->getFile("/participant/Fl0dsItC_Airtel.png", $f);
     //return $dbxClient->getMetadata("/participant/Fl0dsItC_Airtel.png");
     fclose($f);
     //return View::make('dropbox/dropbox');
 }
Example #2
0
 public function revisions($project_name, $event_name, $photo)
 {
     $this->is_client();
     $this->load->model('project_model', 'project');
     $this->load->model('event_type_model', 'event_type');
     $this->load->model('event_model', 'event');
     $this->load->model('layout_comment_model', 'layout_comment');
     $project_name = rawurldecode($project_name);
     $event_name = rawurldecode($event_name);
     $photo_path = "/" . $_SESSION['user']['username'] . "/" . $project_name . "/" . $event_name . "/layouts/" . rawurldecode($photo);
     $photo_name = pathinfo($photo_path, PATHINFO_FILENAME);
     $photo_ext = pathinfo($photo_path, PATHINFO_EXTENSION);
     $data['project'] = $this->project->get_by("client_id = " . $_SESSION['user']['id'] . " AND name = \"" . $project_name . "\"");
     $event_type = $data['project'] !== null ? $this->event_type->get_by("project_type_id = " . $data['project']->project_type_id . " AND name = \"" . trim(str_replace('Photoshoot', '', preg_replace('/\\d/', '', rawurldecode($event_name)))) . "\"") : null;
     if ($data['project'] !== null && $event_type !== null) {
         $data['event'] = $this->event->order_by('date', 'ASC')->get_many_by("project_id = " . $data['project']->id . " AND event_type_id = '" . $event_type->id . "'");
         if ($data['event']) {
             $dbxClient = new \Dropbox\Client(getenv('DROPBOX_ACCESS_TOKEN'), "chaar-bhai/1.0");
             if ($dbxClient->getMetadata($photo_path) !== null) {
                 if (count($data['event']) > 1) {
                     $exploded_event_name = explode(' ', trim(str_replace('Photoshoot', '', rawurldecode($event_name))));
                     $event_num = end($exploded_event_name);
                     $data['event'] = $data['event'][$event_num - 1];
                 } else {
                     $data['event'] = $data['event'][0];
                 }
                 if (strpos($event_name, "Photoshoot") !== FALSE) {
                     $data['event']->id = $data['event']->id . '.5';
                     if ($data['event']->photoshoot_layouts_approved_date !== '0000-00-00 00:00:00' || $data['event']->photoshoot_layouts_rework_date !== '0000-00-00 00:00:00' || $data['event']->photoshoot_status === 'Layouts Rework') {
                         $data['view_name'] = 'client_layouts/revisions_locked';
                     } else {
                         $data['view_name'] = 'client_layouts/revisions';
                     }
                 } else {
                     if ($data['event']->event_layouts_approved_date !== '0000-00-00 00:00:00' || $data['event']->event_layouts_rework_date !== '0000-00-00 00:00:00' || $data['event']->event_status === 'Layouts Rework') {
                         $data['view_name'] = 'client_layouts/revisions_locked';
                     } else {
                         $data['view_name'] = 'client_layouts/revisions';
                     }
                 }
                 $revisions = $dbxClient->getRevisions($photo_path);
                 $revisions = array_reverse($revisions);
                 $filtered_revisions = array();
                 $rev = 0;
                 foreach ($revisions as $revision) {
                     if ($revision['bytes'] > 0) {
                         $different_size = TRUE;
                         foreach ($filtered_revisions as $filtered_revision) {
                             if ($revision['bytes'] === $filtered_revision['bytes']) {
                                 $different_size = FALSE;
                                 break;
                             }
                         }
                         if ($different_size) {
                             $layout_comments = $this->layout_comment->get_many_by('event_id = "' . $data['event']->id . '" AND title = "' . $photo_name . '" AND revision = "' . $rev . '"');
                             $filtered_revisions[] = array('rank' => $rev, 'src' => 'assets/images/revisions/' . $revision['rev'] . '.' . $photo_ext, 'revision_name' => $revision['rev'], 'bytes' => $revision['bytes'], 'data' => $layout_comments);
                             $rev++;
                         }
                     }
                 }
                 foreach ($filtered_revisions as $filtered_revision) {
                     if (!file_exists($filtered_revision['src'])) {
                         $fd = fopen($filtered_revision['src'], 'wb');
                         $dbxClient->getFile($photo_path, $fd, $filtered_revision['revision_name']);
                     }
                 }
                 $data['revisions'] = $filtered_revisions;
                 $data['taggd'] = '';
                 $_SESSION['user']['sidebar_collapsed'] = '1';
                 $this->load->view('layouts/template', $data);
             } else {
                 $this->show_404();
             }
         } else {
             $this->show_404();
         }
     } else {
         $this->show_404();
     }
 }
Example #3
0
 /**
  * Download file from Dropbox
  *
  * @since  1.0
  * @uses   \Dropbox\Client
  * @see    http://dropbox.github.io/dropbox-sdk-php/api-docs/v1.1.x/source-class-Dropbox.Client.html#162-216
  * @param  string $filename
  * @return boolean
  */
 public function download($filename, $returnDataString = false)
 {
     if ($this->isAuthenticated() === false) {
         $this->pushError(__('Authentication required', BUP_LANG_CODE));
         return false;
     }
     if (file_exists($this->getBackupsPath() . $filename)) {
         return $returnDataString ? file_get_contents($this->getBackupsPath() . $filename) : true;
     }
     try {
         $client = new Dropbox\Client($this->getToken(), $this->applicationName);
         if ($returnDataString) {
             $dataString = null;
             $client->getFile($this->getDropboxPath() . $filename, $dataString);
             return $dataString;
         }
         $stream = @fopen($this->getBackupsPath() . $filename, 'wb');
         $result = $client->getFile($this->getDropboxPath() . $filename, $stream);
         fclose($stream);
         if ($result === null) {
             $this->pushError(__('File not found', BUP_LANG_CODE));
             return false;
         }
         return true;
     } catch (Exception $ex) {
         $this->pushError($ex->getMessage());
         return false;
     }
 }
Example #4
0
 public function revisions($project_name, $event_name, $photo)
 {
     $this->is_admin_or_vendor();
     $this->load->model('project_model', 'project');
     $this->load->model('event_type_model', 'event_type');
     $this->load->model('event_model', 'event');
     $project_name = rawurldecode($project_name);
     $event_name = rawurldecode($event_name);
     $data['project'] = $this->project->get_by('name = "' . rawurldecode($project_name) . '"');
     $event_type = $data['project'] !== null ? $this->event_type->get_by('project_type_id = ' . $data['project']->project_type_id . ' AND name = "' . trim(str_replace('Photoshoot', '', preg_replace('/\\d/', '', rawurldecode($event_name)))) . '"') : null;
     if ($data['project'] !== null && $event_type !== null) {
         $data['event'] = $this->event->order_by('date', 'ASC')->get_many_by("project_id = " . $data['project']->id . " AND event_type_id = '" . $event_type->id . "'");
         if ($data['event']) {
             if (count($data['event']) > 1) {
                 $exploded_event_name = explode(' ', trim(str_replace('Photoshoot', '', rawurldecode($event_name))));
                 $event_num = end($exploded_event_name);
                 $data['event'] = $data['event'][$event_num - 1];
             } else {
                 $data['event'] = $data['event'][0];
             }
             $belongs_to_vendor = FALSE;
             if (strpos($event_name, "Photoshoot") !== FALSE) {
                 if ($data['event']->photoshoot_vendor_id === $_SESSION['user']['id'] && $data['event']->photoshoot_status === 'Layouts Rework') {
                     $belongs_to_vendor = TRUE;
                 }
                 $data['event']->id = $data['event']->id . '.5';
             } else {
                 if ($data['event']->event_vendor_id === $_SESSION['user']['id'] && $data['event']->event_status === 'Layouts Rework') {
                     $belongs_to_vendor = TRUE;
                 }
             }
             if ($belongs_to_vendor || $_SESSION['user']['role'] === 'Admin') {
                 $this->load->model('layout_comment_model', 'layout_comment');
                 $this->load->model('user_model', 'user');
                 $data['client_username'] = $this->user->get($data['project']->client_id)->username;
                 $photo_path = "/" . $data['client_username'] . "/" . $project_name . "/" . $event_name . "/layouts/" . rawurldecode($photo);
                 $photo_name = pathinfo($photo_path, PATHINFO_FILENAME);
                 $photo_ext = pathinfo($photo_path, PATHINFO_EXTENSION);
                 $layout_comments = $this->layout_comment->get_many_by('event_id = ' . $data['event']->id . ' AND title = "' . $photo_name . '" AND reworked = 0');
                 if (!empty($layout_comments) || $_SESSION['user']['role'] === 'Admin') {
                     $dbxClient = new \Dropbox\Client(getenv('DROPBOX_ACCESS_TOKEN'), "chaar-bhai/1.0");
                     if ($dbxClient->getMetadata($photo_path) !== null) {
                         $revisions = $dbxClient->getRevisions($photo_path);
                         $revisions = array_reverse($revisions);
                         $filtered_revisions = array();
                         $rev = 0;
                         foreach ($revisions as $revision) {
                             if ($revision['bytes'] > 0) {
                                 $different_size = TRUE;
                                 foreach ($filtered_revisions as $filtered_revision) {
                                     if ($revision['bytes'] === $filtered_revision['bytes']) {
                                         $different_size = FALSE;
                                         break;
                                     }
                                 }
                                 if ($different_size) {
                                     $layout_comments = $this->layout_comment->get_many_by('event_id = "' . $data['event']->id . '" AND title = "' . $photo_name . '" AND revision = "' . $rev . '"');
                                     $filtered_revisions[] = array('rank' => $rev, 'src' => 'assets/images/revisions/' . $revision['rev'] . '.' . $photo_ext, 'revision_name' => $revision['rev'], 'bytes' => $revision['bytes'], 'data' => $layout_comments);
                                     $rev++;
                                 }
                             }
                         }
                         foreach ($filtered_revisions as $filtered_revision) {
                             if (!file_exists($filtered_revision['src'])) {
                                 $fd = fopen($filtered_revision['src'], 'wb');
                                 $dbxClient->getFile($photo_path, $fd, $filtered_revision['revision_name']);
                             }
                         }
                         if ($_SESSION['user']['role'] === 'Admin') {
                             $layout_comments = $this->layout_comment->get_commented_admin($data['event']->id);
                         } else {
                             $layout_comments = $this->layout_comment->get_commented($data['event']->id);
                         }
                         $index = 0;
                         foreach ($layout_comments as $layout_comment) {
                             if ($layout_comment->title === $photo_name) {
                                 break;
                             }
                             $index++;
                         }
                         $num_commented = count($layout_comments);
                         if ($num_commented > 1) {
                             if ($index === 0) {
                                 $data['previous'] = 'disabled';
                                 $data['next'] = $layout_comments[1]->title . '.' . $photo_ext;
                             } elseif ($index === $num_commented - 1) {
                                 $data['previous'] = $layout_comments[$index - 1]->title . '.' . $photo_ext;
                                 $data['next'] = 'disabled';
                             } else {
                                 $data['previous'] = $layout_comments[$index - 1]->title . '.' . $photo_ext;
                                 $data['next'] = $layout_comments[$index + 1]->title . '.' . $photo_ext;
                             }
                         } else {
                             $data['previous'] = 'disabled';
                             $data['next'] = 'disabled';
                         }
                         $data['taggd'] = '';
                         $data['parsley'] = '';
                         $data['revisions'] = $filtered_revisions;
                         $_SESSION['user']['sidebar_collapsed'] = '1';
                         $data['view_name'] = 'albums/revisions';
                         $this->load->view('layouts/template', $data);
                     } else {
                         $this->show_404();
                     }
                 } else {
                     $this->show_404();
                 }
             } else {
                 $this->show_404();
             }
         } else {
             $this->show_404();
         }
     } else {
         $this->show_404();
     }
 }