/[drupal]/contributions/modules/pbs/pbs.fieldapi.inc
ViewVC logotype

Diff of /contributions/modules/pbs/pbs.fieldapi.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.12, Tue Sep 8 17:46:19 2009 UTC revision 1.13, Tue Sep 8 19:21:42 2009 UTC
# Line 300  function pbs_field_attach_pre_load($obj_ Line 300  function pbs_field_attach_pre_load($obj_
300            $new_skips[$field_id] = 1;            $new_skips[$field_id] = 1;
301          }          }
302        }        }
   
       if (!empty($objects[$row->entity_id]->{$field_name})) {  
         // field_attach_load() is specified to return data items indexed  
         // from delta 0, regardless of how they were provided on save.  
         // TODO: Wouldn't it be more efficient to do this on save  
         // instead of load?  
         // TODO: Why do this array_merge on field items once for every  
         // column in the field?  It seems like we only need to do it  
         // once per field.  
         foreach ($bundle_fields[$bundle] as $column_name => $tuple) {  
           list($field_name, $field_id, $item_name, $delta) = $tuple;  
           if (!isset($skip_fields[$field_id])) {  
             $objects[$row->entity_id]->{$field_name}[$row->language] = array_merge($objects[$row->entity_id]->{$field_name}[$row->language]);  
           }  
         }  
       }  
303      }      }
304    }    }
305    
# Line 393  function pbs_field_attach_pre_update($ob Line 377  function pbs_field_attach_pre_update($ob
377            $langs_items = $object->{$field_name};            $langs_items = $object->{$field_name};
378          }          }
379    
380          foreach ($langs_items as $language => &$items) {          foreach ($langs_items as $language => $items) {
381              // field_attach_load() is specified to return data items indexed
382              // from delta 0, regardless of how they were provided on
383              // save.  It is more efficient to re-index on save than on load.
384              $items = array_merge($items);
385            for ($delta = 0; $delta < $field['cardinality']; ++$delta) {            for ($delta = 0; $delta < $field['cardinality']; ++$delta) {
386              foreach ($field['columns'] as $name => $spec) {              foreach ($field['columns'] as $name => $spec) {
387                $rows[$language][_field_sql_storage_columnname($field['field_name'], $name) .'_'. $delta] = isset($items[$delta][$name]) ? $items[$delta][$name] : NULL;                $rows[$language][_field_sql_storage_columnname($field['field_name'], $name) .'_'. $delta] = isset($items[$delta][$name]) ? $items[$delta][$name] : NULL;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.2