You are here

function user_relationship_blocks_block_save in User Relationships 7

Push or pull the settings from the database

2 calls to user_relationship_blocks_block_save()
user_relationship_blocks_block_configure in user_relationship_blocks/user_relationship_blocks.module
helper function user_relationship_blocks_block delegates to when $op == 'configure'
user_relationship_blocks_block_view in user_relationship_blocks/user_relationship_blocks.module
helper function user_relationship_blocks_block delegates to when $op == 'view'

File

user_relationship_blocks/user_relationship_blocks.module, line 309
User Relationship Blocks implementation @author Jeff Smick (creator) @author Alex Karshakevich (maintainer) http://drupal.org/user/183217

Code

function user_relationship_blocks_block_save($delta = NULL, $edit = NULL) {
  $settings = drupal_static(__FUNCTION__, array());
  if (isset($edit)) {
    if (empty($edit['bid'])) {
      $edit['bid'] = $edit['delta'];
    }
    db_merge('user_relationship_blocks')
      ->key(array(
      'bid' => isset($edit['bid']) ? $edit['bid'] : $edit['delta'],
    ))
      ->fields(array(
      'size' => $edit['size'],
      'sort' => $edit['sort'],
    ))
      ->execute();
    $settings[$delta] = (object) $edit;
  }
  elseif ($delta && (!isset($settings[$delta]) || !$settings[$delta])) {
    $settings[$delta] = db_query("SELECT * FROM {user_relationship_blocks} WHERE bid = :bid", array(
      ':bid' => $delta,
    ))
      ->fetchObject();
    if (!$settings[$delta]) {

      // No overridden settings yet, return default array.
      $settings[$delta] = (object) array(
        'size' => 10,
        'bid' => $delta,
        'sort' => 'newest',
      );
    }
    return $settings[$delta];
  }
  else {
    $settings = db_query("SELECT * FROM {user_relationship_blocks}")
      ->fetchAllAssoc('bid');
    return $settings;
  }
}