You are here

function _likebtn_field_load in Like Button 7

Same name and namespace in other branches
  1. 8.2 likebtn.module \_likebtn_field_load()

Get settings values set for item or instance.

1 call to _likebtn_field_load()
likebtn_field_prepare_view in ./likebtn.module
Implements hook_field_prepare_view().

File

./likebtn.module, line 1265
Implements the LikeBtn module.

Code

function _likebtn_field_load($field, $item, $instance) {
  $field_info = likebtn_field_info();
  $keys = array_keys($field_info['likebtn_field']['settings']);
  $value = array();
  foreach ($keys as $key) {
    if (isset($item[$key])) {
      $value[$key] = $item[$key];
    }
    else {

      // Search for key in instance settings.
      // We have to come through instance settings as it is 2-dimentional.
      // array due to form fieldsets.
      $instance_settings_exists = FALSE;
      foreach ($instance['settings'] as $instance_settings) {
        if (is_array($instance_settings)) {
          foreach ($instance_settings as $instance_settings_key => $instance_settings_value) {
            if ($instance_settings_key == $key) {
              $instance_settings_exists = TRUE;
              break;
            }
          }
          if ($instance_settings_exists) {
            break;
          }
        }
      }
      if ($instance_settings_exists) {
        $value[$key] = $instance_settings_value;
      }
      else {

        // New option has not been activated.
        if (isset($field['settings'][$key])) {
          $value[$key] = $field['settings'][$key];
        }
        else {
          $settings = unserialize(LIKEBTN_SETTINGS);
          $value[$key] = $settings[$key]['default'];
        }
      }
    }
  }
  return $value;
}