You are here

class backup_migrate_profile in Backup and Migrate 7.3

Same name and namespace in other branches
  1. 8.2 includes/profiles.inc \backup_migrate_profile
  2. 8.3 includes/profiles.inc \backup_migrate_profile
  3. 6.3 includes/profiles.inc \backup_migrate_profile
  4. 6.2 includes/profiles.inc \backup_migrate_profile
  5. 7.2 includes/profiles.inc \backup_migrate_profile

A profile class for crud operations.

Hierarchy

Expanded class hierarchy of backup_migrate_profile

2 string references to 'backup_migrate_profile'
backup_migrate_backup_migrate_profile_subtypes in includes/profiles.inc
Implements hook_backup_migrate_profile_subtypes().
backup_migrate_crud_types in includes/crud.inc
Return a list of CRUD types in the module.

File

includes/profiles.inc, line 215

View source
class backup_migrate_profile extends backup_migrate_item {
  public $db_table = "backup_migrate_profiles";
  public $type_name = "profile";
  public $singular = 'settings profile';
  public $plural = 'settings profiles';
  public $title_plural = 'Settings Profiles';
  public $title_singular = 'Settings Profile';

  /**
   * Perform a shallow merge of the defaults and the parameters.
   *
   * This is needed because otherwise it will *combine* the nested arrays and
   * make it impossible to deselect database tables from the 'nodata' setting.
   *
   * @param array $params
   */
  public function __construct(array $params = array()) {
    $params = (array) $params;
    $defaults = (array) $this
      ->get_default_values();
    foreach ($defaults as $key => $val) {
      if (!isset($params[$key])) {
        $params[$key] = $val;
      }
    }
    $this
      ->from_array($params);
  }

  /**
   * This function is not supposed to be called. It is just here to help the po extractor out.
   */
  public function strings() {

    // Help the pot extractor find these strings.
    t('Settings Profile');
    t('Settings Profiles');
    t('settings profile');
    t('settings profiles');
  }

  /**
   * Get the default values for standard parameters.
   */
  public function get_default_values() {
    return _backup_migrate_profile_default_profile() + array(
      'name' => t("Untitled Profile"),
    );
  }

  /**
   * Get a table of all items of this type.
   */
  public function get_list() {
    drupal_add_css(drupal_get_path('module', 'backup_migrate') . '/backup_migrate.css');
    return parent::get_list();
  }

  /**
   * Get the columns needed to list the type.
   */
  public function get_list_column_info() {
    $out = parent::get_list_column_info();
    $out = array(
      'name' => array(
        'title' => t('Name'),
      ),
      'source_name' => array(
        'title' => t('Source'),
      ),
      'filename' => array(
        'title' => t('Filename'),
      ),
    ) + $out;
    return $out;
  }

  /**
   * Set the source of this setings profile. Takes either a source object or source id.
   */
  public function set_source($source) {
    if (is_object($source)) {
      $this->source = $source;
      $this->source_id = $source
        ->get_id();
    }
    else {
      $this->source_id = $source;
      unset($this->source);
    }
  }

  /**
   * Get the source of the profile.
   */
  public function get_source() {
    require_once dirname(__FILE__) . '/locations.inc';
    if (!empty($this->source_id) && (empty($this->source) || $this->source
      ->get_id() !== $this->source_id)) {
      $this->source = backup_migrate_get_source($this->source_id);
    }
    return empty($this->source) ? NULL : $this->source;
  }

  /**
   * Get the name of the source.
   */
  public function get_source_name() {
    if ($source = $this
      ->get_source()) {
      return $source
        ->get_name();
    }
    return t("Missing");
  }

  /**
   * Get the destination of the profile.
   */
  public function get_destination() {
    $destinations = (array) $this
      ->get_destinations();
    return reset($destinations);
  }

  /**
   * Get the destination of the profile.
   */
  public function get_destinations() {
    require_once dirname(__FILE__) . '/destinations.inc';
    if (empty($this->destinations)) {
      $this->destinations = array();
      $ids = $weights = array();
      if (!empty($this->destination_id)) {
        foreach ((array) $this->destination_id as $destination_id) {
          if (!in_array($destination_id, $ids) && ($destination = backup_migrate_get_destination($destination_id))) {
            $this->destinations[] = $destination;
            $weights[] = $destination
              ->get('weight');
            $ids[] = $destination_id;
          }
        }
      }

      // Sort the destinations by weight.
      array_multisort($weights, SORT_NUMERIC, $this->destinations);
    }
    return $this->destinations;
  }

  /**
   * Get the name of the destination.
   */
  public function get_destination_name() {
    $out = array();
    foreach ($this
      ->get_destinations() as $destination) {
      $out[] = $destination
        ->get_name();
    }
    if ($out) {
      return implode(', ', $out);
    }
    return t("Missing");
  }

  /**
   * Get the source and destinations specified in the given settings profile.
   */
  public function get_all_locations() {
    $out = array();
    $out += $this
      ->get('destinations');
    $out[] = $this
      ->get('source');
    return $out;
  }

  /**
   * Get the edit form.
   */
  public function edit_form() {
    $form = parent::edit_form();
    $form['name'] = array(
      "#type" => "textfield",
      "#title" => t("Profile Name"),
      '#required' => TRUE,
      "#default_value" => $this
        ->get('name'),
    );
    $form += _backup_migrate_ui_backup_settings_form($this);
    return $form;
  }

  /**
   * Get the message to send to the user when confirming the deletion of the item.
   */
  public function delete_confirm_message() {
    return t('Are you sure you want to delete the profile %name? Any schedules using this profile will be disabled.', array(
      '%name' => $this
        ->get('name'),
    ));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
backup_migrate_item::$default_values public property 2
backup_migrate_item::$settings_path public property
backup_migrate_item::$show_in_list public property
backup_migrate_item::$storage public property
backup_migrate_item::all_items public function Get all of the given items.
backup_migrate_item::create public function Create a new items with the given input. 1
backup_migrate_item::decode_db_row public function Decode a loaded db row (unserialize necessary fields).
backup_migrate_item::delete public function Delete the item from the database.
backup_migrate_item::edit_form_submit public function Submit the edit form for the item. 5
backup_migrate_item::edit_form_validate public function Validate the edit form for the item. 4
backup_migrate_item::export public function Return as an exported array of values.
backup_migrate_item::from_array public function Load an existing item from an array.
backup_migrate_item::generate_id public function Return a random (very very likely unique) string id for a new item.
backup_migrate_item::get public function Get the member with the given key.
backup_migrate_item::get_actions public function Get the rendered action links for a destination.
backup_migrate_item::get_action_links public function Get the action links for a destination. 1
backup_migrate_item::get_id public function Get the primary id for this item (if any is set).
backup_migrate_item::get_list_header public function Get header for a lost of this type.
backup_migrate_item::get_list_row public function Get a row of data to be used in a list of items of this type. 2
backup_migrate_item::get_machine_name_field public function Get the machine name field name from the schema.
backup_migrate_item::get_menu_items public function Get the menu items for manipulating this type. 2
backup_migrate_item::get_name public function Get the name of the item. 1
backup_migrate_item::get_primary_key public function Get the primary key field title from the schema.
backup_migrate_item::get_schema public function Get the schema for the item type.
backup_migrate_item::get_serialized_fields public function Return the fields which must be serialized before saving to the db.
backup_migrate_item::get_settings_path public function Get the columns needed to list the type. 1
backup_migrate_item::item public function A particular item.
backup_migrate_item::item_exists public function A particular item.
backup_migrate_item::load_row public function Load an existing item from an database (serialized) array.
backup_migrate_item::revert_confirm_message public function The message to send to the user when confirming the deletion of the item.
backup_migrate_item::save public function Save the item to the database.
backup_migrate_item::set_id public function Set the primary id for this item (if any is set).
backup_migrate_item::show_in_list public function Get the columns needed to list the type.
backup_migrate_item::to_array public function Return as an array of values. 1
backup_migrate_item::unique_id public function Make sure this item has a unique id.
backup_migrate_item::_merge_defaults public function Merge parameters with the given defaults.
backup_migrate_profile::$db_table public property Overrides backup_migrate_item::$db_table
backup_migrate_profile::$plural public property Overrides backup_migrate_item::$plural
backup_migrate_profile::$singular public property Overrides backup_migrate_item::$singular
backup_migrate_profile::$title_plural public property Overrides backup_migrate_item::$title_plural
backup_migrate_profile::$title_singular public property Overrides backup_migrate_item::$title_singular
backup_migrate_profile::$type_name public property Overrides backup_migrate_item::$type_name
backup_migrate_profile::delete_confirm_message public function Get the message to send to the user when confirming the deletion of the item. Overrides backup_migrate_item::delete_confirm_message
backup_migrate_profile::edit_form public function Get the edit form. Overrides backup_migrate_item::edit_form
backup_migrate_profile::get_all_locations public function Get the source and destinations specified in the given settings profile.
backup_migrate_profile::get_default_values public function Get the default values for standard parameters. Overrides backup_migrate_item::get_default_values
backup_migrate_profile::get_destination public function Get the destination of the profile.
backup_migrate_profile::get_destinations public function Get the destination of the profile.
backup_migrate_profile::get_destination_name public function Get the name of the destination.
backup_migrate_profile::get_list public function Get a table of all items of this type. Overrides backup_migrate_item::get_list
backup_migrate_profile::get_list_column_info public function Get the columns needed to list the type. Overrides backup_migrate_item::get_list_column_info
backup_migrate_profile::get_source public function Get the source of the profile.
backup_migrate_profile::get_source_name public function Get the name of the source.
backup_migrate_profile::set_source public function Set the source of this setings profile. Takes either a source object or source id.
backup_migrate_profile::strings public function This function is not supposed to be called. It is just here to help the po extractor out. Overrides backup_migrate_item::strings
backup_migrate_profile::__construct public function Perform a shallow merge of the defaults and the parameters. Overrides backup_migrate_item::__construct