Project

General

Profile

« Previous | Next » 

Revision 37c1f19c

Added by Lorna Morris over 11 years ago

Added changes from working with London to run dwca_export via cron.

View differences:

.gitattributes
784 784
6.x/themes/summertime_cdm/theme-settings.php -text
785 785
7.x/modules/dwca_export/README.txt -text
786 786
7.x/modules/dwca_export/archive-genus-Abies-bl4.zip -text
787
7.x/modules/dwca_export/dwca_export.admin.inc -text
788
7.x/modules/dwca_export/dwca_export.cron.inc -text
787 789
7.x/modules/dwca_export/dwca_export.info -text
790
7.x/modules/dwca_export/dwca_export.install -text
788 791
7.x/modules/dwca_export/dwca_export.module -text
789 792
7.x/modules/dwca_export/dwca_export.strongarm.inc -text
790 793
7.x/modules/dwca_export/dwca_export.views_default.inc -text
7.x/modules/dwca_export/dwca_export.admin.inc
1
<?php
2

  
3
/**
4
 * menu callback
5
 */
6
function dwca_export_deliver_archive(){
7
  if(file_exists('public://dwca.zip')){
8
    file_transfer('public://dwca.zip', array(
9
      'Content-Type' => 'application/zip'
10
    ));
11
  }else{
12
    drupal_set_message('The Darwincore Arhive for this site has not yet been created');
13
    drupal_goto('/');
14
  }
15
}
16

  
17
/**
18
 * Form function, called by drupal_get_form()
19
 * in dwca_export_menu().
20
 */
21
function dwca_export_config_form($form, &$form_state){
22
  global $base_url;
23
  $form['dwca_export_info'] = array(
24
    '#markup' => '<p>For general information on the DarwinCore Archive format please refer to  ' . l('GBIF - Standards and Tools - Darwin Core Archives', 'http://www.gbif.org/informatics/standards-and-tools/publishing-data/data-standards/darwin-core-archives/') . '</p>'
25
  );
26
  $form['dwca_export_execute'] = array(
27
    '#markup' => '<p>The DarwinCore Archive export can be downloaded from ' . l(url('dwca.zip', array(
28
      'absolute' => TRUE
29
    )), 'dwca.zip') . '</p>'
30
  );
31
  $form['dwca_export_view_mapping'] = dwca_export_select_view_form();
32
  $form['#submit'][] = 'dwca_export_config_form_submit';
33
  return system_settings_form($form);
34
}
35

  
36
function dwca_export_select_view_form(){
37
  $views = array(
38
    '#type' => 'fieldset',
39
    '#title' => t('View to file mapping')
40
  ); //'#tree' => TRUE,
41
  foreach(variable_get(FILE_MAP, 'dwca_export_archive_descriptor_file_map') as $dwca_filename => $view_data){
42
    if($dwca_filename == 'description'){
43
      $views[$dwca_filename] = array(
44
        '#type' => 'fieldset',
45
        '#title' => t('DESCRIPTIVE DATA TYPES'),
46
        '#weight' => 3,
47
        '#collapsible' => TRUE,
48
        '#collapsed' => TRUE,
49
        //'#prefix' => '<table>',
50
        //'#suffix' => '</table>',
51
        '#tree' => TRUE
52
      );
53
      foreach($view_data as $dwca_filename_inner => $view_data_inner){
54
        $views[$dwca_filename][$dwca_filename_inner] = array(
55
          '#type' => 'textfield',
56
          '#title' => t($dwca_filename . '_' . $dwca_filename_inner),
57
          '#default_value' => $view_data_inner['view_name'],
58
          '#size' => 60,
59
          '#description' => t('specify view for ' . $dwca_filename_inner)
60
        ); //'#prefix' => '<tr>',
61
      //'#suffix' => '</tr>',
62
      //TODO: Change collaped discription form to table, layout using <td> and <tr> e.g. try 3 description types per row
63
      }
64
    }else{
65
      $views[$dwca_filename] = array(
66
        '#type' => 'textfield',
67
        '#title' => t($dwca_filename),
68
        '#default_value' => $view_data['view_name'],
69
        '#size' => 60,
70
        '#description' => t('specify view for ' . $dwca_filename)
71
      );
72
    }
73
  }
74
  return $views;
75
}
76

  
77
/**
78
 * Submit function for the above form.
79
 */
80
function dwca_export_config_form_submit($form, &$form_state){
81
  $variables = $form_state['input'];
82
  $save_variables = '';
83
  $dwca_export_archive_descriptor_file_map = variable_get(FILE_MAP);
84
  foreach($variables as $key => $value){
85
    if(array_key_exists($key, $dwca_export_archive_descriptor_file_map)){
86
      $dwca_export_archive_descriptor_file_map[$key]['view_name'] = $value;
87
       //$save_variables .= '<p>' . $key . ' ' . $value . '</p>';
88
    }else{
89
      $description_key = 'description';
90
      if(array_key_exists($description_key, $dwca_export_archive_descriptor_file_map)){
91
        //get the inner array containing the different description data types
92
        $description_map = $dwca_export_archive_descriptor_file_map[$description_key];
93
        if(array_key_exists($key, $description_map)){
94
          $dwca_export_archive_descriptor_file_map[$description_key][$key]['view_name'] = $value;
95
        }
96
      }
97
    }
98
  }
99
  variable_del(FILE_MAP);
100
  variable_set(FILE_MAP, $dwca_export_archive_descriptor_file_map);
101
}
102

  
103
/**
104
 * Validate function for the above form.
105
 * 
106
 * Reports an error if view name entered by the user does not exist in the
107
 * database.
108
 */
109
function dwca_export_config_form_validate($form, &$form_state){
110
  $variables = $form_state['input'];
111
  $dwca_export_archive_descriptor_file_map = variable_get(FILE_MAP);
112
  $view_names = array();
113
  $missing_view_names = '';
114
  $missing_view = false;
115
  foreach($variables as $key => $value){
116
    //TODO: Check whether the views for the inner array cotaining all the description views exist
117
    if(array_key_exists($key, $dwca_export_archive_descriptor_file_map)){
118
      $view = views_get_view($value);
119
      // check whether there is a view named with this value 
120
      if(!$view){
121
        $view_names[] = $value;
122
        $missing_view_names .= $value . ', ';
123
        $missing_view = true;
124
      }
125
    }
126
  }
127
  if($missing_view){
128
    form_set_error('', t('VIEW(S) ' . $missing_view_names . ' NOT FOUND. Please input another view name.'));
129
  }
130
}
7.x/modules/dwca_export/dwca_export.cron.inc
1
<?php
2

  
3
/**
4
 * Helper for the hook_cron().
5
 */
6
function _dwca_export_cron(){
7
  if(variable_get('dwca_export_rebuild', TRUE) && variable_get('dwca_export_zip_build_time', 0) < time() + 86400){
8
    // Get a list of views on which we operate.  FIXME - This should perhaps be
9
    // "altered" using a drupal_alter call.
10
    module_load_include('views_default.inc', 'dwca_export');
11
    //$views = dwca_export_views_default_views();
12
    $views = array();
13
    foreach(module_implements('dwca_export') as $module){
14
      if(function_exists($module . '_views_default_views')){
15
        $func = $module . '_views_default_views';
16
        $views = array_merge($views, $func());
17
      }
18
    }
19
    // Array of files to add to the zip.
20
    $files_to_add = array();
21
    foreach($views as $view){
22
      // Filename based on the name of the view.
23
      $filename = 'public://' . substr($view->name, 12) . FILE_EXTENSION;
24
      // Get the view and render it.
25
      $view = views_get_view($view->name);
26
      $data = $view->render('views_data_export_1');
27
      $data_saved = FALSE;
28
      $files_to_add[$filename] = $filename;
29
      // the description.txt file is made up from lots of views.  We do special
30
      // things for the dwca_export_description* views
31
      if(substr($filename, 9, 11) == 'description'){
32
        // Unset the description_*.txt filename, and instead set description.txt
33
        unset($files_to_add[$filename]);
34
        $filename = 'public://description' . FILE_EXTENSION;
35
        $files_to_add[$filename] = $filename;
36
        // Append if it already exists
37
        if(file_exists($filename)){
38
          file_unmanaged_save_data(file_get_contents($filename) . $data, $filename, FILE_EXISTS_REPLACE);
39
          $data_saved = TRUE;
40
        }
41
      }
42
      if(!$data_saved){
43
        // Save the data.
44
        file_unmanaged_save_data($data, $filename, FILE_EXISTS_REPLACE);
45
      }
46
    }
47
    // If we have reached here, then we have all the files we require, and can
48
    // therefore build the zip file and delete the files.
49
    variable_set('dwca_export_zip_build_time', time());
50
    $tmp_archive_file_name = drupal_realpath(drupal_tempnam("temporary://", "dwca_export_archive_"));
51
    // Unfortunately we cannot use drupals ArchiverZip because there ís
52
    // no way to pass in ZipArchive::CREATE to the constructor to create the archive
53
    // TODO test if zip functionality is available (i.e. if(function_exists('zip_open'))
54
    // but I don't know where the proper location for such a check would be
55
    $zip = new ZipArchive();
56
    if(!$zip->open($tmp_archive_file_name, ZipArchive::CREATE)){throw new Exception(t('Could not create temporary zip_archive for DwC-A'));}
57
    // add metadata
58
    //$zip->addFile(drupal_get_path('module', 'dwca_export') . '/static/meta.xml', 'dwca/meta.xml');
59
    $meta_string = file_get_contents(drupal_get_path('module', 'dwca_export') . '/static/meta.xml');
60
    drupal_alter('dwca_export_meta_file', $meta_string);
61
    $zip->addFromString('dwca/meta.xml', $meta_string);
62
    // We need to close after each file is added.  Fuck knows why PHP requires
63
    // this.
64
    $zip->close();
65
    // add the csv data files
66
    foreach($files_to_add as $filename){
67
      $result = $zip->open($tmp_archive_file_name);
68
      $zip->addFile(drupal_realpath($filename), 'dwca/' . substr($filename, 9));
69
      $zip->close();
70
      file_unmanaged_delete($filename);
71
    }
72
    if(!file_unmanaged_move($tmp_archive_file_name, 'public://dwca.zip', FILE_EXISTS_REPLACE)){throw new Exception(t('Unable to move the DwC-A'));}
73
    variable_set('dwca_export_rebuild', FALSE);
74
  }
75
}
7.x/modules/dwca_export/dwca_export.info
1
name = DarwinCore Archive (DwC-A) export
2
description = Creates a DarwinCore Archive of this scratchpad
3

  
4
package = "Scratchpads"
5
core = 7.x
6

  
7
files[] = dwca_export.module
1
name = "DarwinCore Archive (DwC-A) export"
2
description = "Creates a DarwinCore Archive of this scratchpad"
3
core = "7.x"
4
package = "Specimens"
8 5
dependencies[] = views_data_export
9 6
dependencies[] = darwincore
10

  
11
; Theme
12
files[] = theme/dwca_export.theme.inc
13

  
14
; manually configured version since this module is not yet hosted on the drupal.org infrastructure
15
; see also bhttp://drupal.org/node/542202#version
16
version = "7.x-0.1-dev"
7
;configure = admin/config/system/dwca_export
8
tool = true
7.x/modules/dwca_export/dwca_export.install
1
<?php
2

  
3
/**
4
 * Implements hook_install()
5
 */
6
function dwca_export_install(){
7
  // Garbage collect all vde views that are older than two hours.  This will
8
  // greatly reduce the chance of us getting a huge site database like what
9
  // happened on the zingi site.
10
  // FIXME - This may no longer be required as we are no longer using the batch
11
  // functions to create the views data.
12
  variable_set('views_data_export_gc_expires', 7200);
13
  variable_set('views_data_export_gc_chunk', -1);
14
}
15

  
16
/**
17
 * Set the variables for already installed sites.
18
 */
19
function dwca_export_update_7001(){
20
  variable_set('views_data_export_gc_expires', 7200);
21
  variable_set('views_data_export_gc_chunk', -1);
22
}
23

  
24
/**
25
 * Delete the variables.
26
 */
27
function dwca_export_update_7002(){
28
  db_delete('variable')->condition('name', 'dwca_%', 'LIKE')->execute();
29
}
7.x/modules/dwca_export/dwca_export.module
1
<?php
2

  
3
// at the moment we are using a static meta.xml file
4
define ("METADATA_FILE_NAME", "meta.xml");
5
define ("STATIC_DIR", "/static/");
6
//define ("ARCHIVE_ROOT_DIR", "dwca_export/");
7
define ('FILE_MAP', 'dwca_export_archive_descriptor_file_map');
8
define ('FILE_EXTENSION', ".txt");
9

  
10
//$view_all_names_except_description = array('classification', 'specimen', 'reference', 'image', 'distribution');
11

  
12

  
1
<?php
2
// File extension for the CSV files in the DwC-A file.
3
define('FILE_EXTENSION', ".txt");
4

  
13 5
/**
14 6
 * Implements hook_menu().
15
 */
16
function dwca_export_menu() {
17

  
18
	$items = array();
19

  
20
	$items['admin/config/system/dwca_export'] = array(
21
		'title' => 'Darwin Core Archive export',
22
		'description' => t('Create a DarwinCore Archive of this scratchpad.'),
23
		'page callback' => 'drupal_get_form',
24
		'page arguments' => array('dwca_export_config_form'),
25
		'access arguments' => array('access DwC-A export settings'),
26
		'type' => MENU_NORMAL_ITEM,
27
		//'file' => 'dwca_export.admin.inc'
28
	);
29

  
30

  
31
	$items['dwca_export'] = array(
32
		'page callback' => 'dwca_export_deliver_archive',
33
		'access arguments' => array('access content'),
34
		'type' => MENU_CALLBACK
35
	);
36

  
37

  
38
	return $items;
39
}
40

  
41
function dwca_export_view_names_array(){
42

  
43
	$view_names = array('classification', 'specimen', 'reference', 'image', 'distribution');
44

  
45
	return $view_names;
46
}
47

  
7
 */
8
function dwca_export_menu(){
9
  return array(
10
    /*'admin/config/system/dwca_export' => array(
11
      'title' => 'Darwin Core Archive export',
12
      'description' => t('Create a DarwinCore Archive of this scratchpad.'),
13
      'page callback' => 'drupal_get_form',
14
      'page arguments' => array(
15
        'dwca_export_config_form'
16
      ),
17
      'access arguments' => array(
18
        'access DwC-A export settings'
19
      ),
20
      'file' => 'dwca_export.admin.inc',
21
      'type' => MENU_NORMAL_ITEM
22
    ),*/
23
    'dwca.zip' => array(
24
      'page callback' => 'dwca_export_deliver_archive',
25
      'access arguments' => array(
26
        'access content'
27
      ),
28
      'file' => 'dwca_export.admin.inc',
29
      'type' => MENU_CALLBACK
30
    )
31
  );
32
}
33

  
48 34
/**
49 35
 * Implementation of hook_views_api()
50 36
 *
51 37
 * drupal will load dwca_export.views_default.inc when this hook is implemented
52
 */
53
function dwca_export_views_api() {
54
	return array(
55
		'api' => 3.0
56
	);
57
}
58

  
59
/**
60
* Implementation of hook_ctools_plugin_api().
61
*/
62
function dwca_export_ctools_plugin_api(){
63
	list($module, $api) = func_get_args();
64
	if($module == "strongarm" && $api == "strongarm"){
65
		return array(
66
      "version" => 1
67
		);
68
	}
69
}
70

  
71
/**
72
 * Form function, called by drupal_get_form()
73
 * in dwca_export_menu().
74
 */
75
function dwca_export_config_form($form, &$form_state) {
76

  
77
	global $base_url;
78

  
79
	$form['dwca_export_info'] = array(
80
		'#markup' => '<p>For general information on the DarwinCore Archive format please refer to  '
81
		. l('GBIF - Standards and Tools - Darwin Core Archives', 'http://www.gbif.org/informatics/standards-and-tools/publishing-data/data-standards/darwin-core-archives/')
82
		.'</p>'
83
	);
84

  
85
	$form['dwca_export_execute'] = array(
86
		'#markup' => '<p>The DarwinCore Archive export is available at '. l('dwca_export', 'dwca_export').'</p>'
87
		//'#type' => 'button',
88
		//'#value' => t('Export Scratchpad to DarwinCore Archive'), 
89
	  //'#weight' => 19,
90
	);
91
	
92
	$form['dwca_export_view_mapping'] = dwca_export_select_view_form();
93
	
94
	
95

  
96
	$form['#submit'][] = 'dwca_export_config_form_submit';
97
	return system_settings_form($form);
98

  
99
}
100

  
101

  
102
function dwca_export_select_view_form() {
103

  
104
	$views = array(
105
    		'#type' => 'fieldset',
106
    		'#title' => t('View to file mapping'),
107
    		//'#tree' => TRUE,
108
  	);
109

  
110
	foreach(variable_get(FILE_MAP) as $dwca_filename => $view_data){
111
		
112
		if ($dwca_filename == 'description') {
113
			
114
			
115
		$views[$dwca_filename] = array (
116
					'#type' => 'fieldset',
117
  					'#title' => t('DESCRIPTIVE DATA TYPES'),
118
				  	'#weight' => 3,
119
				  	'#collapsible' => TRUE,
120
				  	'#collapsed' => TRUE,
121
					//'#prefix' => '<table>',
122
		  			//'#suffix' => '</table>',	
123
				  	'#tree' => TRUE,
124
			
125
  		);
126
			foreach($view_data as $dwca_filename_inner => $view_data_inner){
127
				
128
				
129
				$views[$dwca_filename][$dwca_filename_inner] = array(
130
									  	'#type' => 'textfield',
131
									  	'#title' => t($dwca_filename . '_' . $dwca_filename_inner),
132
									  	'#default_value' => $view_data_inner['view_name'],
133
									  	'#size' => 60,
134
									  	'#description' => t('specify view for ' . $dwca_filename_inner),
135
									//'#prefix' => '<tr>',
136
								    //'#suffix' => '</tr>',
137
			
138
				);
139
								
140
				//TODO: Change collaped discription form to table, layout using <td> and <tr> e.g. try 3 description types per row
141
				
142
			}
143
			
144
		} else {
145
			$views[$dwca_filename] = array(
146
					  	'#type' => 'textfield',
147
					  	'#title' => t($dwca_filename),
148
					  	'#default_value' => $view_data['view_name'],
149
					  	'#size' => 60,
150
					  	'#description' => t('specify view for ' . $dwca_filename),
151
			
152
			);
153
		}
154
	}
155

  
156
	return $views;
157
}
158

  
159
function dwca_export_config_form_submit($form, &$form_state) {
160

  
161
	$variables = $form_state['input'];
162
	$save_variables = '';
163
	$dwca_export_archive_descriptor_file_map = variable_get(FILE_MAP);
164

  
165
	foreach ($variables as $key => $value) {
166

  
167
		if (array_key_exists($key, $dwca_export_archive_descriptor_file_map)) {
168

  
169
			$dwca_export_archive_descriptor_file_map[$key]['view_name'] = $value;
170
			//$save_variables .= '<p>' . $key . ' ' . $value . '</p>';
171
		} else {
172

  
173
			$description_key = 'description';
174
			
175
			if (array_key_exists($description_key, $dwca_export_archive_descriptor_file_map)) {
176
				
177
				//get the inner array containing the different description data types
178
				$description_map = $dwca_export_archive_descriptor_file_map[$description_key];
179

  
180
				if (array_key_exists($key, $description_map)) {
181
					drupal_set_message(t('The ooKEY is... ') . $key . t('The ooVALUE is... ') . $value);
182
					$dwca_export_archive_descriptor_file_map[$description_key][$key]['view_name'] = $value;
183
				}
184
			}
185
		}
186
	}
187

  
188
	variable_del(FILE_MAP);
189
	variable_set(FILE_MAP, $dwca_export_archive_descriptor_file_map);
190

  
191
	//drupal_set_message(t('The classification view is ') . $save_variables);// . '<pre>' . print_r($form_state,true) . '</pre>');//$save_variables);
192
}
193

  
194

  
195

  
196

  
197
// Reports an error if view name entered by the user does not exist in the database.
198
function dwca_export_config_form_validate($form, &$form_state) {
199
	
200
	$variables = $form_state['input'];
201
	$dwca_export_archive_descriptor_file_map = variable_get(FILE_MAP);
202
	$view_names = array();
203
	$missing_view_names = '';
204
	$missing_view = false;
205
	
206
	foreach ($variables as $key => $value) {
207
		
208
		//TODO: Check whether the views for the inner array cotaining all the description views exist
209
		if (array_key_exists($key, $dwca_export_archive_descriptor_file_map)) {
210
					
211
			$view = views_get_view($value);
212
			// check whether there is a view named with this value 
213
			if(!$view) {
214
				$view_names[] = $value;
215
				$missing_view_names .= $value . ', ';
216
				$missing_view = true;
217
			}
218
		}
219
	}
220
	
221
	if ($missing_view) {
222
		form_set_error('', t('VIEW(S) ' . $missing_view_names . ' NOT FOUND. Please input another view name.'));
223
	}
224
	
225
}
226

  
227
/**
228
 * menu callback
229
 */
230
function dwca_export_deliver_archive() {
231

  
232
	$tmp_archive_file_name = dwca_export_create_archive( _dwca_export_archive_descriptor_file_map() );
233

  
234
	if($tmp_archive_file_name && file_valid_uri($tmp_archive_file_name)){
235
		file_transfer($tmp_archive_file_name, array('Content-Type' => 'application/zip'));
236
	} else {
237
		throw new Exception(t('Error creating the archive'));
238
	}
239
}
240

  
241

  
242
/**
243
 * Provides the archive_descriptor_file_map which maps dwca file name to a set of view information.
244
 * The view information contains the fields 'view_name', 'display_id', 'out_file_url'.
245
 * The 'out_file_url' is initailly empty and will be set when this function is called
246
 * with both parameters.
247
 *
248
 * @param String $file_name
249
 * @param String $out_file_url
250
 *
251
 * @return the archive_descriptor_file_map
252
 */
253
function _dwca_export_archive_descriptor_file_map($file_name = NULL, $out_file_url = null){
254
	static $file_map;
255

  
256
	if(!isset($file_map)){
257
		$file_map = variable_get(FILE_MAP);
258
	}
259

  
260
	if($file_name && $out_file_url){
261
		
262
		if (in_array($file_name, dwca_export_view_names_array())) {
263
			
264
			$file_map[$file_name]['out_file_url'] = $out_file_url;
265
			
266
		} else {
267
		
268
			$file_map['description'][$file_name]['out_file_url'] = $out_file_url;
269
		}
270
	}
271

  
272
	return $file_map;
273
}
274

  
275

  
276
/**
277
 * Walks all view export paths defined in the $views_map.
278
 * Each file is downloaded to the tmp folder and a zip file
279
 * is bundeled of the resulting csv files plus the meta file.
280
 *
281
 * @param $views_map - maps a view paths to dwca filenames
282
 *
283
 * @return the path in the filesystem to the final archive,
284
 * or FALSE in case of an error.
285
 */
286
function dwca_export_create_archive($views_map) {
287
	
288
	// all data is exported to temporary://dwca_export_*
289
	// now we can start bundling the actual archive
290
	$tmp_archive_file_name = drupal_tempnam("temporary://", "dwca_export_archive_");
291
	
292
	// Unfortunately we cannot use drupals ArchiverZip because there ís
293
	// no way to pass in ZipArchive::CREATE to the constructor to create the archive
294
	// TODO test if zip functionality is available (i.e. if(function_exists('zip_open'))
295
	// but I don't know where the proper location for such a check would be
296
	$zip = new ZipArchive();
297
	// it is safe to use drupal_realpath as the tmp file will be certainly local
298
	// and php's ZipArchive does not handle stream URIs
299
	$result = $zip->open(drupal_realpath($tmp_archive_file_name), ZipArchive::CREATE);
300
	
301
	// there might be a better way to get at this information
302
	$module_static_dir_absolute_path = realpath(drupal_get_path('module', 'dwca_export')) . STATIC_DIR;
303
	
304
	if ($result !== TRUE) {
305
		throw new Exception(t('Could not create zip_archive %tmp_archive_file_name', array('%tmp_archive_file_name' => $tmp_archive_file_name)));
306
	}
307
	
308
	
309
	// add metadata
310
	$zip->addFile($module_static_dir_absolute_path.METADATA_FILE_NAME, METADATA_FILE_NAME);
311

  
312
	global $base_url;
313

  
314
	// execute all views to export the data into
315
	// temporary csv files (temporary://dwca_export_*). the resulting filenames
316
	// will be stored in _dwca_export_archive_descriptor_file_map()
317
	foreach($views_map as $filename=>$view_data){
318
	
319
		//lorna
320
		if ($filename == 'description') {
321
			
322
			//lorna: this foreach iterates through all the description types in the inner array
323
			foreach($view_data as $filename_inner => $view_data_inner){
324
				$view = views_get_view($view_data_inner['view_name']);
325
					
326
				$options = array (
327
					'output_file' => $filename_inner
328
				);
329
					
330
				_dwca_export_views_data_export_override_batch($view, $view_data_inner['display_id'], $options);
331

  
332
				if ($view) {
333
					$view->execute_display($view_data_inner['display_id']);
334
				}else{
335
					throw new Exception(t('A view with the name %view does not exist', array('%view' => $view_data_inner['view_name'])));
336
				}
337
			}
338
			
339
		}
340
		else {
341
			$view = views_get_view($view_data['view_name']);
342
			$options = array (
343
					    'output_file' => $filename
344
			);
345
			_dwca_export_views_data_export_override_batch($view, $view_data['display_id'], $options);
346
				
347
			if ($view) {
348
				$view->execute_display($view_data['display_id']);
349
			} else{
350
				throw new Exception(t('A view with the name %view does not exist', array('%view' => $view_data['view_name'])));
351
			}
352
		}
353
		//end lorna
354

  
355
	}
356

  
357
	// add the csv data files
358
	foreach(_dwca_export_archive_descriptor_file_map() as $dwca_filename=>$view_data){
359

  
360
		if ($dwca_filename == 'description') {
361
			
362
			_dwca_export_concatenate_description_files($view_data, $zip);
363
			
364
		} else {
365
		
366
			$view_temp_file = $view_data['out_file_url'];
367
			_dwca_export_add_files_to_zip($view_temp_file, $dwca_filename, $zip);
368
		}
369
		
370
	}
371

  
372
	$zip->close();
373

  
374
	return $tmp_archive_file_name;
375
}
376

  
377
/**
378
 * 
379
 * Combines multiple Description Views for different description types into a single text file
380
 * @param $view_data The inner array containing the view data for the different description types
381
 * @param $zip The zip file for the files making up the DwC-A.
382
 */
383
function _dwca_export_concatenate_description_files($view_data, $zip){
384
	
385
	$desc_file_name = drupal_tempnam("temporary://", "description.tmp");
386
	$desc_file = fopen(drupal_realpath($desc_file_name), "w");	
387
	
388
	foreach($view_data as $type=>$view_data_inner){
389

  
390
		$view_temp_file = $view_data_inner['out_file_url'];
391

  
392
		$descTypeFile = fopen($view_temp_file, "r");
393

  
394
		while(!feof($descTypeFile)){
395
			$lineOfText = fgets($descTypeFile, 4096);
396

  
397
			$items = explode(',', $lineOfText);
398
			
399
			//don't include empty descriptions or lines at the end of the view which start with the field name id
400
			//some lines just contain a single " if there is a carriage return within the description text so remove these too
401
			
402
			if (isset($items[0]) && isset($items[2])) {
403
				
404
				if ($items[0]!=="\"id\""  && trim($items[2])!=="\"\"") {
405
				
406
					// fix conflict with files that have an EOL that differs from the server EOL
407
					$lineOfText = rtrim($lineOfText, "\r\n") . PHP_EOL;
408
					fwrite($desc_file, $lineOfText);
409
				
410
				}	
411
				
412
			} else {
413
				fgets($descTypeFile, 4096);
414
			}
415

  
416
		}
417

  
418
		fclose($descTypeFile);
419
	}
420
	fclose($desc_file);
421

  
422
	_dwca_export_add_files_to_zip($desc_file_name, 'description', $zip);
423
}
424

  
425
function _dwca_export_add_files_to_zip($view_temp_file = NULL, $dwca_filename, $zip){
426
	
427
	if($view_temp_file){
428
		$zip->addFile(drupal_realpath($view_temp_file), $dwca_filename . FILE_EXTENSION);
429
	}else{
430
		throw new Exception(t('Cannot create %file', array('%file' => $dwca_filename)));
431
	}
432
}
433

  
434
/**
435
 * Helper function that indicates that we want to
436
 * override the batch that the views_data_export view creates
437
 * on it's initial time through.
438
 *
439
 * Also provides a place to stash options that need to stay around
440
 * until the end of the batch
441
 *
442
 * adapted fom views_data_export.drush.inc
443
 */
444
function _dwca_export_views_data_export_override_batch($view = NULL, $display = NULL, $options = TRUE) {
445
	
446
	static $_views;
447
	if (isset($view)) {
448
		
449
		$_views[$view->name][$display] = $options;
450
	}
451
	return $_views;
452
}
453

  
454

  
455
/**
456
 * Implementation of hook_views_data_export_batch_alter()
457
 *
458
 * adapted fom views_data_export.drush.inc
459
 *
460
 *  @see batch_process() in form.inc
461
 */
462
function dwca_export_views_data_export_batch_alter(&$batch, &$final_destination, &$querystring) {
463

  
464
	$view_name = $batch['view_name'];
465
	$display_id = $batch['display_id'];
466

  
467
	$ok_to_override = _dwca_export_views_data_export_override_batch();
468

  
469
	// Make sure we do nothing if we are called not following the execution of
470
	// our drush command. This could happen if the file with this function in it
471
	// is included during the normal execution of the view
472
	if (!$ok_to_override[$view_name][$display_id]) {
473
		return;
474
	}
475

  
476
	$options = $ok_to_override[$view_name][$display_id];
477

  
478
	// We actually never return from the drupal_alter, but
479
	// use drush's batch system to run the same batch
480

  
481
	// Add a final callback
482
	$batch['operations'][] = array(
483
	    '_dwca_export_views_data_export_batch_finished', array($batch['eid'], $options['output_file']),
484
	);
485

  
486
	$batch['progressive'] = FALSE;
487
}
488

  
489
/**
490
* Implementation of hook_views_data_export_batch_alter()
491
*
492
* @see batch_process() in form.inc
493
*/
494
function dwca_export_batch_alter(&$batch, &$final_destination, &$querystring) {
495
	
496
	if($batch['source_url'] == 'dwca_export'){
497
		$batch['progressive'] = FALSE;
498
	}
499
}
500

  
501

  
502

  
503
/**
504
* Get's called at the end of the drush batch process that generated our export
505
*
506
* adapted fom views_data_export.drush.inc
507
*/
508
function _dwca_export_views_data_export_batch_finished($eid, $output_file, &$context) {
509
	// Fetch export info
510
	$export = views_data_export_get($eid);
511

  
512
	// Perform cleanup
513
	$view = views_data_export_view_retrieve($eid);
514
	$view->set_display($export->view_display_id);
515
	$view->display_handler->batched_execution_state = $export;
516
	$view->display_handler->remove_index();
517

  
518
	// Get path to temp file
519
	$temp_file = $view->display_handler->outputfile_path();
520

  
521
	_dwca_export_archive_descriptor_file_map($output_file, $temp_file);
522

  
523
}
524

  
525
function dwca_export_permission() {
526
	return array(
527
    'administer dwca-export' => array(
528
      'title' => t('Access dwca-export'),
529
      'description' => t('Allows user to access DwC-A export configuration page and execute export of the DwC-A data.'),
530
	));
38
 */
39
function dwca_export_views_api(){
40
  return array(
41
    'api' => 3.0
42
  );
43
}
44

  
45
/**
46
 * Implements hook_dwca_export_module()
47
 */
48
function dwca_export_dwca_export(){
49
  return TRUE;
50
}
51

  
52
/**
53
 * 
54
 * Implements hook_cron().
55
 */
56
function dwca_export_cron(){
57
  module_load_include('cron.inc', 'dwca_export');
58
  _dwca_export_cron();
59
}
60

  
61
/**
62
 * Implements hook_entity_insert()
63
 */
64
function dwca_export_entity_insert($entity, $type){
65
  switch($type){
66
    case 'taxonomy_term':
67
      $biological_vids = variable_get('biological_vids', array());
68
      if(isset($biological_vids[$entity->vid]) && $biological_vids[$entity->vid]){
69
        variable_set('dwca_export_rebuild', TRUE);
70
      }
71
      break;
72
    case 'node':
73
      if($entity->type == 'spm' || $entity->type == 'biblio' || $entity->type == 'specimen_observation'){
74
        variable_set('dwca_export_rebuild', TRUE);
75
      }
76
  }
77
}
78

  
79
/**
80
 * Implements hook_entity_delete()
81
 */
82
function dwca_export_entity_delete($entity, $type){
83
  dwca_export_entity_insert($entity, $type);
84
}
85

  
86
/**
87
 * Implements hook_entity_update()
88
 */
89
function dwca_export_entity_update($entity, $type){
90
  dwca_export_entity_insert($entity, $type);
91
}
92

  
93
/**
94
 * Implements hook_permission()
95
 */
96
function dwca_export_permission(){
97
  return array(
98
    'administer dwca-export' => array(
99
      'title' => t('Access dwca-export'),
100
      'description' => t('Allows user to access DwC-A export configuration page and execute export of the DwC-A data.')
101
    )
102
  );
531 103
}
7.x/modules/dwca_export/dwca_export.views_default.inc
1 1
<?php
2 2

  
3

  
4
/**
5
 * Implementation of hook_views_default_views().
6
 *
7
 * @see dwca_export_views_api()
3
/**
4
 * Implementation of hook_views_default_views().
5
 *
6
 * @see dwca_export_views_api()
8 7
 */
9
function dwca_export_views_default_views() {
10

  
11
	static $view_description_names = array('general_description', 'morphology', 'behavious', 'biology',
12
	'conservation_status', 'legislation', 'management', 'procedures',
13
	'threats','associations','cyclicity','diagnostic_description',
14
	'diseases', 'dispersal', 'distribution', 'ecology',
15
	'evolution', 'genetics' ,'growth', 'habitat', 
16
	'life_cycle', 'life_expectancy', 'look_alikes', 'migration',
17
	'molecular_biology', 'physiology', 'population_biology', 'reproduction',
18
	'risk_statement', 'size', 'taxon_biology', 'trophic_strategy', 
19
	'uses');
20

  
21
	$views = array();
22

  
23
	foreach (dwca_export_view_names_array() as $function_postfix) {
24

  
25
		$function = '_view_' . $function_postfix;
26
		$view = $function();
27
		$views[$view->name] = $view;
28
		watchdog("dwca_export", "hook_views_default_views() : view '".$view->name."'");
29
	}
30
	
31
	foreach ($view_description_names as $desc_type) {
32
		$function = '_view_description';
33
		$view = $function($desc_type);
34
		$views[$view->name] = $view;
35
		watchdog("dwca_export", "hook_views_default_views() : view '".$view->name."'");
36
	}
37
	
38
	
39
	return $views;
8
function dwca_export_views_default_views(){
9
  static $view_description_names = array(
10
    'general_description',
11
    'morphology',
12
    'behavious',
13
    'biology',
14
    'conservation_status',
15
    'legislation',
16
    'management',
17
    'procedures',
18
    'threats',
19
    'associations',
20
    'cyclicity',
21
    'diagnostic_description',
22
    'diseases',
23
    'dispersal',
24
    'distribution',
25
    'ecology',
26
    'evolution',
27
    'genetics',
28
    'growth',
29
    'habitat',
30
    'life_cycle',
31
    'life_expectancy',
32
    'look_alikes',
33
    'migration',
34
    'molecular_biology',
35
    'physiology',
36
    'population_biology',
37
    'reproduction',
38
    'risk_statement',
39
    'size',
40
    'taxon_biology',
41
    'trophic_strategy',
42
    'uses'
43
  );
44
  $views = array();
45
  //----------------------------------------------------------------------------
46
  // CLASSIFICATION
47
  //----------------------------------------------------------------------------
48
  $view = new view();
49
  $view->name = 'dwca_export_classification';
50
  $view->description = 'DwC-A core data for a Taxon';
51
  $view->tag = 'default';
52
  $view->base_table = 'taxonomy_term_data';
53
  $view->human_name = 'DwC-A Export Classification';
54
  $view->core = 7;
55
  $view->api_version = '3.0';
56
  $view->disabled = FALSE;
57
  /* Display: Master */
58
  $handler = $view->new_display('default', 'Master', 'default');
59
  $handler->display->display_options['title'] = 'Classification Export View';
60
  $handler->display->display_options['access']['type'] = 'perm';
61
  $handler->display->display_options['cache']['type'] = 'none';
62
  $handler->display->display_options['query']['type'] = 'views_query';
63
  $handler->display->display_options['query']['options']['query_comment'] = FALSE;
64
  $handler->display->display_options['exposed_form']['type'] = 'basic';
65
  $handler->display->display_options['pager']['type'] = 'none';
66
  $handler->display->display_options['pager']['options']['offset'] = '0';
67
  $handler->display->display_options['style_plugin'] = 'table';
68
  /* Relationship: Taxonomy term: Parent term */
69
  $handler->display->display_options['relationships']['parent']['id'] = 'parent';
70
  $handler->display->display_options['relationships']['parent']['table'] = 'taxonomy_term_hierarchy';
71
  $handler->display->display_options['relationships']['parent']['field'] = 'parent';
72
  $handler->display->display_options['relationships']['parent']['required'] = 0;
73
  /* Relationship: Taxonomy term: Reference (field_reference) */
74
  $handler->display->display_options['relationships']['field_reference_nid']['id'] = 'field_reference_nid';
75
  $handler->display->display_options['relationships']['field_reference_nid']['table'] = 'field_data_field_reference';
76
  $handler->display->display_options['relationships']['field_reference_nid']['field'] = 'field_reference_nid';
77
  $handler->display->display_options['relationships']['field_reference_nid']['required'] = 0;
78
  $handler->display->display_options['relationships']['field_reference_nid']['delta'] = '-1';
79
  /* Field: Taxonomy term: Taxonomy term UUID */
80
  $handler->display->display_options['fields']['uuid']['id'] = 'uuid';
81
  $handler->display->display_options['fields']['uuid']['table'] = 'taxonomy_term_data';
82
  $handler->display->display_options['fields']['uuid']['field'] = 'uuid';
83
  $handler->display->display_options['fields']['uuid']['alter']['alter_text'] = 0;
84
  $handler->display->display_options['fields']['uuid']['alter']['make_link'] = 0;
85
  $handler->display->display_options['fields']['uuid']['alter']['absolute'] = 0;
86
  $handler->display->display_options['fields']['uuid']['alter']['external'] = 0;
87
  $handler->display->display_options['fields']['uuid']['alter']['replace_spaces'] = 0;
88
  $handler->display->display_options['fields']['uuid']['alter']['trim_whitespace'] = 0;
89
  $handler->display->display_options['fields']['uuid']['alter']['nl2br'] = 0;
90
  $handler->display->display_options['fields']['uuid']['alter']['word_boundary'] = 1;
91
  $handler->display->display_options['fields']['uuid']['alter']['ellipsis'] = 1;
92
  $handler->display->display_options['fields']['uuid']['alter']['more_link'] = 0;
93
  $handler->display->display_options['fields']['uuid']['alter']['strip_tags'] = 0;
94
  $handler->display->display_options['fields']['uuid']['alter']['trim'] = 0;
95
  $handler->display->display_options['fields']['uuid']['alter']['html'] = 0;
96
  $handler->display->display_options['fields']['uuid']['element_label_colon'] = 1;
97
  $handler->display->display_options['fields']['uuid']['element_default_classes'] = 1;
98
  $handler->display->display_options['fields']['uuid']['hide_empty'] = 0;
99
  $handler->display->display_options['fields']['uuid']['empty_zero'] = 0;
100
  $handler->display->display_options['fields']['uuid']['hide_alter_empty'] = 1;
101
  /* Field: Taxonomy term: Name */
102
  $handler->display->display_options['fields']['name_1']['id'] = 'name_1';
103
  $handler->display->display_options['fields']['name_1']['table'] = 'taxonomy_term_data';
104
  $handler->display->display_options['fields']['name_1']['field'] = 'name';
105
  $handler->display->display_options['fields']['name_1']['label'] = 'scientificName';
106
  $handler->display->display_options['fields']['name_1']['alter']['alter_text'] = 0;
107
  $handler->display->display_options['fields']['name_1']['alter']['make_link'] = 0;
108
  $handler->display->display_options['fields']['name_1']['alter']['absolute'] = 0;
109
  $handler->display->display_options['fields']['name_1']['alter']['external'] = 0;
110
  $handler->display->display_options['fields']['name_1']['alter']['replace_spaces'] = 0;
111
  $handler->display->display_options['fields']['name_1']['alter']['trim_whitespace'] = 0;
112
  $handler->display->display_options['fields']['name_1']['alter']['nl2br'] = 0;
113
  $handler->display->display_options['fields']['name_1']['alter']['word_boundary'] = 1;
114
  $handler->display->display_options['fields']['name_1']['alter']['ellipsis'] = 1;
115
  $handler->display->display_options['fields']['name_1']['alter']['strip_tags'] = 0;
116
  $handler->display->display_options['fields']['name_1']['alter']['trim'] = 0;
117
  $handler->display->display_options['fields']['name_1']['alter']['html'] = 0;
118
  $handler->display->display_options['fields']['name_1']['element_label_colon'] = 1;
119
  $handler->display->display_options['fields']['name_1']['element_default_classes'] = 1;
120
  $handler->display->display_options['fields']['name_1']['hide_empty'] = 0;
121
  $handler->display->display_options['fields']['name_1']['empty_zero'] = 0;
122
  $handler->display->display_options['fields']['name_1']['hide_alter_empty'] = 0;
123
  $handler->display->display_options['fields']['name_1']['link_to_taxonomy'] = 0;
124
  /* Field: Taxonomy term: Vernacular names */
125
  $handler->display->display_options['fields']['field_vernacular_names']['id'] = 'field_vernacular_names';
126
  $handler->display->display_options['fields']['field_vernacular_names']['table'] = 'field_data_field_vernacular_names';
127
  $handler->display->display_options['fields']['field_vernacular_names']['field'] = 'field_vernacular_names';
128
  $handler->display->display_options['fields']['field_vernacular_names']['label'] = 'vernacularName';
129
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['alter_text'] = 0;
130
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['make_link'] = 0;
131
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['absolute'] = 0;
132
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['external'] = 0;
133
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['replace_spaces'] = 0;
134
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['trim_whitespace'] = 0;
135
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['nl2br'] = 0;
136
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['word_boundary'] = 1;
137
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['ellipsis'] = 1;
138
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['strip_tags'] = 0;
139
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['trim'] = 0;
140
  $handler->display->display_options['fields']['field_vernacular_names']['alter']['html'] = 0;
141
  $handler->display->display_options['fields']['field_vernacular_names']['element_label_colon'] = 1;
142
  $handler->display->display_options['fields']['field_vernacular_names']['element_default_classes'] = 1;
143
  $handler->display->display_options['fields']['field_vernacular_names']['hide_empty'] = 0;
144
  $handler->display->display_options['fields']['field_vernacular_names']['empty_zero'] = 0;
145
  $handler->display->display_options['fields']['field_vernacular_names']['hide_alter_empty'] = 1;
146
  $handler->display->display_options['fields']['field_vernacular_names']['group_rows'] = 1;
147
  $handler->display->display_options['fields']['field_vernacular_names']['delta_offset'] = '0';
148
  $handler->display->display_options['fields']['field_vernacular_names']['delta_reversed'] = 0;
149
  $handler->display->display_options['fields']['field_vernacular_names']['delta_first_last'] = 0;
150
  $handler->display->display_options['fields']['field_vernacular_names']['field_api_classes'] = 0;
151
  /* Field: Taxonomy term: Usage */
152
  $handler->display->display_options['fields']['field_usage']['id'] = 'field_usage';
153
  $handler->display->display_options['fields']['field_usage']['table'] = 'field_data_field_usage';
154
  $handler->display->display_options['fields']['field_usage']['field'] = 'field_usage';
155
  $handler->display->display_options['fields']['field_usage']['exclude'] = TRUE;
156
  $handler->display->display_options['fields']['field_usage']['alter']['alter_text'] = 0;
157
  $handler->display->display_options['fields']['field_usage']['alter']['make_link'] = 0;
158
  $handler->display->display_options['fields']['field_usage']['alter']['absolute'] = 0;
159
  $handler->display->display_options['fields']['field_usage']['alter']['external'] = 0;
160
  $handler->display->display_options['fields']['field_usage']['alter']['replace_spaces'] = 0;
161
  $handler->display->display_options['fields']['field_usage']['alter']['trim_whitespace'] = 0;
162
  $handler->display->display_options['fields']['field_usage']['alter']['nl2br'] = 0;
163
  $handler->display->display_options['fields']['field_usage']['alter']['word_boundary'] = 1;
164
  $handler->display->display_options['fields']['field_usage']['alter']['ellipsis'] = 1;
165
  $handler->display->display_options['fields']['field_usage']['alter']['more_link'] = 0;
166
  $handler->display->display_options['fields']['field_usage']['alter']['strip_tags'] = 0;
167
  $handler->display->display_options['fields']['field_usage']['alter']['trim'] = 0;
168
  $handler->display->display_options['fields']['field_usage']['alter']['html'] = 0;
169
  $handler->display->display_options['fields']['field_usage']['element_label_colon'] = 1;
170
  $handler->display->display_options['fields']['field_usage']['element_default_classes'] = 1;
171
  $handler->display->display_options['fields']['field_usage']['hide_empty'] = 0;
172
  $handler->display->display_options['fields']['field_usage']['empty_zero'] = 0;
173
  $handler->display->display_options['fields']['field_usage']['hide_alter_empty'] = 1;
174
  $handler->display->display_options['fields']['field_usage']['field_api_classes'] = 0;
175
  /* Field: Taxonomy term: Unacceptability Reason */
176
  $handler->display->display_options['fields']['field_unacceptability_reason']['id'] = 'field_unacceptability_reason';
177
  $handler->display->display_options['fields']['field_unacceptability_reason']['table'] = 'field_data_field_unacceptability_reason';
178
  $handler->display->display_options['fields']['field_unacceptability_reason']['field'] = 'field_unacceptability_reason';
179
  $handler->display->display_options['fields']['field_unacceptability_reason']['label'] = 'taxonomicStatus';
180
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['alter_text'] = 0;
181
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['make_link'] = 0;
182
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['absolute'] = 0;
183
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['external'] = 0;
184
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['replace_spaces'] = 0;
185
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['trim_whitespace'] = 0;
186
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['nl2br'] = 0;
187
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['word_boundary'] = 1;
188
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['ellipsis'] = 1;
189
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['more_link'] = 0;
190
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['strip_tags'] = 0;
191
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['trim'] = 0;
192
  $handler->display->display_options['fields']['field_unacceptability_reason']['alter']['html'] = 0;
193
  $handler->display->display_options['fields']['field_unacceptability_reason']['element_label_colon'] = 1;
194
  $handler->display->display_options['fields']['field_unacceptability_reason']['element_default_classes'] = 1;
195
  $handler->display->display_options['fields']['field_unacceptability_reason']['empty'] = '[field_usage]';
196
  $handler->display->display_options['fields']['field_unacceptability_reason']['hide_empty'] = 0;
197
  $handler->display->display_options['fields']['field_unacceptability_reason']['empty_zero'] = 0;
198
  $handler->display->display_options['fields']['field_unacceptability_reason']['hide_alter_empty'] = 1;
199
  $handler->display->display_options['fields']['field_unacceptability_reason']['field_api_classes'] = 0;
200
  /* Field: Taxonomy term: Rank */
201
  $handler->display->display_options['fields']['field_rank']['id'] = 'field_rank';
202
  $handler->display->display_options['fields']['field_rank']['table'] = 'field_data_field_rank';
203
  $handler->display->display_options['fields']['field_rank']['field'] = 'field_rank';
204
  $handler->display->display_options['fields']['field_rank']['label'] = 'taxonRank';
205
  $handler->display->display_options['fields']['field_rank']['alter']['alter_text'] = 0;
206
  $handler->display->display_options['fields']['field_rank']['alter']['make_link'] = 0;
207
  $handler->display->display_options['fields']['field_rank']['alter']['absolute'] = 0;
208
  $handler->display->display_options['fields']['field_rank']['alter']['external'] = 0;
209
  $handler->display->display_options['fields']['field_rank']['alter']['replace_spaces'] = 0;
210
  $handler->display->display_options['fields']['field_rank']['alter']['trim_whitespace'] = 0;
211
  $handler->display->display_options['fields']['field_rank']['alter']['nl2br'] = 0;
212
  $handler->display->display_options['fields']['field_rank']['alter']['word_boundary'] = 1;
213
  $handler->display->display_options['fields']['field_rank']['alter']['ellipsis'] = 1;
214
  $handler->display->display_options['fields']['field_rank']['alter']['strip_tags'] = 0;
215
  $handler->display->display_options['fields']['field_rank']['alter']['trim'] = 0;
216
  $handler->display->display_options['fields']['field_rank']['alter']['html'] = 0;
217
  $handler->display->display_options['fields']['field_rank']['element_label_colon'] = 1;
218
  $handler->display->display_options['fields']['field_rank']['element_default_classes'] = 1;
219
  $handler->display->display_options['fields']['field_rank']['hide_empty'] = 0;
220
  $handler->display->display_options['fields']['field_rank']['empty_zero'] = 0;
221
  $handler->display->display_options['fields']['field_rank']['hide_alter_empty'] = 1;
222
  $handler->display->display_options['fields']['field_rank']['field_api_classes'] = 0;
223
  /* Field: Taxonomy term: Authors */
224
  $handler->display->display_options['fields']['field_authors']['id'] = 'field_authors';
225
  $handler->display->display_options['fields']['field_authors']['table'] = 'field_data_field_authors';
226
  $handler->display->display_options['fields']['field_authors']['field'] = 'field_authors';
227
  $handler->display->display_options['fields']['field_authors']['label'] = 'scientificNameAuthorship';
228
  $handler->display->display_options['fields']['field_authors']['alter']['alter_text'] = 0;
229
  $handler->display->display_options['fields']['field_authors']['alter']['make_link'] = 0;
230
  $handler->display->display_options['fields']['field_authors']['alter']['absolute'] = 0;
231
  $handler->display->display_options['fields']['field_authors']['alter']['external'] = 0;
232
  $handler->display->display_options['fields']['field_authors']['alter']['replace_spaces'] = 0;
233
  $handler->display->display_options['fields']['field_authors']['alter']['trim_whitespace'] = 0;
234
  $handler->display->display_options['fields']['field_authors']['alter']['nl2br'] = 0;
235
  $handler->display->display_options['fields']['field_authors']['alter']['word_boundary'] = 1;
236
  $handler->display->display_options['fields']['field_authors']['alter']['ellipsis'] = 1;
237
  $handler->display->display_options['fields']['field_authors']['alter']['strip_tags'] = 0;
238
  $handler->display->display_options['fields']['field_authors']['alter']['trim'] = 0;
239
  $handler->display->display_options['fields']['field_authors']['alter']['html'] = 0;
240
  $handler->display->display_options['fields']['field_authors']['element_label_colon'] = 1;
241
  $handler->display->display_options['fields']['field_authors']['element_default_classes'] = 1;
242
  $handler->display->display_options['fields']['field_authors']['hide_empty'] = 0;
243
  $handler->display->display_options['fields']['field_authors']['empty_zero'] = 0;
244
  $handler->display->display_options['fields']['field_authors']['hide_alter_empty'] = 1;
245
  $handler->display->display_options['fields']['field_authors']['field_api_classes'] = 0;
246
  /* Field: Taxonomy term: Reference */
247
  /* Field: Biblio: Biblio Citation */
248
  $handler->display->display_options['fields']['citation']['id'] = 'citation';
249
  $handler->display->display_options['fields']['citation']['table'] = 'biblio';
250
  $handler->display->display_options['fields']['citation']['field'] = 'citation';
251
  $handler->display->display_options['fields']['citation']['relationship'] = 'field_reference_nid';
252
  $handler->display->display_options['fields']['citation']['alter']['alter_text'] = 0;
253
  $handler->display->display_options['fields']['citation']['alter']['make_link'] = 0;
254
  $handler->display->display_options['fields']['citation']['alter']['absolute'] = 0;
255
  $handler->display->display_options['fields']['citation']['alter']['external'] = 0;
256
  $handler->display->display_options['fields']['citation']['alter']['replace_spaces'] = 0;
257
  $handler->display->display_options['fields']['citation']['alter']['trim_whitespace'] = 0;
258
  $handler->display->display_options['fields']['citation']['alter']['nl2br'] = 0;
259
  $handler->display->display_options['fields']['citation']['alter']['word_boundary'] = 1;
260
  $handler->display->display_options['fields']['citation']['alter']['ellipsis'] = 1;
261
  $handler->display->display_options['fields']['citation']['alter']['more_link'] = 0;
262
  $handler->display->display_options['fields']['citation']['alter']['strip_tags'] = 0;
263
  $handler->display->display_options['fields']['citation']['alter']['trim'] = 0;
264
  $handler->display->display_options['fields']['citation']['alter']['html'] = 0;
265
  $handler->display->display_options['fields']['citation']['element_label_colon'] = 1;
266
  $handler->display->display_options['fields']['citation']['element_default_classes'] = 1;
267
  $handler->display->display_options['fields']['citation']['hide_empty'] = 0;
268
  $handler->display->display_options['fields']['citation']['empty_zero'] = 0;
269
  $handler->display->display_options['fields']['citation']['hide_alter_empty'] = 1;
270
  $handler->display->display_options['fields']['citation']['style_name'] = 'chicago-author-date.csl';
271
  $handler->display->display_options['fields']['citation']['export_links'] = 0;
272
  $handler->display->display_options['fields']['citation']['file_attachments'] = 0;
273
  $handler->display->display_options['fields']['citation']['open_url_link'] = 0;
274
  /* Field: Taxonomy term: Taxonomy term UUID */
275
  $handler->display->display_options['fields']['uuid_1']['id'] = 'uuid_1';
276
  $handler->display->display_options['fields']['uuid_1']['table'] = 'taxonomy_term_data';
277
  $handler->display->display_options['fields']['uuid_1']['field'] = 'uuid';
278
  $handler->display->display_options['fields']['uuid_1']['relationship'] = 'parent';
279
  $handler->display->display_options['fields']['uuid_1']['alter']['alter_text'] = 0;
280
  $handler->display->display_options['fields']['uuid_1']['alter']['make_link'] = 0;
281
  $handler->display->display_options['fields']['uuid_1']['alter']['absolute'] = 0;
282
  $handler->display->display_options['fields']['uuid_1']['alter']['external'] = 0;
283
  $handler->display->display_options['fields']['uuid_1']['alter']['replace_spaces'] = 0;
284
  $handler->display->display_options['fields']['uuid_1']['alter']['trim_whitespace'] = 0;
285
  $handler->display->display_options['fields']['uuid_1']['alter']['nl2br'] = 0;
286
  $handler->display->display_options['fields']['uuid_1']['alter']['word_boundary'] = 1;
287
  $handler->display->display_options['fields']['uuid_1']['alter']['ellipsis'] = 1;
288
  $handler->display->display_options['fields']['uuid_1']['alter']['more_link'] = 0;
289
  $handler->display->display_options['fields']['uuid_1']['alter']['strip_tags'] = 0;
290
  $handler->display->display_options['fields']['uuid_1']['alter']['trim'] = 0;
291
  $handler->display->display_options['fields']['uuid_1']['alter']['html'] = 0;
292
  $handler->display->display_options['fields']['uuid_1']['element_label_colon'] = 1;
293
  $handler->display->display_options['fields']['uuid_1']['element_default_classes'] = 1;
294
  $handler->display->display_options['fields']['uuid_1']['hide_empty'] = 0;
295
  $handler->display->display_options['fields']['uuid_1']['empty_zero'] = 0;
296
  $handler->display->display_options['fields']['uuid_1']['hide_alter_empty'] = 1;
297
  /* Sort criterion: Taxonomy term: Term ID */
298
  $handler->display->display_options['sorts']['tid']['id'] = 'tid';
299
  $handler->display->display_options['sorts']['tid']['table'] = 'taxonomy_term_data';
300
  $handler->display->display_options['sorts']['tid']['field'] = 'tid';
301
  /* Filter criterion: Taxonomy vocabulary: Machine name */
302
  $handler->display->display_options['filters']['machine_name']['id'] = 'machine_name';
303
  $handler->display->display_options['filters']['machine_name']['table'] = 'taxonomy_vocabulary';
304
  $handler->display->display_options['filters']['machine_name']['field'] = 'machine_name';
305
  $handler->display->display_options['filters']['machine_name']['operator'] = 'not in';
306
  $handler->display->display_options['filters']['machine_name']['value'] = array(
307
    'image_keywords' => 'image_keywords',
308
    'imaging_technique' => 'imaging_technique',
309
    'preparation_technique' => 'preparation_technique'
310
  );
311
  /* Display: Page */
312
  $handler = $view->new_display('page', 'Page', 'page');
313
  $handler->display->display_options['path'] = 'dwca_export/classification/page';
314
  /* Display: Data export */
315
  $handler = $view->new_display('views_data_export', 'Data export', 'views_data_export_1');
316
  $handler->display->display_options['pager']['type'] = 'none';
317
  $handler->display->display_options['pager']['options']['offset'] = '0';
318
  $handler->display->display_options['style_plugin'] = 'views_data_export_csv';
319
  $handler->display->display_options['style_options']['provide_file'] = 0;
320
  $handler->display->display_options['style_options']['parent_sort'] = 0;
321
  $handler->display->display_options['style_options']['quote'] = 1;
322
  $handler->display->display_options['style_options']['trim'] = 1;
323
  $handler->display->display_options['style_options']['replace_newlines'] = 1;
324
  $handler->display->display_options['style_options']['newline_replacement'] = '\\r';
325
  $handler->display->display_options['style_options']['header'] = 0;
326
  $handler->display->display_options['path'] = 'dwca_export/classification/csv';
327
  $handler->display->display_options['use_batch'] = '0';
328
  $views[$view->name] = $view;
329
  //----------------------------------------------------------------------------
330
  // REFERENCE
331
  //----------------------------------------------------------------------------
332
  $view = new view();
333
  $view->name = 'dwca_export_reference';
334
  $view->description = 'DwC-A reference extension for a Taxon';
335
  $view->tag = 'default';
336
  $view->base_table = 'node';
337
  $view->human_name = 'DwC-A Export Reference';
338
  $view->core = 7;
339
  $view->api_version = '3.0';
340
  $view->disabled = FALSE;
341
  /* Display: Master */
342
  $handler = $view->new_display('default', 'Master', 'default');
343
  $handler->display->display_options['title'] = 'Reference Export';
344
  $handler->display->display_options['access']['type'] = 'perm';
345
  $handler->display->display_options['cache']['type'] = 'none';
346
  $handler->display->display_options['query']['type'] = 'views_query';
347
  $handler->display->display_options['query']['options']['query_comment'] = FALSE;
348
  $handler->display->display_options['exposed_form']['type'] = 'basic';
349
  $handler->display->display_options['pager']['type'] = 'full';
350
  $handler->display->display_options['pager']['options']['items_per_page'] = '10';
351
  $handler->display->display_options['style_plugin'] = 'default';
352
  $handler->display->display_options['row_plugin'] = 'node';
353
  /* Relationship: Field: Taxonomic name (field_taxonomic_name) */
354
  $handler->display->display_options['relationships']['field_taxonomic_name_tid']['id'] = 'field_taxonomic_name_tid';
355
  $handler->display->display_options['relationships']['field_taxonomic_name_tid']['table'] = 'field_data_field_taxonomic_name';
356
  $handler->display->display_options['relationships']['field_taxonomic_name_tid']['field'] = 'field_taxonomic_name_tid';
357
  $handler->display->display_options['relationships']['field_taxonomic_name_tid']['required'] = 1;
358
  /* Field: Taxonomy term: Taxonomy term UUID */
359
  $handler->display->display_options['fields']['uuid']['id'] = 'uuid';
360
  $handler->display->display_options['fields']['uuid']['table'] = 'taxonomy_term_data';
361
  $handler->display->display_options['fields']['uuid']['field'] = 'uuid';
362
  $handler->display->display_options['fields']['uuid']['relationship'] = 'field_taxonomic_name_tid';
363
  $handler->display->display_options['fields']['uuid']['alter']['alter_text'] = 0;
364
  $handler->display->display_options['fields']['uuid']['alter']['make_link'] = 0;
365
  $handler->display->display_options['fields']['uuid']['alter']['absolute'] = 0;
366
  $handler->display->display_options['fields']['uuid']['alter']['external'] = 0;
367
  $handler->display->display_options['fields']['uuid']['alter']['replace_spaces'] = 0;
368
  $handler->display->display_options['fields']['uuid']['alter']['trim_whitespace'] = 0;
369
  $handler->display->display_options['fields']['uuid']['alter']['nl2br'] = 0;
370
  $handler->display->display_options['fields']['uuid']['alter']['word_boundary'] = 1;
371
  $handler->display->display_options['fields']['uuid']['alter']['ellipsis'] = 1;
372
  $handler->display->display_options['fields']['uuid']['alter']['more_link'] = 0;
373
  $handler->display->display_options['fields']['uuid']['alter']['strip_tags'] = 0;
374
  $handler->display->display_options['fields']['uuid']['alter']['trim'] = 0;
375
  $handler->display->display_options['fields']['uuid']['alter']['html'] = 0;
376
  $handler->display->display_options['fields']['uuid']['element_label_colon'] = 1;
377
  $handler->display->display_options['fields']['uuid']['element_default_classes'] = 1;
378
  $handler->display->display_options['fields']['uuid']['hide_empty'] = 0;
379
  $handler->display->display_options['fields']['uuid']['empty_zero'] = 0;
380
  $handler->display->display_options['fields']['uuid']['hide_alter_empty'] = 1;
381
  /* Field: Content: Node UUID */
382
  $handler->display->display_options['fields']['uuid_1']['id'] = 'uuid_1';
383
  $handler->display->display_options['fields']['uuid_1']['table'] = 'node';
384
  $handler->display->display_options['fields']['uuid_1']['field'] = 'uuid';
385
  $handler->display->display_options['fields']['uuid_1']['alter']['alter_text'] = 0;
386
  $handler->display->display_options['fields']['uuid_1']['alter']['make_link'] = 0;
387
  $handler->display->display_options['fields']['uuid_1']['alter']['absolute'] = 0;
388
  $handler->display->display_options['fields']['uuid_1']['alter']['external'] = 0;
389
  $handler->display->display_options['fields']['uuid_1']['alter']['replace_spaces'] = 0;
390
  $handler->display->display_options['fields']['uuid_1']['alter']['trim_whitespace'] = 0;
391
  $handler->display->display_options['fields']['uuid_1']['alter']['nl2br'] = 0;
392
  $handler->display->display_options['fields']['uuid_1']['alter']['word_boundary'] = 1;
393
  $handler->display->display_options['fields']['uuid_1']['alter']['ellipsis'] = 1;
394
  $handler->display->display_options['fields']['uuid_1']['alter']['more_link'] = 0;
395
  $handler->display->display_options['fields']['uuid_1']['alter']['strip_tags'] = 0;
396
  $handler->display->display_options['fields']['uuid_1']['alter']['trim'] = 0;
397
  $handler->display->display_options['fields']['uuid_1']['alter']['html'] = 0;
398
  $handler->display->display_options['fields']['uuid_1']['element_label_colon'] = 1;
399
  $handler->display->display_options['fields']['uuid_1']['element_default_classes'] = 1;
400
  $handler->display->display_options['fields']['uuid_1']['hide_empty'] = 0;
401
  $handler->display->display_options['fields']['uuid_1']['empty_zero'] = 0;
402
  $handler->display->display_options['fields']['uuid_1']['hide_alter_empty'] = 1;
403
  /* Field: Biblio: Call Number */
404
  $handler->display->display_options['fields']['biblio_call_number']['id'] = 'biblio_call_number';
405
  $handler->display->display_options['fields']['biblio_call_number']['table'] = 'biblio';
406
  $handler->display->display_options['fields']['biblio_call_number']['field'] = 'biblio_call_number';
407
  $handler->display->display_options['fields']['biblio_call_number']['alter']['alter_text'] = 0;
408
  $handler->display->display_options['fields']['biblio_call_number']['alter']['make_link'] = 0;
409
  $handler->display->display_options['fields']['biblio_call_number']['alter']['absolute'] = 0;
410
  $handler->display->display_options['fields']['biblio_call_number']['alter']['external'] = 0;
411
  $handler->display->display_options['fields']['biblio_call_number']['alter']['replace_spaces'] = 0;
412
  $handler->display->display_options['fields']['biblio_call_number']['alter']['trim_whitespace'] = 0;
413
  $handler->display->display_options['fields']['biblio_call_number']['alter']['nl2br'] = 0;
414
  $handler->display->display_options['fields']['biblio_call_number']['alter']['word_boundary'] = 1;
415
  $handler->display->display_options['fields']['biblio_call_number']['alter']['ellipsis'] = 1;
416
  $handler->display->display_options['fields']['biblio_call_number']['alter']['more_link'] = 0;
417
  $handler->display->display_options['fields']['biblio_call_number']['alter']['strip_tags'] = 0;
418
  $handler->display->display_options['fields']['biblio_call_number']['alter']['trim'] = 0;
419
  $handler->display->display_options['fields']['biblio_call_number']['alter']['html'] = 0;
420
  $handler->display->display_options['fields']['biblio_call_number']['element_label_colon'] = 1;
421
  $handler->display->display_options['fields']['biblio_call_number']['element_default_classes'] = 1;
422
  $handler->display->display_options['fields']['biblio_call_number']['hide_empty'] = 0;
423
  $handler->display->display_options['fields']['biblio_call_number']['empty_zero'] = 0;
424
  $handler->display->display_options['fields']['biblio_call_number']['hide_alter_empty'] = 1;
425
  $handler->display->display_options['fields']['biblio_call_number']['biblio_label'] = 1;
426
  /* Field: Biblio: Citation Key */
427
  $handler->display->display_options['fields']['biblio_citekey']['id'] = 'biblio_citekey';
428
  $handler->display->display_options['fields']['biblio_citekey']['table'] = 'biblio';
429
  $handler->display->display_options['fields']['biblio_citekey']['field'] = 'biblio_citekey';
430
  $handler->display->display_options['fields']['biblio_citekey']['alter']['alter_text'] = 0;
431
  $handler->display->display_options['fields']['biblio_citekey']['alter']['make_link'] = 0;
432
  $handler->display->display_options['fields']['biblio_citekey']['alter']['absolute'] = 0;
433
  $handler->display->display_options['fields']['biblio_citekey']['alter']['external'] = 0;
434
  $handler->display->display_options['fields']['biblio_citekey']['alter']['replace_spaces'] = 0;
435
  $handler->display->display_options['fields']['biblio_citekey']['alter']['trim_whitespace'] = 0;
436
  $handler->display->display_options['fields']['biblio_citekey']['alter']['nl2br'] = 0;
437
  $handler->display->display_options['fields']['biblio_citekey']['alter']['word_boundary'] = 1;
438
  $handler->display->display_options['fields']['biblio_citekey']['alter']['ellipsis'] = 1;
439
  $handler->display->display_options['fields']['biblio_citekey']['alter']['more_link'] = 0;
440
  $handler->display->display_options['fields']['biblio_citekey']['alter']['strip_tags'] = 0;
441
  $handler->display->display_options['fields']['biblio_citekey']['alter']['trim'] = 0;
442
  $handler->display->display_options['fields']['biblio_citekey']['alter']['html'] = 0;
443
  $handler->display->display_options['fields']['biblio_citekey']['element_label_colon'] = 1;
444
  $handler->display->display_options['fields']['biblio_citekey']['element_default_classes'] = 1;
445
  $handler->display->display_options['fields']['biblio_citekey']['hide_empty'] = 0;
446
  $handler->display->display_options['fields']['biblio_citekey']['empty_zero'] = 0;
447
  $handler->display->display_options['fields']['biblio_citekey']['hide_alter_empty'] = 1;
448
  $handler->display->display_options['fields']['biblio_citekey']['biblio_label'] = 1;
449
  /* Field: Biblio: DOI */
450
  $handler->display->display_options['fields']['biblio_doi']['id'] = 'biblio_doi';
451
  $handler->display->display_options['fields']['biblio_doi']['table'] = 'biblio';
452
  $handler->display->display_options['fields']['biblio_doi']['field'] = 'biblio_doi';
453
  $handler->display->display_options['fields']['biblio_doi']['alter']['alter_text'] = 1;
454
  $handler->display->display_options['fields']['biblio_doi']['alter']['text'] = 'doi:[biblio_doi]';
455
  $handler->display->display_options['fields']['biblio_doi']['alter']['make_link'] = 0;
456
  $handler->display->display_options['fields']['biblio_doi']['alter']['absolute'] = 0;
457
  $handler->display->display_options['fields']['biblio_doi']['alter']['external'] = 0;
458
  $handler->display->display_options['fields']['biblio_doi']['alter']['replace_spaces'] = 0;
459
  $handler->display->display_options['fields']['biblio_doi']['alter']['trim_whitespace'] = 0;
460
  $handler->display->display_options['fields']['biblio_doi']['alter']['nl2br'] = 0;
461
  $handler->display->display_options['fields']['biblio_doi']['alter']['word_boundary'] = 1;
462
  $handler->display->display_options['fields']['biblio_doi']['alter']['ellipsis'] = 1;
463
  $handler->display->display_options['fields']['biblio_doi']['alter']['more_link'] = 0;
464
  $handler->display->display_options['fields']['biblio_doi']['alter']['strip_tags'] = 0;
465
  $handler->display->display_options['fields']['biblio_doi']['alter']['trim'] = 0;
466
  $handler->display->display_options['fields']['biblio_doi']['alter']['html'] = 0;
467
  $handler->display->display_options['fields']['biblio_doi']['element_label_colon'] = 1;
468
  $handler->display->display_options['fields']['biblio_doi']['element_default_classes'] = 1;
469
  $handler->display->display_options['fields']['biblio_doi']['hide_empty'] = 0;
470
  $handler->display->display_options['fields']['biblio_doi']['empty_zero'] = 0;
471
  $handler->display->display_options['fields']['biblio_doi']['hide_alter_empty'] = 1;
472
  $handler->display->display_options['fields']['biblio_doi']['biblio_label'] = 1;
473
  /* Field: Biblio: ISBN Number */
474
  $handler->display->display_options['fields']['biblio_isbn']['id'] = 'biblio_isbn';
475
  $handler->display->display_options['fields']['biblio_isbn']['table'] = 'biblio';
476
  $handler->display->display_options['fields']['biblio_isbn']['field'] = 'biblio_isbn';
477
  $handler->display->display_options['fields']['biblio_isbn']['alter']['alter_text'] = 1;
478
  $handler->display->display_options['fields']['biblio_isbn']['alter']['text'] = 'urn:ISBN:[biblio_isbn]';
479
  $handler->display->display_options['fields']['biblio_isbn']['alter']['make_link'] = 0;
480
  $handler->display->display_options['fields']['biblio_isbn']['alter']['absolute'] = 0;
481
  $handler->display->display_options['fields']['biblio_isbn']['alter']['external'] = 0;
482
  $handler->display->display_options['fields']['biblio_isbn']['alter']['replace_spaces'] = 0;
483
  $handler->display->display_options['fields']['biblio_isbn']['alter']['trim_whitespace'] = 0;
484
  $handler->display->display_options['fields']['biblio_isbn']['alter']['nl2br'] = 0;
485
  $handler->display->display_options['fields']['biblio_isbn']['alter']['word_boundary'] = 1;
486
  $handler->display->display_options['fields']['biblio_isbn']['alter']['ellipsis'] = 1;
487
  $handler->display->display_options['fields']['biblio_isbn']['alter']['more_link'] = 0;
488
  $handler->display->display_options['fields']['biblio_isbn']['alter']['strip_tags'] = 0;
489
  $handler->display->display_options['fields']['biblio_isbn']['alter']['trim'] = 0;
490
  $handler->display->display_options['fields']['biblio_isbn']['alter']['html'] = 0;
491
  $handler->display->display_options['fields']['biblio_isbn']['element_label_colon'] = 1;
492
  $handler->display->display_options['fields']['biblio_isbn']['element_default_classes'] = 1;
493
  $handler->display->display_options['fields']['biblio_isbn']['hide_empty'] = 0;
494
  $handler->display->display_options['fields']['biblio_isbn']['empty_zero'] = 0;
495
  $handler->display->display_options['fields']['biblio_isbn']['hide_alter_empty'] = 1;
496
  $handler->display->display_options['fields']['biblio_isbn']['biblio_label'] = 1;
497
  /* Field: Biblio: ISSN Number */
498
  $handler->display->display_options['fields']['biblio_issn']['id'] = 'biblio_issn';
499
  $handler->display->display_options['fields']['biblio_issn']['table'] = 'biblio';
500
  $handler->display->display_options['fields']['biblio_issn']['field'] = 'biblio_issn';
501
  $handler->display->display_options['fields']['biblio_issn']['alter']['alter_text'] = 1;
502
  $handler->display->display_options['fields']['biblio_issn']['alter']['text'] = 'urn:ISSN:[biblio_issn]';
503
  $handler->display->display_options['fields']['biblio_issn']['alter']['make_link'] = 0;
504
  $handler->display->display_options['fields']['biblio_issn']['alter']['absolute'] = 0;
505
  $handler->display->display_options['fields']['biblio_issn']['alter']['external'] = 0;
506
  $handler->display->display_options['fields']['biblio_issn']['alter']['replace_spaces'] = 0;
507
  $handler->display->display_options['fields']['biblio_issn']['alter']['trim_whitespace'] = 0;
508
  $handler->display->display_options['fields']['biblio_issn']['alter']['nl2br'] = 0;
509
  $handler->display->display_options['fields']['biblio_issn']['alter']['word_boundary'] = 1;
510
  $handler->display->display_options['fields']['biblio_issn']['alter']['ellipsis'] = 1;
511
  $handler->display->display_options['fields']['biblio_issn']['alter']['more_link'] = 0;
512
  $handler->display->display_options['fields']['biblio_issn']['alter']['strip_tags'] = 0;
513
  $handler->display->display_options['fields']['biblio_issn']['alter']['trim'] = 0;
514
  $handler->display->display_options['fields']['biblio_issn']['alter']['html'] = 0;
515
  $handler->display->display_options['fields']['biblio_issn']['element_label_colon'] = 1;
516
  $handler->display->display_options['fields']['biblio_issn']['element_default_classes'] = 1;
517
  $handler->display->display_options['fields']['biblio_issn']['hide_empty'] = 0;
518
  $handler->display->display_options['fields']['biblio_issn']['empty_zero'] = 0;
519
  $handler->display->display_options['fields']['biblio_issn']['hide_alter_empty'] = 1;
520
  $handler->display->display_options['fields']['biblio_issn']['biblio_label'] = 1;
521
  /* Field: Biblio: Other Numbers */
522
  $handler->display->display_options['fields']['biblio_other_number']['id'] = 'biblio_other_number';
523
  $handler->display->display_options['fields']['biblio_other_number']['table'] = 'biblio';
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff