require_once __DIR__ . '/helper.php'; use Dropbox as dbx; list($client, $dropboxPath) = parseArgs("get-metadata", $argv, array(array("dropbox-path", "The path (on Dropbox) that you want metadata for."))); $pathError = dbx\Path::findError($dropboxPath); if ($pathError !== null) { fwrite(STDERR, "Invalid <dropbox-path>: {$pathError}\n"); die; } $metadata = $client->getMetadataWithChildren($dropboxPath); if ($metadata === null) { fwrite(STDERR, "No file or folder at that path.\n"); die; } // If it's a folder, remove the 'contents' list from $metadata; print that stuff out after. $children = null; if ($metadata['is_dir']) { $children = $metadata['contents']; unset($metadata['contents']); } print_r($metadata); if ($children !== null && count($children) > 0) { print "Children:\n"; foreach ($children as $child) { $name = dbx\Path::getName($child['path']); if ($child['is_dir']) { $name = "{$name}/"; } // Put a "/" after folder names. print "- {$name}\n"; } }
public function compile() { if (TL_MODE == 'FE') { $strHref = \Environment::get('request'); // Remove an existing file parameter (see #5683) if (preg_match('/(&(amp;)?|\\?)' . $this->strQsParam . '=/', $strHref)) { $strHref = preg_replace('/(&(amp;)?|\\?)' . $this->strQsParam . '=[^&]+/', '', $strHref); } $strDownloadBaseUrl = $strHref . (\Config::get('disableAlias') || strpos($strHref, '?') !== false ? '&' : '?') . $this->strQsParam . '='; //$appInfo = new dbx\AppInfo(\Config::get('dropboxApiKey'), \Config::get('dropboxApiSecret')); //$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0"); //$authorizeUrl = $webAuth->start(); $accessToken = \Config::get('dropboxAccessToken'); $dbxClient = new \DropboxClient($accessToken, "PHP-Example/1.0"); // ========================================================================================================= // get metadata by chooser // ========================================================================================================= if ($this->dropboxChooserFiles !== '') { $children = json_decode($this->dropboxChooserFiles, true); // foreach ($filesList as $f) // { // $f['path'] = $f['name']; // //$f['download_link'] = $dbxClient->createTemporaryDirectLink($f['link']); // } //$this->Template->filesInFolder = $filesList; } // $previewLink = 'https://www.dropbox.com/s/wq6u9zx1psa9nrh/2012-11-26%201%20Battesimo.pdf?dl=0'; // $metadata = $dbxClient->getMetadataSharedLink($previewLink); // ========================================================================================================= // get metadata by path // ========================================================================================================= //$metadata = $dbxClient->getMetadataWithChildren(urldecode($this->dropboxPath)); // $pathError = dbx\Path::findError($this->dropboxPath); // if ($pathError !== null) // { // $this->Template->errors = "Invalid <dropbox-path>: $pathError"; // return; // } Dump($children); if ($this->dropboxPath !== '') { if ($metadata === null) { $this->Template->errors = "No file or folder at that path."; return; } // If it's a folder, remove the 'contents' list from $metadata; print that stuff out after. $children = null; if ($metadata['is_dir']) { $children = $metadata['contents']; unset($metadata['contents']); } $this->Template->metadata = $metadata; } $ff = array(); foreach ($children as $f) { if (array_key_exists('path', $f)) { $name = dbx\Path::getName($f['path']); } else { $name = $f['name']; } // Put a "/" after folder names. $f['name'] = $name . ($f['is_dir'] ? '/' : ''); if ($f['is_dir']) { $f['download_link'] = ''; } else { $f['download_link'] = $strDownloadBaseUrl . \System::urlEncode($name); } $ff[] = $f; } $this->Template->filesInFolder = $ff; Dump($GLOBALS['TL_DCA']['tl_content']['palettes']['__selector__']); } }