Index: branches/5.2.x/core/units/email_events/email_events_event_handler.php
===================================================================
diff -u -N -r13840 -r14095
--- branches/5.2.x/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 13840)
+++ branches/5.2.x/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 14095)
@@ -1,6 +1,6 @@
Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) {
- $event->status = erFAIL;
+ $event->status = kEvent::erFAIL;
return ;
}
@@ -146,7 +146,7 @@
}
if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) {
- $event->status = erFAIL;
+ $event->status = kEvent::erFAIL;
return ;
}
@@ -232,11 +232,11 @@
$address_type = $object->GetDBField('SenderAddressType');
switch ($address_type) {
- case ADDRESS_TYPE_EMAIL:
+ case EmailEvent::ADDRESS_TYPE_EMAIL:
$email = $address;
break;
- case ADDRESS_TYPE_USER:
+ case EmailEvent::ADDRESS_TYPE_USER:
$sql = 'SELECT FirstName, LastName, Email, PortalUserId
FROM ' . TABLE_PREFIX . 'PortalUser
WHERE Login = ' . $this->Conn->qstr($address);
@@ -321,15 +321,15 @@
}
}
- if (!array_key_exists(RECIPIENT_TYPE_TO, $all_recipients)) {
- $all_recipients[RECIPIENT_TYPE_TO] = Array ();
+ if (!array_key_exists(EmailEvent::RECIPIENT_TYPE_TO, $all_recipients)) {
+ $all_recipients[EmailEvent::RECIPIENT_TYPE_TO] = Array ();
}
// remove all "To" recipients, when not allowed
$overwrite_to_email = array_key_exists('overwrite_to_email', $direct_params) ? $direct_params['overwrite_to_email'] : false;
if (!$object->GetDBField('CustomRecipient') || $overwrite_to_email) {
- $all_recipients[RECIPIENT_TYPE_TO] = Array ();
+ $all_recipients[EmailEvent::RECIPIENT_TYPE_TO] = Array ();
}
// update with custom data given during event execution (user_id)
@@ -343,12 +343,12 @@
if ($user_info) {
$add_recipient = Array (
- 'RecipientAddressType' => ADDRESS_TYPE_EMAIL,
+ 'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_EMAIL,
'RecipientAddress' => $user_info['Email'],
'RecipientName' => trim($user_info['FirstName'] . ' ' . $user_info['LastName']),
);
- array_unshift($all_recipients[RECIPIENT_TYPE_TO], $add_recipient);
+ array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $add_recipient);
$user =& $this->Application->recallObject('u.email-to', null, Array('skip_autoload' => true));
/* @var $user UsersItem */
@@ -358,15 +358,15 @@
}
elseif (is_numeric($to_user_id)) {
// recipient is system user with negative ID (root, guest, etc.) -> send to admin
- array_unshift($all_recipients[RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
+ array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
}
// update with custom data given during event execution (email + name)
$add_recipient = Array ();
if (array_key_exists('to_email', $direct_params)) {
$add_recipient['RecipientName'] = '';
- $add_recipient['RecipientAddressType'] = ADDRESS_TYPE_EMAIL;
+ $add_recipient['RecipientAddressType'] = EmailEvent::ADDRESS_TYPE_EMAIL;
$add_recipient['RecipientAddress'] = $direct_params['to_email'];
}
@@ -375,21 +375,21 @@
}
if ($add_recipient) {
- array_unshift($all_recipients[RECIPIENT_TYPE_TO], $add_recipient);
+ array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $add_recipient);
}
- if (($object->GetDBField('Type') == EVENT_TYPE_ADMIN) && !$all_recipients[RECIPIENT_TYPE_TO]) {
+ if (($object->GetDBField('Type') == EmailEvent::EVENT_TYPE_ADMIN) && !$all_recipients[EmailEvent::RECIPIENT_TYPE_TO]) {
// admin email event without direct recipient -> send to admin
- array_unshift($all_recipients[RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
+ array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
}
$esender =& $this->Application->recallObject('EmailSender');
/* @var $esender kEmailSendingHelper */
$header_mapping = Array (
- RECIPIENT_TYPE_TO => 'To',
- RECIPIENT_TYPE_CC => 'Cc',
- RECIPIENT_TYPE_BCC => 'Bcc',
+ EmailEvent::RECIPIENT_TYPE_TO => 'To',
+ EmailEvent::RECIPIENT_TYPE_CC => 'Cc',
+ EmailEvent::RECIPIENT_TYPE_BCC => 'Bcc',
);
$default_email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
@@ -404,11 +404,11 @@
$repipient_name = $recipient['RecipientName'];
switch ($address_type) {
- case ADDRESS_TYPE_EMAIL:
+ case EmailEvent::ADDRESS_TYPE_EMAIL:
$pairs[] = Array ('email' => $address, 'name' => $repipient_name);
break;
- case ADDRESS_TYPE_USER:
+ case EmailEvent::ADDRESS_TYPE_USER:
$sql = 'SELECT FirstName, LastName, Email
FROM ' . TABLE_PREFIX . 'PortalUser
WHERE Login = ' . $this->Conn->qstr($address);
@@ -425,7 +425,7 @@
}
break;
- case ADDRESS_TYPE_GROUP:
+ case EmailEvent::ADDRESS_TYPE_GROUP:
$sql = 'SELECT u.FirstName, u.LastName, u.Email
FROM ' . TABLE_PREFIX . 'PortalGroup g
JOIN ' . TABLE_PREFIX . 'UserGroup ug ON ug.GroupId = g.GroupId
@@ -449,7 +449,7 @@
continue;
}
- if ($recipient_type == RECIPIENT_TYPE_TO) {
+ if ($recipient_type == EmailEvent::RECIPIENT_TYPE_TO) {
$to_email = $pairs[0]['email'] ? $pairs[0]['email'] : $default_email;
$to_name = $pairs[0]['name'] ? $pairs[0]['name'] : $to_email;
}
@@ -476,7 +476,7 @@
{
return Array (
'RecipientName' => $this->Application->ConfigValue('Smtp_AdminMailFrom'),
- 'RecipientAddressType' => ADDRESS_TYPE_EMAIL,
+ 'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_EMAIL,
'RecipientAddress' => $this->Application->ConfigValue('Smtp_AdminMailFrom'),
);
}
@@ -507,7 +507,7 @@
$replacement_tags = $object->GetDBField('ReplacementTags');
$replacement_tags = $replacement_tags ? unserialize($replacement_tags) : Array ();
- $replacement_tags = array_merge_recursive2($default_replacement_tags, $replacement_tags);
+ $replacement_tags = array_merge($default_replacement_tags, $replacement_tags);
foreach ($replacement_tags as $replace_from => $replace_to) {
$message_body = str_replace($replace_from, $replace_to, $message_body);
@@ -618,7 +618,7 @@
$this->Application->InitParser();
$parser_params = $this->Application->Parser->Params; // backup parser params
- $this->Application->Parser->SetParams( array_merge_recursive2($parser_params, $direct_params) );
+ $this->Application->Parser->SetParams( array_merge($parser_params, $direct_params) );
$message = implode('&|&', explode("\n\n", $message, 2)); // preserves double \n in case when tag is located in subject field
$message = $this->Application->Parser->Parse($message, 'email_template', 0);
@@ -657,7 +657,7 @@
{
$email_event_name = $event->getEventParam('EmailEventName');
if (strpos($email_event_name, '_') !== false) {
- trigger_error('Invalid email event name '.$email_event_name.'. Use only UPPERCASE characters and dots as email event names', E_USER_ERROR);
+ throw new Exception('Invalid email event name ' . $email_event_name . '. Use only UPPERCASE characters and dots as email event names');
}
$object =& $this->_getEmailEvent($event);
@@ -697,7 +697,7 @@
if ($this->Application->isDebugMode()) {
// set special header with event name, so it will be easier to determite what's actually was received
- $message_headers['X-Event-Name'] = $email_event_name . ' - ' . ($object->GetDBField('Type') == EVENT_TYPE_ADMIN ? 'ADMIN' : 'USER');
+ $message_headers['X-Event-Name'] = $email_event_name . ' - ' . ($object->GetDBField('Type') == EmailEvent::EVENT_TYPE_ADMIN ? 'ADMIN' : 'USER');
}
foreach ($message_headers as $header_name => $header_value) {
@@ -706,9 +706,9 @@
$esender->CreateTextHtmlPart($message_body, $object->GetDBField('MessageType') == 'html');
- $event->status = $esender->Deliver() ? erSUCCESS : erFAIL;
+ $event->status = $esender->Deliver() ? kEvent::erSUCCESS : kEvent::erFAIL;
- if ($event->status == erSUCCESS) {
+ if ($event->status == kEvent::erSUCCESS) {
// all keys, that are not used in email sending are written to log record
$send_keys = Array ('from_email', 'from_name', 'to_email', 'to_name', 'message');
foreach ($send_keys as $send_key) {
@@ -819,7 +819,7 @@
}
$this->Application->StoreVar('email_queue_progress', $emails_sent.':'.$total_emails);
- $event->status = erSTOP;
+ $event->status = kEvent::erSTOP;
echo ($emails_sent / $total_emails) * 100;
}
}
@@ -880,10 +880,10 @@
if (!$this->Application->isDebugMode(false)) {
if ($object->GetDBField('AllowChangingRecipient')) {
- $object->SetDBField('RecipientType', RECIPIENT_TYPE_TO);
+ $object->SetDBField('RecipientType', EmailEvent::RECIPIENT_TYPE_TO);
}
else {
- $object->SetDBField('RecipientType', RECIPIENT_TYPE_CC);
+ $object->SetDBField('RecipientType', EmailEvent::RECIPIENT_TYPE_CC);
}
}
@@ -976,13 +976,13 @@
}
switch ($address_type) {
- case ADDRESS_TYPE_EMAIL:
+ case EmailEvent::ADDRESS_TYPE_EMAIL:
if (!preg_match('/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i', $address)) {
$object->SetError($field_prefix . 'Address', 'invalid_email');
}
break;
- case ADDRESS_TYPE_USER:
+ case EmailEvent::ADDRESS_TYPE_USER:
$sql = 'SELECT PortalUserId
FROM ' . TABLE_PREFIX . 'PortalUser
WHERE Login = ' . $this->Conn->qstr($address);
@@ -991,7 +991,7 @@
}
break;
- case ADDRESS_TYPE_GROUP:
+ case EmailEvent::ADDRESS_TYPE_GROUP:
$sql = 'SELECT GroupId
FROM ' . TABLE_PREFIX . 'PortalGroup
WHERE Name = ' . $this->Conn->qstr($address);
@@ -1033,7 +1033,7 @@
*/
function OnSuggestAddress(&$event)
{
- $event->status = erSTOP;
+ $event->status = kEvent::erSTOP;
$address_type = $this->Application->GetVar('type');
$address = $this->Application->GetVar('value');
@@ -1044,17 +1044,17 @@
}
switch ($address_type) {
- case ADDRESS_TYPE_EMAIL:
+ case EmailEvent::ADDRESS_TYPE_EMAIL:
$field = 'Email';
$table_name = TABLE_PREFIX . 'PortalUser';
break;
- case ADDRESS_TYPE_USER:
+ case EmailEvent::ADDRESS_TYPE_USER:
$field = 'Login';
$table_name = TABLE_PREFIX . 'PortalUser';
break;
- case ADDRESS_TYPE_GROUP:
+ case EmailEvent::ADDRESS_TYPE_GROUP:
$field = 'Name';
$table_name = TABLE_PREFIX . 'PortalGroup';
break;