You are here

function oa_files_prepare_files_from_files in Open Atrium Files 7.2

Helper function to create files array needed by angular app from an array of Drupal files

Parameters

$files:

1 call to oa_files_prepare_files_from_files()
oa_files_upload_create_documents_form_page in ./oa_files.module
Page callback to return the create documents.

File

./oa_files.module, line 664

Code

function oa_files_prepare_files_from_files($files) {
  $result = array();
  foreach ($files as $fid => $file) {
    if (isset($file->node->nid)) {
      $node = $file->node;
      $nid = $node->nid;
      $icon = file_icon_url($file);

      // Determine parent of item.
      // Mostly this comes from the term_parent or menu_parent in URL.
      if (isset($_GET['term_parent'])) {
        $parent = 'tid' . $_GET['term_parent'];
      }
      elseif (isset($_GET['menu_parent']) && ($mlid = og_menu_single_get_link_mlid('node', $nid))) {
        $menu_link = menu_link_load($mlid);
        $parent_link = menu_link_load($menu_link['plid']);
        if (preg_match('#^node/(\\d+)#', $parent_link['link_path'], $matches)) {
          $parent = $matches[1];
        }
      }
      elseif (isset($_GET['menu_parent'])) {
        $parent = $_GET['menu_parent'];
      }
      else {
        $parent = 0;
      }
      $result[$nid] = array(
        'id' => $nid,
        'nid' => $nid,
        "name" => $node->title,
        "parent" => array(
          $parent,
        ),
        "date" => format_date($node->created, 'short'),
        "modified" => format_date($node->changed, 'short'),
        "editor" => node_access("update", $node),
        "url" => 'node/' . $nid,
        'filesize' => format_size($file->filesize),
        'downloadurl' => oa_files_download_uri($fid, $file->uri),
        'filename' => $file->filename,
        'icon' => $icon,
        'mimetype' => $file->filemime,
      );
    }
  }
  return $result;
}