private static function UCXF_FieldList::dbResultToField in Extra Fields Checkout Pane 7
Same name and namespace in other branches
- 6.2 class/UCXF_FieldList.class.php \UCXF_FieldList::dbResultToField()
Creates UCXF_Field objects from a database resource.
@access private @static
Parameters
resource $result: Database result
Return value
void
3 calls to UCXF_FieldList::dbResultToField()
- UCXF_FieldList::loadAll in class/UCXF_FieldList.class.php 
- Loads all fields @access private @static
- UCXF_FieldList::loadAllFromPane in class/UCXF_FieldList.class.php 
- Loads all fields from a specific pane type
- UCXF_FieldList::loadOne in class/UCXF_FieldList.class.php 
- Load a single field if not already loaded
File
- class/UCXF_FieldList.class.php, line 327 
- Contains the UCXF_FieldList class.
Class
- UCXF_FieldList
- This class is used to keep track of all loaded fields in one request. It's also used as a central place to request fields.
Code
private static function dbResultToField($result) {
  $weights = variable_get('uc_address_fields_weight', array());
  // Create each UCXF_Field object from the database record.
  while ($field_data = $result
    ->fetch()) {
    // Skip fields that have already been loaded (and perhaps modified).
    if (!isset(self::$fields[$field_data->field_id])) {
      $field = self::createField($field_data->pane_type);
      // Populate field information.
      $field
        ->from_array($field_data);
      // Apply weight setting for address fields.
      if ($field instanceof UCXF_AddressField && isset($weights[$field->db_name])) {
        $field->weight = $weights[$field->db_name];
      }
      // Add field to array.
      self::$fields[$field->field_id] = $field;
      // Give other modules to react on this.
      module_invoke_all('ucxf_field', $field, 'load');
    }
  }
}