file_module_test.module

Provides File module pages for testing purposes.

File

modules/file/tests/file_module_test.module

View source
<?php


/**
 * @file
 * Provides File module pages for testing purposes.
 */

/**
 * Implements hook_menu().
 */
function file_module_test_menu() {
    $items = array();
    $items['file/test'] = array(
        'title' => 'Managed file test',
        'page callback' => 'drupal_get_form',
        'page arguments' => array(
            'file_module_test_form',
        ),
        'access arguments' => array(
            'access content',
        ),
    );
    return $items;
}

/**
 * Form constructor for testing a 'managed_file' element.
 *
 * @see file_module_test_form_submit()
 * @ingroup forms
 */
function file_module_test_form($form, &$form_state, $tree = TRUE, $extended = FALSE, $default_fid = NULL) {
    $form['#tree'] = (bool) $tree;
    $form['nested']['file'] = array(
        '#type' => 'managed_file',
        '#title' => t('Managed file'),
        '#upload_location' => 'public://test',
        '#progress_message' => t('Please wait...'),
        '#extended' => (bool) $extended,
        '#size' => 13,
    );
    if ($default_fid) {
        $form['nested']['file']['#default_value'] = $extended ? array(
            'fid' => $default_fid,
        ) : $default_fid;
    }
    $form['textfield'] = array(
        '#type' => 'textfield',
        '#title' => t('Type a value and ensure it stays'),
    );
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Save'),
    );
    return $form;
}

/**
 * Form submission handler for file_module_test_form().
 */
function file_module_test_form_submit($form, &$form_state) {
    if ($form['#tree']) {
        $fid = $form['nested']['file']['#extended'] ? $form_state['values']['nested']['file']['fid'] : $form_state['values']['nested']['file'];
    }
    else {
        $fid = $form['nested']['file']['#extended'] ? $form_state['values']['file']['fid'] : $form_state['values']['file'];
    }
    drupal_set_message(t('The file id is %fid.', array(
        '%fid' => $fid,
    )));
}

/**
 * Implements hook_file_download().
 */
function file_module_test_file_download($uri) {
    if (variable_get('file_module_test_grant_download_access')) {
        // Mimic what file_get_content_headers() would do if we had a full $file
        // object to pass to it.
        return array(
            'Content-Type' => mime_header_encode(file_get_mimetype($uri)),
            'Content-Length' => filesize($uri),
            'Cache-Control' => 'private',
        );
    }
}

Functions

Title Deprecated Summary
file_module_test_file_download Implements hook_file_download().
file_module_test_form Form constructor for testing a 'managed_file' element.
file_module_test_form_submit Form submission handler for file_module_test_form().
file_module_test_menu Implements hook_menu().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.