You are here

function filedepot_form_alter in filedepot 7

Same name and namespace in other branches
  1. 6 filedepot.module \filedepot_form_alter()

Implementation of hook_form_alter().

File

./filedepot.module, line 807
filedepot.module Filedepot: File Management Module developed by Nextide www.nextide.ca Full featured document managment module with a desktop application feel. Integrated Organic Group, Role and User permissions to secure folders, automated…

Code

function filedepot_form_alter(&$form, &$form_state, $form_id) {
  global $user;
  if ($form_id == 'filedepot_folder_node_form') {
    module_load_include('php', 'filedepot', 'lib-common');
    if (isset($form['nid']['#value']) and $form['nid']['#value'] > 0) {
      $node = node_load($form['nid']['#value']);
      $nodetype = node_type_get_types('type', $node);
    }
    else {
      $node = FALSE;
    }
    $form['title'] = array(
      '#type' => 'textfield',
      '#title' => t('Folder Name'),
      '#required' => TRUE,
      '#default_value' => $node ? filter_xss($node->title) : '',
      '#weight' => -5,
      '#maxlength' => 255,
    );
    if (user_access('administer filedepot', $user)) {
      $parentFolders = array(
        0 => t('Top Level Folder'),
      );
    }
    else {
      $parentFolders = array();
    }
    $parentFolders += filedepot_recursiveAccessArray(array(
      'admin',
    ));
    $form['parentfolder'] = array(
      '#type' => 'select',
      '#title' => t('Parent Folder'),
      '#required' => TRUE,
      '#options' => $parentFolders,
    );
    if (isset($node->folderdesc) and !empty($node->folderdesc)) {
      $form['body_filter']['folderdesc']['#default_value'] = filter_xss($node->folderdesc);
    }
    if (isset($node->parentfolder)) {
      $form['parentfolder']['#default_value'] = $node->parentfolder;
    }

    // Remove any files (attachments) that are in the submission queue
    if ($node and is_array($node->filedepot_folder_file) and count($node->filedepot_folder_file) > 0) {
      foreach ($node->filedepot_folder_file[LANGUAGE_NONE] as $id => $file) {
        if (db_query("SELECT count(*) FROM {filedepot_filesubmissions} WHERE drupal_fid=:fid", array(
          ':fid' => $file['fid'],
        ))
          ->fetchField() == 1) {
          unset($node->filedepot_folder_file[$id]);
        }
      }
    }
    $form['actions']['submit']['#submit'][] = 'filedepot_native_submit';
    unset($form['revision_information']);
    unset($form['comment_settings']);
    unset($form['attachments']);
    unset($form['menu']);
    unset($form['author']);
    unset($form['options']);
  }
}