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'); }
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(); } }
/** * 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; } }
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(); } }