You are here

newsletter_template.controller.inc in Newsletter 7.2

Controller class definition file for newsletter_template entity.

File

modules/template/includes/newsletter_template.controller.inc
View source
<?php

/**
 * @file
 * Controller class definition file for newsletter_template entity.
 */

/**
 * Newsletter Template Controller
 */
class NewsletterTemplateController extends EntityAPIController {

  /**
   * Create a default template.
   *
   * @param array $values
   *   An array of values to set, keyed by property name.
   * @return
   *   A template object with all default fields initialized.
   */
  public function create(array $values = array()) {
    $values += array(
      'template_id' => '',
      'is_new' => TRUE,
      'subject' => NULL,
    );
    return parent::create($values);
  }

  /**
   * Saves a new newsletter template in database.
   *
   * @param $template
   *   The full template object to save.
   * @param $transaction
   *   An optional transaction object.
   *
   * @return
   *   SAVED_NEW or SAVED_UPDATED depending on the operation performed..
   */
  public function save($template, DatabaseTransaction $transaction = NULL) {
    if ($template->is_new) {
      $template->created = REQUEST_TIME;
    }

    // If there is only one template type, use this as default.
    $types = array_keys($this->entityInfo['bundles']);
    if (count($types) == 1 && !isset($values['type'])) {
      $values[$this->entityInfo['bundle keys']['bundle']] = reset($types);
    }
    return parent::save($template, $transaction);
  }

}

/**
 * The Controller for newsletter template types.
 */
class NewsletterTemplateTypeController extends EntityAPIControllerExportable {
  public function __construct($entityType) {
    parent::__construct($entityType);
  }

  /**
   * Create a template type.
   *
   * @param $type
   *   The machine-readable type of the template type.
   *
   * @return
   *   A template type object with all default fields initialized.
   */
  public function create(array $values = array()) {
    $values += array(
      'id' => '',
      'is_new' => TRUE,
      'data' => array(),
    );
    return parent::create($values);
  }

}

Classes

Namesort descending Description
NewsletterTemplateController Newsletter Template Controller
NewsletterTemplateTypeController The Controller for newsletter template types.