View source
<?php
namespace Drupal\lingotek;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class LingotekIntelligenceService implements LingotekIntelligenceMetadataInterface, ContainerInjectionInterface {
protected $intelligenceConfig;
protected $profile;
public function __construct(LingotekIntelligenceServiceConfig $intelligence_config) {
$this->intelligenceConfig = $intelligence_config;
}
public static function create(ContainerInterface $container) {
return new static($container
->get('lingotek.intelligence_config'));
}
public function setProfile($profile) {
$this->profile = $profile;
}
public function getBusinessUnit() {
return $this
->getValue(__FUNCTION__);
}
public function setBusinessUnit($business_unit) {
return $this
->setValue('business_unit', $business_unit);
}
public function getBusinessDivision() {
return $this
->getValue(__FUNCTION__);
}
public function setBusinessDivision($business_division) {
return $this
->setValue('business_division', $business_division);
}
public function getCampaignId() {
return $this
->getValue(__FUNCTION__);
}
public function setCampaignId($campaign_id) {
return $this
->setValue('campaign_id', $campaign_id);
}
public function getCampaignRating() {
return $this
->getValue(__FUNCTION__);
}
public function setCampaignRating($campaign_rating) {
return $this
->setValue('campaign_rating', $campaign_rating);
}
public function getChannel() {
return $this
->getValue(__FUNCTION__);
}
public function setChannel($channel) {
return $this
->setValue('channel', $channel);
}
public function getContactName() {
return $this
->getValue(__FUNCTION__);
}
public function setContactName($contact_name) {
return $this
->setValue('contact_name', $contact_name);
}
public function getContactEmail() {
return $this
->getValue(__FUNCTION__);
}
public function setContactEmail($contact_email) {
return $this
->setValue('contact_email', $contact_email);
}
public function getContentDescription() {
return $this
->getValue(__FUNCTION__);
}
public function setContentDescription($content_description) {
return $this
->setValue('content_description', $content_description);
}
public function getPurchaseOrder() {
return $this
->getValue(__FUNCTION__);
}
public function setPurchaseOrder($purchase_order) {
return $this
->setValue('purchase_order', $purchase_order);
}
public function getExternalStyleId() {
return $this
->getValue(__FUNCTION__);
}
public function setExternalStyleId($external_style_id) {
return $this
->setValue('external_style_id', $external_style_id);
}
public function getRegion() {
return $this
->getValue(__FUNCTION__);
}
public function setRegion($region) {
return $this
->setValue('region', $region);
}
public function getAuthorPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setAuthorPermission($use_author) {
return $this
->setValue('use_author', $use_author);
}
public function getDefaultAuthorEmail() {
$metadata = $this->profile;
$value = NULL;
if ($this->profile !== NULL && $this->profile
->hasIntelligenceMetadataOverrides()) {
if ($metadata
->getAuthorEmailPermission()) {
$value = $metadata
->getDefaultAuthorEmail();
}
}
else {
if ($this->intelligenceConfig
->getAuthorEmailPermission()) {
$value = $this->intelligenceConfig
->getDefaultAuthorEmail();
}
}
return $value;
}
public function setDefaultAuthorEmail($default_author_email) {
return $this
->setValue('default_author_email', $default_author_email);
}
public function getAuthorEmailPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setAuthorEmailPermission($use_author_email) {
return $this
->setValue('use_author_email', $use_author_email);
}
public function getContactEmailForAuthorPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setContactEmailForAuthorPermission($use_contact_email_for_author) {
return $this
->setValue('use_contact_email_for_author', $use_contact_email_for_author);
}
public function getBusinessUnitPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setBusinessUnitPermission($use_business_unit) {
return $this
->setValue('use_business_unit', $use_business_unit);
}
public function getBusinessDivisionPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setBusinessDivisionPermission($use_business_division) {
return $this
->setValue('use_business_division', $use_business_division);
}
public function getCampaignIdPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setCampaignIdPermission($use_campaign_id) {
return $this
->setValue('use_campaign_id', $use_campaign_id);
}
public function getCampaignRatingPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setCampaignRatingPermission($use_campaign_rating) {
return $this
->setValue('use_campaign_rating', $use_campaign_rating);
}
public function getChannelPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setChannelPermission($use_channel) {
return $this
->setValue('use_channel', $use_channel);
}
public function getContactNamePermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setContactNamePermission($use_contact_name) {
return $this
->setValue('use_contact_name', $use_contact_name);
}
public function getContactEmailPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setContactEmailPermission($use_contact_email) {
return $this
->setValue('use_contact_email', $use_contact_email);
}
public function getContentDescriptionPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setContentDescriptionPermission($use_content_description) {
return $this
->setValue('use_content_description', $use_content_description);
}
public function getExternalStyleIdPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setExternalStyleIdPermission($use_external_style_id) {
return $this
->setValue('use_external_style_id', $use_external_style_id);
}
public function getPurchaseOrderPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setPurchaseOrderPermission($use_purchase_order) {
return $this
->setValue('use_purchase_order', $use_purchase_order);
}
public function getRegionPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setRegionPermission($use_region) {
return $this
->setValue('use_region', $use_region);
}
public function getBaseDomainPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setBaseDomainPermission($use_base_domain) {
return $this
->setValue('use_base_domain', $use_base_domain);
}
public function getReferenceUrlPermission() {
return $this
->getPermission(__FUNCTION__);
}
public function setReferenceUrlPermission($use_reference_url) {
return $this
->setValue('use_reference_url', $use_reference_url);
}
protected function getValue($key) {
$value = NULL;
$method = $key;
$permissionMethod = $key . 'Permission';
if ($this->profile !== NULL && $this->profile
->hasIntelligenceMetadataOverrides()) {
if ($this->profile
->{$permissionMethod}()) {
$value = $this->profile
->{$method}();
}
}
else {
if ($this->intelligenceConfig
->{$permissionMethod}()) {
$value = $this->intelligenceConfig
->{$method}();
}
}
return $value;
}
protected function getPermission($permissionMethod) {
$value = NULL;
if ($this->profile !== NULL && $this->profile
->hasIntelligenceMetadataOverrides()) {
$value = $this->profile
->{$permissionMethod}();
}
else {
$value = $this->intelligenceConfig
->{$permissionMethod}();
}
return $value;
}
protected function setValue($key, $value) {
throw new \BadMethodCallException();
}
}