You are here

function nodeaccess_userreference_field_settings in Node access user reference 6.2

Same name and namespace in other branches
  1. 6.3 nodeaccess_userreference.module \nodeaccess_userreference_field_settings()
  2. 7.3 nodeaccess_userreference.module \nodeaccess_userreference_field_settings()
  3. 7.2 nodeaccess_userreference.module \nodeaccess_userreference_field_settings()

Set and get nodeaccess userreference field settings.

Parameters

$type_name: The node type.

$field_name: The name of the field.

$variable: If set will update the value of the settings for this field.

Return value

The stored or updated value of the settings for this field.

3 calls to nodeaccess_userreference_field_settings()
nodeaccess_userreference_content_field_edit_form_submit in ./nodeaccess_userreference.module
Extra submit function for User reference field config.
nodeaccess_userreference_form_content_field_edit_form_alter in ./nodeaccess_userreference.module
Implementation of hook_form-FORM-ID_alter().
nodeaccess_userreference_node_access_records in ./nodeaccess_userreference.module
Implementation of hook_node_access_records().

File

./nodeaccess_userreference.module, line 194

Code

function nodeaccess_userreference_field_settings($type_name, $field_name, $variable = NULL) {

  // 'get' the variable
  $data = variable_get('nodeaccess_userreference', NULL);
  if (!$data || !isset($data[$type_name][$field_name])) {

    // Attempt to get result from old variables.
    $old_varname = substr('nodeaccess_userreference_' . $field_name . '_' . $type_name, 0, 48);
    $old_data = variable_get($old_varname, NULL);
    if (is_array($old_data)) {
      variable_del($old_varname);
      nodeaccess_userreference_field_settings($type_name, $field_name, $old_data);
      $data[$type_name][$field_name] = $old_data;
    }
    else {

      // default
      $data[$type_name][$field_name] = array(
        'view' => 0,
        'update' => 0,
        'delete' => 0,
      );
    }
  }

  // change and 'set' the variable
  if (isset($variable)) {
    $data[$type_name][$field_name] = $variable;
    variable_set('nodeaccess_userreference', $data);
  }
  return $data[$type_name][$field_name];
}