private static function UCXF_FieldList::loadOne in Extra Fields Checkout Pane 7
Same name and namespace in other branches
- 6.2 class/UCXF_FieldList.class.php \UCXF_FieldList::loadOne()
Load a single field if not already loaded
No database call is done in these cases:
- Field is already loaded
@access private @static
Parameters
int $type: Type of the argument given, can be the field id (BY_ID) or the field db_name (BY_NAME)
mixed $arg: Either the field id or the field db_name
Return value
void
Throws
3 calls to UCXF_FieldList::loadOne()
- UCXF_FieldList::deleteOne in class/UCXF_FieldList.class.php 
- Deletes one field
- UCXF_FieldList::getFieldByID in class/UCXF_FieldList.class.php 
- Get a single field by ID
- UCXF_FieldList::getFieldByName in class/UCXF_FieldList.class.php 
- Get a single field by name
File
- class/UCXF_FieldList.class.php, line 225 
- 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 loadOne($type, $arg) {
  // Reasons to skip out early
  if (self::$allLoaded) {
    return;
  }
  if ($type == self::BY_ID && isset(self::$fields[$arg])) {
    return;
  }
  if ($type == self::BY_NAME && self::findByName($arg)) {
    return;
  }
  if ($type == self::BY_ID) {
    $result = db_select('uc_extra_fields')
      ->condition('field_id', $arg)
      ->fields('uc_extra_fields')
      ->orderBy('weight')
      ->execute();
  }
  elseif ($type == self::BY_NAME) {
    $result = db_select('uc_extra_fields')
      ->condition('db_name', $arg)
      ->fields('uc_extra_fields')
      ->orderBy('weight')
      ->execute();
  }
  if ($result === FALSE) {
    throw new UCXF_DbException(t('Failed to read from database table uc_extra_fields'));
  }
  self::dbResultToField($result);
}