|
|
Drupal example source code file (views_handler_field_upload_description.inc)
The views_handler_field_upload_description.inc Drupal example source code<?php // $Id: views_handler_field_upload_description.inc,v 1.5.2.1 2010/04/07 23:40:35 merlinofchaos Exp $ /** * Field handler to provide a list of roles. */ class views_handler_field_upload_description extends views_handler_field { function init(&$view, &$options) { parent::init($view, $options); if (!empty($options['link_to_file'])) { $this->additional_fields['fid'] = 'fid'; } } function option_definition() { $options = parent::option_definition(); $options['link_to_file'] = array('default' => FALSE); return $options; } function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['link_to_file'] = array( '#title' => t('Link this field to download the file'), '#type' => 'checkbox', '#default_value' => !empty($this->options['link_to_file']), ); } function pre_render($values) { if (empty($this->options['link_to_file'])) { return; } $fids = array(); $this->items = array(); $data = array(); foreach ($values as $result) { if ($result->{$this->aliases['fid']}) { $fids[] = $result->{$this->aliases['fid']}; } } if ($fids) { $result = db_query("SELECT f.fid, f.filepath FROM {files} f WHERE f.fid IN (" . implode(', ', $fids) . ")"); while ($file = db_fetch_object($result)) { $this->items[$file->fid] = $file; } } } function render($values) { return $this->render_link(check_plain($values->{$this->field_alias}), $values); } /** * Render whatever the data is as a link to the file. * * Data should be made XSS safe prior to calling this function. */ function render_link($data, $value) { if (!empty($this->options['link_to_file']) && $value->{$this->aliases['fid']} && $data !== NULL && $data !== '') { $values = $this->items[$value->{$this->aliases['fid']}]; $this->options['alter']['make_link'] = TRUE; $this->options['alter']['path'] = file_create_url($values->filepath); } else { $this->options['alter']['make_link'] = FALSE; } return $data; } } Other Drupal examples (source code examples)Here is a short list of links related to this Drupal views_handler_field_upload_description.inc source code file: |
"Drupal" is a registered trademark of Dries Buytaert.
my drupal tutorials and examples
Copyright
1998-2016 Alvin Alexander, alvinalexander.com
All Rights Reserved.
Beginning in 2016, a portion of the proceeds from pages under the '/drupal-code-examples/' URI will be donated to charity.