Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/units/site_domains/site_domain_eh.php
Show First 20 Lines • Show All 55 Lines • ▼ Show 20 Line(s) | |||||
} | } | ||||
} | } | ||||
return parent::getPassedID($event); | return parent::getPassedID($event); | ||||
} | } | ||||
function querySiteDomain($field, $value) | function querySiteDomain($field, $value) | ||||
{ | { | ||||
/** @var SiteHelper $site_helper */ | |||||
$site_helper = $this->Application->recallObject('SiteHelper'); | $site_helper = $this->Application->recallObject('SiteHelper'); | ||||
/* @var $site_helper SiteHelper */ | |||||
$site_domains = $site_helper->getSiteDomains(); | $site_domains = $site_helper->getSiteDomains(); | ||||
$domain_by_name = $site_helper->getDomainByName($field, $value); | $domain_by_name = $site_helper->getDomainByName($field, $value); | ||||
$domain_by_ip = $site_helper->getDomainByIP(); | $domain_by_ip = $site_helper->getDomainByIP(); | ||||
if ($domain_by_ip) { | if ($domain_by_ip) { | ||||
$site_domain = $site_domains[$domain_by_ip]; | $site_domain = $site_domains[$domain_by_ip]; | ||||
$redirect_mode = $site_domain['RedirectOnIPMatch']; | $redirect_mode = $site_domain['RedirectOnIPMatch']; | ||||
Show All 38 Lines | |||||
{ | { | ||||
if ( $this->Application->isAdmin ) { | if ( $this->Application->isAdmin ) { | ||||
// don't load domain data from cache | // don't load domain data from cache | ||||
parent::LoadItem($event); | parent::LoadItem($event); | ||||
return; | return; | ||||
} | } | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$id = (int)$this->getPassedID($event); | $id = (int)$this->getPassedID($event); | ||||
if ( $object->isLoaded() && ($object->GetID() == $id) ) { | if ( $object->isLoaded() && ($object->GetID() == $id) ) { | ||||
// object is already loaded by same id | // object is already loaded by same id | ||||
return; | return; | ||||
} | } | ||||
/** @var SiteHelper $site_helper */ | |||||
$site_helper = $this->Application->recallObject('SiteHelper'); | $site_helper = $this->Application->recallObject('SiteHelper'); | ||||
/* @var $site_helper SiteHelper */ | |||||
$site_domains = $site_helper->getSiteDomains(); | $site_domains = $site_helper->getSiteDomains(); | ||||
$domain_data = array_key_exists($id, $site_domains) ? $site_domains[$id] : false; | $domain_data = array_key_exists($id, $site_domains) ? $site_domains[$id] : false; | ||||
if ( $object->LoadFromHash($domain_data) ) { | if ( $object->LoadFromHash($domain_data) ) { | ||||
/** @var Params $actions */ | |||||
$actions = $this->Application->recallObject('kActions'); | $actions = $this->Application->recallObject('kActions'); | ||||
/* @var $actions Params */ | |||||
$actions->Set($event->getPrefixSpecial() . '_id', $object->GetID()); | $actions->Set($event->getPrefixSpecial() . '_id', $object->GetID()); | ||||
} | } | ||||
else { | else { | ||||
$object->setID($id); | $object->setID($id); | ||||
} | } | ||||
} | } | ||||
Show All 20 Lines | |||||
foreach ($remove_fields as $remove_field) { | foreach ($remove_fields as $remove_field) { | ||||
unset($fields[$remove_field]); | unset($fields[$remove_field]); | ||||
} | } | ||||
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); | $this->Application->setUnitOption($event->Prefix, 'Fields', $fields); | ||||
// remove grid columns | // remove grid columns | ||||
/** @var Array $grids */ | |||||
$grids = $this->Application->getUnitOption($event->Prefix, 'Grids', Array ()); | $grids = $this->Application->getUnitOption($event->Prefix, 'Grids', Array ()); | ||||
/* @var $grids Array */ | |||||
foreach ($grids as $grid_name => $grid_info) { | foreach ($grids as $grid_name => $grid_info) { | ||||
foreach ($remove_fields as $remove_field) { | foreach ($remove_fields as $remove_field) { | ||||
if (array_key_exists($remove_field, $grid_info['Fields'])) { | if (array_key_exists($remove_field, $grid_info['Fields'])) { | ||||
unset($grids[$grid_name]['Fields'][$remove_field]); | unset($grids[$grid_name]['Fields'][$remove_field]); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 92 Lines • ▼ Show 20 Line(s) | |||||
/** | /** | ||||
* Occurs before item is changed | * Occurs before item is changed | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
*/ | */ | ||||
function _itemChanged($event) | function _itemChanged($event) | ||||
{ | { | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$email_event_data = $this->Application->GetVar('email-template_' . $event->Prefix); | $email_event_data = $this->Application->GetVar('email-template_' . $event->Prefix); | ||||
$object->SetDBField('DefaultEmailRecipients', $email_event_data[0]['Recipients']); | $object->SetDBField('DefaultEmailRecipients', $email_event_data[0]['Recipients']); | ||||
$this->_setRequired($event); | $this->_setRequired($event); | ||||
} | } | ||||
/** | /** | ||||
* Set's required fields | * Set's required fields | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
*/ | */ | ||||
function _setRequired($event) | function _setRequired($event) | ||||
{ | { | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$redirect_mode = $object->GetDBField('RedirectOnIPMatch'); | $redirect_mode = $object->GetDBField('RedirectOnIPMatch'); | ||||
$object->setRequired('ExternalUrl', $redirect_mode == SITE_DOMAIN_REDIRECT_EXTERNAL); | $object->setRequired('ExternalUrl', $redirect_mode == SITE_DOMAIN_REDIRECT_EXTERNAL); | ||||
$object->setRequired('DomainIPRange', $redirect_mode > 0); | $object->setRequired('DomainIPRange', $redirect_mode > 0); | ||||
} | } | ||||
} | } |