Ejemplo n.º 1
0
 protected function calculateTotalSize(Node $node)
 {
     $size = $node['contentProperties']['size'] ?: 0;
     if ($node->isFolder() || $this->input->getOption('assets')) {
         foreach ($node->getChildren() as $child) {
             $size += $this->calculateTotalSize($child);
         }
     }
     return $size;
 }
Ejemplo n.º 2
0
 /**
  * Transform a node into an array of file info arrays.
  *
  * @param Node $parent
  * @param array $output
  * @param $recursive
  * @param $prefix
  * @return array
  */
 private function nodeToArray(Node $parent, array $output, $recursive, $prefix)
 {
     foreach ($parent->getChildren() as $node) {
         if ($node->inTrash()) {
             continue;
         }
         $entry = ['path' => $this->removePathPrefix(trim($prefix . '/' . $node['name'], '/')), 'basename' => $node['name'], 'type' => $node->isFolder() ? 'dir' : 'file', 'timestamp' => (new \DateTime($node['modifiedDate']))->getTimestamp()];
         if (isset($node['contentProperties'])) {
             $entry = array_merge($entry, $node['contentProperties']);
         }
         $output[] = $entry;
         if ($node->isFolder() && $recursive) {
             $output = $this->nodeToArray($node, $output, $recursive, rtrim($prefix, '/') . '/' . $node['name']);
         }
     }
     return $output;
 }
Ejemplo n.º 3
0
 protected function buildMarkdownTree(Node $node, $includeAssets = false, $prefix = '')
 {
     static $first;
     if (is_null($first)) {
         $first = false;
         if ($node->isFolder()) {
             $this->output->writeln("<blue>{$node['name']}</blue>");
         } else {
             $this->output->writeln($node['name']);
         }
     }
     foreach ($node->getChildren() as $node) {
         $this->output->writeln("{$prefix}- {$node['name']}");
         if ($node->isFolder() || $includeAssets === true) {
             $this->buildMarkdownTree($node, $includeAssets, "{$prefix}  ");
         }
     }
 }