You are here

class Campaigns in SimpleAds 8

Campaigns utility class.

Hierarchy

Expanded class hierarchy of Campaigns

7 files declare their use of Campaigns
All.php in src/Form/Campaigns/All.php
Create.php in src/Form/Ads/Create.php
Create.php in src/Form/Campaigns/Create.php
Delete.php in src/Form/Campaigns/Delete.php
Edit.php in src/Form/Ads/Edit.php

... See full list

2 string references to 'Campaigns'
simpleads.links.task.yml in ./simpleads.links.task.yml
simpleads.links.task.yml
simpleads.routing.yml in ./simpleads.routing.yml
simpleads.routing.yml

File

src/Campaigns.php, line 12

Namespace

Drupal\simpleads
View source
class Campaigns extends UtilityBase {
  use StringTranslationTrait;
  protected $manager_name = 'plugin.manager.simpleads.campaigns';
  protected $id;
  protected $user;
  protected $name;
  protected $description;
  protected $type;
  protected $options;
  protected $status;
  protected $created_at;
  protected $changed_at;
  public function __construct() {
    $this->user = \Drupal::currentUser();
  }
  public function setId($id) {
    $this->id = $id;
    return $this;
  }
  public function getId() {
    return $this->id;
  }
  public function setCampaignName($name) {
    $this->name = $name;
    return $this;
  }
  public function getCampaignName() {
    return $this->name;
  }
  public function setDescription($description) {
    $this->description = $description;
    return $this;
  }
  public function getDescription() {
    return $this->description;
  }
  public function setType($type) {
    $this->type = $type;
    return $this;
  }
  public function getType() {
    return $this->type;
  }
  public function setOptions(array $options = []) {
    $this->options = json_encode($options);
    return $this;
  }
  public function getOptions($decode = FALSE) {
    return $decode ? json_decode($this->options, TRUE) : $this->options;
  }
  public function setStatus($status = 1) {
    $this->status = $status;
    return $this;
  }
  public function getStatus() {
    return $this->status;
  }
  public function setCreatedAt($created_at) {
    $this->created_at = $created_at;
    return $this;
  }
  public function getCreatedAt() {
    return !empty($this->created_at) ? $this->created_at : time();
  }
  public function setChangedAt($changed_at) {
    $this->changed_at = $changed_at;
    return $this;
  }
  public function getChangedAt() {
    return !empty($this->changed_at) ? $this->changed_at : time();
  }
  public function load() {
    if ($id = $this
      ->getId()) {
      $record = db_select('simpleads_campaigns', 's')
        ->fields('s')
        ->condition('s.id', $id)
        ->execute()
        ->fetchObject();
      $item = (new self())
        ->setId($id)
        ->setCampaignName($record->name)
        ->setDescription($record->description)
        ->setType($record->type)
        ->setOptions(!empty($record->options) ? json_decode($record->options, TRUE) : [])
        ->setStatus($record->status)
        ->setCreatedAt($record->created_at)
        ->setChangedAt($record->changed_at);
      return $item;
    }
    return $this;
  }
  public function loadAll() {
    $items = [];
    $result = db_select('simpleads_campaigns', 's')
      ->fields('s')
      ->orderBy('s.changed_at', 'DESC')
      ->execute();
    foreach ($result as $row) {
      $items[] = $this
        ->setId($row->id)
        ->load();
    }
    return $items;
  }
  public function loadAsOptions() {
    $options = [];
    $options[''] = $this
      ->t('- None -');
    foreach ($this
      ->loadAll() as $item) {
      $options[$item
        ->getId()] = $item
        ->getCampaignName();
    }
    return $options;
  }
  public function save() {
    $fields = [
      'uid' => $this->user
        ->id(),
      'name' => $this
        ->getCampaignName(),
      'description' => $this
        ->getDescription(),
      'type' => $this
        ->getType(),
      'options' => $this
        ->getOptions(),
      'status' => $this
        ->getStatus(),
      'created_at' => $this
        ->getCreatedAt(),
      'changed_at' => $this
        ->getChangedAt(),
    ];
    if ($id = $this
      ->getId()) {
      $query = db_update('simpleads_campaigns')
        ->fields($fields)
        ->condition('id', $id);
      drupal_set_message($this
        ->t('Campaign successfully updated.'));
    }
    else {
      $query = db_insert('simpleads_campaigns')
        ->fields($fields);
      drupal_set_message($this
        ->t('New campaign successfully created.'));
    }
    $query
      ->execute();
  }
  public function delete() {
    if ($id = $this
      ->getId()) {
      $group = $this
        ->load();
      db_delete('simpleads_campaigns')
        ->condition('id', $id)
        ->execute();
      drupal_set_message($this
        ->t('Campaign <em>@name</em> successfully delete.', [
        '@name' => $group
          ->getCampaignName(),
      ]));
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Campaigns::$changed_at protected property
Campaigns::$created_at protected property
Campaigns::$description protected property
Campaigns::$id protected property
Campaigns::$manager_name protected property Overrides UtilityBase::$manager_name
Campaigns::$name protected property
Campaigns::$options protected property
Campaigns::$status protected property
Campaigns::$type protected property
Campaigns::$user protected property
Campaigns::delete public function
Campaigns::getCampaignName public function
Campaigns::getChangedAt public function
Campaigns::getCreatedAt public function
Campaigns::getDescription public function
Campaigns::getId public function
Campaigns::getOptions public function
Campaigns::getStatus public function
Campaigns::getType public function
Campaigns::load public function
Campaigns::loadAll public function
Campaigns::loadAsOptions public function
Campaigns::save public function
Campaigns::setCampaignName public function
Campaigns::setChangedAt public function
Campaigns::setCreatedAt public function
Campaigns::setDescription public function
Campaigns::setId public function
Campaigns::setOptions public function
Campaigns::setStatus public function
Campaigns::setType public function
Campaigns::__construct public function
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
UtilityBase::getBuildForm public function
UtilityBase::getName public function Get ad type name by ID.
UtilityBase::getStatuses public function
UtilityBase::getStatusName public function
UtilityBase::getSubmitForm public function
UtilityBase::getTypes public function Get Simpleads types.