You are here

class NewsletterListController in Newsletter 7

Same name and namespace in other branches
  1. 7.2 modules/list/includes/newsletter_list.controller.inc \NewsletterListController

Newsletter List Controller

Hierarchy

Expanded class hierarchy of NewsletterListController

1 string reference to 'NewsletterListController'
newsletter_entity_info in ./newsletter.module
Implements hook_entity_info().

File

includes/newsletter.list.controller.inc, line 11
Controller class definition file for newsletter_list entity.

View source
class NewsletterListController extends DrupalDefaultEntityController {
  public function __construct($entityType) {
    parent::__construct('newsletter_list');
  }
  public function create() {
    $list = new stdClass();
    $list->title = NULL;
    $list->description = NULL;
    $list->send_rate = NULL;
    return $list;
  }

  /*
   * Saves a new newsletter list in database.
   *
   * @param $list
   *   An object containing the following:
   *    title - Required.
   *    send_rate - Required.
   *    ntid - Required.
   *    description - Optional.
   * @return
   *   The full, saved list object.
   */
  public function save($list) {
    field_attach_presave('newsletter_list', $list);
    if (!isset($list->nlid)) {
      $list->created = REQUEST_TIME;
      drupal_write_record('newsletter_list', $list);
      field_attach_insert('newsletter_list', $list);

      // Make sure to invoke the insert hook.
      module_invoke_all('entity_insert', $list, 'newsletter_list');
    }
    else {
      drupal_write_record('newsletter_list', $list, 'nlid');
      field_attach_update('newsletter_list', $list);

      // Make sure to invoke the update hook.
      module_invoke_all('entity_update', $list, 'newsletter_list');
    }
    return $list;
  }
  public function delete($nlid) {
    $list = newsletter_list_load($nlid);
    $deleted = db_delete('newsletter_list')
      ->condition('nlid', $nlid)
      ->execute();
    module_invoke_all('entity_delete', $list, 'newsletter_list');
    field_attach_delete('newsletter_list', $list);
    cache_clear_all();
    $this
      ->resetCache();
    return $deleted ? TRUE : FALSE;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalDefaultEntityController::$cache protected property Whether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCache protected property Static cache of entities, keyed by entity ID.
DrupalDefaultEntityController::$entityInfo protected property Array of information about the entity.
DrupalDefaultEntityController::$entityType protected property Entity type for this controller instance.
DrupalDefaultEntityController::$hookLoadArguments protected property Additional arguments to pass to hook_TYPE_load().
DrupalDefaultEntityController::$idKey protected property Name of the entity's ID field in the entity database table.
DrupalDefaultEntityController::$revisionKey protected property Name of entity's revision database table field, if it supports revisions.
DrupalDefaultEntityController::$revisionTable protected property The table that stores revisions, if the entity supports revisions.
DrupalDefaultEntityController::attachLoad protected function Attaches data to entities upon loading. 4
DrupalDefaultEntityController::buildQuery protected function Builds the query to load the entity. 4
DrupalDefaultEntityController::cacheGet protected function Gets entities from the static cache. 1
DrupalDefaultEntityController::cacheSet protected function Stores entities in the static entity cache.
DrupalDefaultEntityController::cleanIds protected function Ensures integer entity IDs are valid.
DrupalDefaultEntityController::filterId protected function Callback for array_filter that removes non-integer IDs.
DrupalDefaultEntityController::load public function Implements DrupalEntityControllerInterface::load(). Overrides DrupalEntityControllerInterface::load
DrupalDefaultEntityController::resetCache public function Implements DrupalEntityControllerInterface::resetCache(). Overrides DrupalEntityControllerInterface::resetCache
NewsletterListController::create public function
NewsletterListController::delete public function
NewsletterListController::save public function
NewsletterListController::__construct public function Constructor: sets basic variables. Overrides DrupalDefaultEntityController::__construct