You are here

function _filetree_parse_description in File Tree 7

Same name and namespace in other branches
  1. 6.2 filetree.module \_filetree_parse_description()
  2. 6 filetree.module \_filetree_parse_description()
  3. 7.2 filetree.module \_filetree_parse_description()

Parse .descript.ion file descriptions.

1 call to _filetree_parse_description()
_filetree_list_files in ./filetree.module
Recursively lists folders and files in this directory.

File

./filetree.module, line 242

Code

function _filetree_parse_description($dir) {
  $descriptions = array();
  if (is_readable("{$dir}/.descript.ion") && ($file = file("{$dir}/.descript.ion"))) {
    foreach ($file as $line) {
      $line = trim($line);

      // Skip empty and commented lines
      if ($line == '' || strpos($line, '#') === 0) {
        continue;
      }
      $matches = array();

      // File names may be encapsulated in quotations.
      if (strpos($line, '"') === 0) {
        preg_match('/^"([^"]+)"\\s+(.*)$/', $line, $matches);
      }
      else {
        preg_match('/^(\\S+)\\s+(.*)$/', $line, $matches);
      }
      list(, $name, $description) = $matches;
      if (isset($descriptions[$name])) {
        $descriptions[$name] .= ' ' . trim($description);
      }
      else {
        $descriptions[$name] = trim($description);
      }
    }
  }
  return $descriptions;
}