1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- class TripalTabDownloader extends TripalFieldDownloader {
-
- static public $label = 'TAB';
-
- static public $full_label = 'Tab delimeted';
-
- static public $default_extension = 'txt';
-
- public function isFieldSupported($field, $instance) {
- $is_supported = parent::isFieldSupported($field, $instance);
-
- return TRUE;
- }
-
- protected function formatEntity($entity) {
- $bundle_name = $entity->bundle;
- $row = array();
-
-
- foreach ($this->printable_fields as $accession => $label) {
-
-
- if (!array_key_exists($accession, $this->fields2terms[$bundle_name]['by_accession'])) {
- $row[] = '';
- continue;
- }
-
- $field_id = $this->fields2terms[$bundle_name]['by_accession'][$accession];
- $field = $this->fields[$bundle_name][$field_id]['field'];
- $instance = $this->fields[$bundle_name][$field_id]['instance'];
- $field_name = $field['field_name'];
-
- if (count($entity->{$field_name}['und']) == 1) {
- $value = $entity->{$field_name}['und'][0]['value'];
-
- if (!is_array($value)) {
- $row[] = $value;
- }
- else {
- if (array_key_exists('rdfs:label', $entity->{$field_name}['und'][0]['value'])) {
- $row[] = $tabs . strip_tags($entity->{$field_name}['und'][0]['value']['rdfs:label']);
- }
- else {
- $row[] = '';
- }
-
- }
- }
-
- else {
- $row[] = '';
-
- }
- }
- return array(implode("\t", $row));
- }
-
- protected function getHeader() {
- $row = array();
- foreach ($this->printable_fields as $accession => $label) {
- $row[] = $label;
- }
- return array(implode("\t", $row));
- }
- }
|