Index: modules/in-link/units/listings/listings_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-link/units/listings/listings_event_handler.php (revision 15931) +++ modules/in-link/units/listings/listings_event_handler.php (revision ) @@ -140,13 +140,9 @@ if ( $status_modified ) { $email_event = $object->GetDBField('Status') ? 'LINK.ENHANCE.APPROVE' : 'LINK.ENHANCE.DENY'; - $sql = 'SELECT CreatedById - FROM ' . $this->Application->getUnitConfig('l')->getTableName() . ' - WHERE ResourceId = ' . $object->GetDBField('ItemResourceId'); - $user_id = $this->Conn->GetOne($sql); - - $this->Application->emailUser($email_event, $user_id); - $this->Application->emailAdmin($email_event); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser($email_event, $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin($email_event, null, $link_data['SpecParams']); } if ( $type_modified || $link_modified ) { @@ -434,11 +430,9 @@ case 'OnListingCreate': // when requesting enhancement from front (and not via in-commerce) $event->redirect = $this->Application->GetVar('success_template'); - - $sql = 'SELECT CreatedById FROM '.$links_config->getTableName().' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $this->Application->emailUser('LINK.ENHANCE', $this->Conn->GetOne($sql)); - $this->Application->emailAdmin('LINK.ENHANCE'); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser('LINK.ENHANCE', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE', null, $link_data['SpecParams']); break; } @@ -592,12 +586,9 @@ if ( $object->GetDBField('Status') == STATUS_ACTIVE ) { $original_values = $object->GetFieldValues(); $this->ResetLink($original_values); - - $sql = 'SELECT CreatedById - FROM ' . $links_config->getTableName() . ' - WHERE ResourceId = ' . $object->GetDBField('ItemResourceId'); - $this->Application->emailUser('LINK.ENHANCE.DENY', $this->Conn->GetOne($sql)); - $this->Application->emailAdmin('LINK.ENHANCE.DENY'); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser('LINK.ENHANCE.DENY', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.DENY', null, $link_data['SpecParams']); } } } @@ -611,12 +602,8 @@ foreach ($ids as $id) { $object->Load($id); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); - $sql = 'SELECT CreatedById - FROM ' . $links_config->getTableName() . ' - WHERE ResourceId = ' . $object->GetDBField('ItemResourceId'); - $owner_id = $this->Conn->GetOne($sql); - if ( $object->GetDBField('PendingRenewal') == 1 ) { $lst_object->Load( $object->GetDBField('ListingTypeId') ); $dur_type_mapping = Array ( @@ -638,8 +625,8 @@ if ( $object->Update() ) { $event->status = kEvent::erSUCCESS; $event->SetRedirectParam('opener', 's'); - $this->Application->emailUser('LINK.ENHANCE.RENEW', $owner_id); - $this->Application->emailAdmin('LINK.ENHANCE.RENEW'); + $this->Application->emailUser('LINK.ENHANCE.RENEW', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.RENEW', null, $link_data['SpecParams']); } else { $event->status = kEvent::erFAIL; @@ -648,14 +635,38 @@ } } else { - $this->Application->emailUser('LINK.ENHANCE.APPROVE', $owner_id); - $this->Application->emailAdmin('LINK.ENHANCE.APPROVE'); + $this->Application->emailUser('LINK.ENHANCE.APPROVE', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.APPROVE', null, $link_data['SpecParams']); } } } } /** + * Returns owner id and array of e-mail special params + * + * @param int $link_resource_id + * @return Array + * @access protected + */ + protected function getLinkDataForEmail($link_resource_id) + { + $link_id_field = $this->Application->getUnitConfig('l')->getIDField(); + $sql = 'SELECT CreatedById, ' . $link_id_field . ' + FROM ' . $this->Application->getUnitConfig('l')->getTableName() . ' + WHERE ResourceId = ' . $link_resource_id; + $link_data = $this->Conn->GetRow($sql); + + return Array ( + 'CreatedById' => $link_data['CreatedById'], + 'SpecParams' => Array ( + 'PrefixSpecial' => 'l', + 'item_id' => $link_data[$link_id_field] + ) + ); + } + + /** * Redirects to cancel template on front-end * * @param kEvent $event @@ -712,11 +723,9 @@ $object->SetDBField('PendingRenewal', 1); $object->Update(); $event->redirect = $this->Application->GetVar('success_template'); - - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitConfig('l')->getTableName().' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $this->Application->emailUser('LINK.ENHANCE.EXTEND', $this->Conn->GetOne($sql)); - $this->Application->emailAdmin('LINK.ENHANCE.EXTEND'); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser('LINK.ENHANCE.EXTEND', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.EXTEND', null, $link_data['SpecParams']); } /** @@ -739,12 +748,10 @@ $original_values = $object->GetFieldValues(); $original_values['Status'] = 1; $this->ResetLink($original_values); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser('LINK.ENHANCE.CANCEL', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.CANCEL', null, $link_data['SpecParams']); - $sql = 'SELECT CreatedById FROM ' . $this->Application->getUnitConfig('l')->getTableName() . ' - WHERE ResourceId = ' . $object->GetDBField('ItemResourceId'); - $this->Application->emailUser('LINK.ENHANCE.CANCEL', $this->Conn->GetOne($sql)); - $this->Application->emailAdmin('LINK.ENHANCE.CANCEL'); - $object->Delete(); $event->redirect = $this->Application->GetVar('success_template'); } @@ -774,30 +781,35 @@ $this->ResetLink($original_values); $object->SetDBField('Status', 2); $object->Update(); - - $sql = 'SELECT CreatedById FROM '.$links_config->getTableName().' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $this->Application->emailUser('LINK.ENHANCE.EXPIRE', $this->Conn->GetOne($sql)); - $this->Application->emailAdmin('LINK.ENHANCE.EXPIRE'); + $link_data = $this->getLinkDataForEmail($object->GetDBField('ItemResourceId')); + $this->Application->emailUser('LINK.ENHANCE.EXPIRE', $link_data['CreatedById'], $link_data['SpecParams']); + $this->Application->emailAdmin('LINK.ENHANCE.EXPIRE', null, $link_data['SpecParams']); } } - $sql = 'SELECT ls.ListingId, l.CreatedById FROM '.$config->getTableName().' ls + $link_id_field = $this->Application->getUnitConfig('l')->getIDField(); + $sql = 'SELECT ls.ListingId, l.CreatedById, l.' . $link_id_field . ' FROM ' . $config->getTableName() . ' ls - LEFT JOIN '.$this->Application->getUnitConfig('lst')->getTableName().' lst + LEFT JOIN ' . $this->Application->getUnitConfig('lst')->getTableName() . ' lst ON ls.ListingTypeId = lst.ListingTypeId - LEFT JOIN '.$links_config->getTableName().' l + LEFT JOIN ' . $links_config->getTableName() . ' l ON ls.ItemResourceId = l.ResourceId WHERE ls.Status = 1 - AND ls.ExpiresOn < '.time().' + lst.RenewalReminder * 3600 *24 + AND ls.ExpiresOn < ' . time() . ' + lst.RenewalReminder * 3600 *24 AND ls.RenewalReminderSent = 0'; $res = $this->Conn->Query($sql); + if(is_array($res) && count($res) > 0) { $listing_ids = Array(); foreach($res as $record) { - $this->Application->emailUser('LINK.ENHANCE.RENEWAL.NOTICE', $record['CreatedById']); - $this->Application->emailAdmin('LINK.ENHANCE.RENEWAL.NOTICE'); + $spec_params = Array ( + 'PrefixSpecial' => 'l', + 'item_id' => $record[$link_id_field] + ); + + $this->Application->emailUser('LINK.ENHANCE.RENEWAL.NOTICE', $record['CreatedById'], $spec_params); + $this->Application->emailAdmin('LINK.ENHANCE.RENEWAL.NOTICE', null, $spec_params); $listing_ids[] = $record['ListingId']; } $sql = 'UPDATE '.$config->getTableName().' \ No newline at end of file Index: modules/in-bulletin/units/posts/post_eh.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-bulletin/units/posts/post_eh.php (revision 15931) +++ modules/in-bulletin/units/posts/post_eh.php (revision ) @@ -154,7 +154,10 @@ { parent::OnAfterItemUpdate($event); - $this->Application->emailAdmin('POST.MODIFY'); + $object = $event->getObject(); + /* @var $object kDBItem */ + + $this->Application->emailAdmin('POST.MODIFY', null, $object->getEmailSpecialParams()); } /** @@ -235,17 +238,19 @@ // don't send any email events when in admin OR new topic just added (0 posts) $user_notified = false; // don't send POST.ADD event twice to same user (in case if owner adds new post) + $spec_params = $object->getEmailSpecialParams(); + if ( $main_object->GetDBField('NotifyOwnerOnChanges') ) { $user_notified = $main_object->GetDBField('OwnerId'); - $this->Application->emailUser('POST.ADD', $user_notified); + $this->Application->emailUser('POST.ADD', $user_notified, $spec_params); } $post_owner_id = $object->GetDBField('CreatedById'); if ( ($post_owner_id > 0) && ($user_notified != $post_owner_id) ) { - $this->Application->emailUser('POST.ADD', $post_owner_id); + $this->Application->emailUser('POST.ADD', $post_owner_id, $spec_params); } - $this->Application->emailAdmin('POST.ADD'); + $this->Application->emailAdmin('POST.ADD', null, $spec_params); } $post_helper->updateTodayPostsCount($main_object, $object->GetDBField('CreatedOn'), +1); \ No newline at end of file Index: modules/in-commerce/units/gift_certificates/gift_certificates_eh.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-commerce/units/gift_certificates/gift_certificates_eh.php (revision 15931) +++ modules/in-commerce/units/gift_certificates/gift_certificates_eh.php (revision ) @@ -181,13 +181,13 @@ foreach ($ids as $id) { $object->Load($id); - $send_params = Array ( + $send_params = array_merge(Array ( 'from_email' => $this->Application->ConfigValue('DefaultEmailSender'), 'from_name' => $object->GetDBField('Purchaser'), 'message' => $object->GetDBField('Message'), 'amount' => $object->GetField('Amount'), 'gifcert_id' => $object->GetDBField('Code'), - ); + ), $object->getEmailSpecialParams()); $this->Application->emailAdmin('USER.GIFTCERTIFICATE', null, $send_params); \ No newline at end of file Index: modules/in-commerce/units/products/products_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-commerce/units/products/products_event_handler.php (revision 15931) +++ modules/in-commerce/units/products/products_event_handler.php (revision ) @@ -293,10 +293,12 @@ if (!$orders) return; $order = $this->Application->recallObject('ord.-inv', null, Array('skip_autoload' => true)); + /* @var $order OrdersItem */ + foreach ($orders as $ord_id) { $order->Load($ord_id); - $this->Application->emailAdmin('BACKORDER.FULLFILL'); + $this->Application->emailAdmin('BACKORDER.FULLFILL', null, $order->getEmailSpecialParams()); //reserve what's possible in any case $event = new kEvent('ord:OnReserveItems'); @@ -772,10 +774,15 @@ $send_params['from_name']=$my_name; $send_params['message']=$my_message; + $spec_params = Array ( + 'PrefixSpecial' => 'p', + 'item_id' => $this->Application->GetVar('p_id') + ); + if ( preg_match('/' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . '/', $friend_email) ) { $user_id = $this->Application->RecallVar('user_id'); - $email_sent = $this->Application->emailUser('PRODUCT.SUGGEST', $user_id, $send_params); - $this->Application->emailAdmin('PRODUCT.SUGGEST'); + $email_sent = $this->Application->emailUser('PRODUCT.SUGGEST', $user_id, array_merge($send_params, $spec_params)); + $this->Application->emailAdmin('PRODUCT.SUGGEST', null, $spec_params); if ( $email_sent ) { $event->setRedirectParams(Array ('opener' => 's', 'pass' => 'all')); \ No newline at end of file Index: modules/in-commerce/units/orders/orders_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-commerce/units/orders/orders_event_handler.php (revision 15931) +++ modules/in-commerce/units/orders/orders_event_handler.php (revision ) @@ -483,13 +483,15 @@ $shipping_control = getArrayValue($charge_result, 'gw_data', 'gw_params', 'shipping_control'); if ($event->Special != 'recurring') { + if ($shipping_control && $shipping_control != SHIPPING_CONTROL_PREAUTH ) { // we have to do it here, because the coupons are used in the e-mails $this->PrepareCoupons($event, $order); } - $this->Application->emailUser('ORDER.SUBMIT', null, $this->OrderEmailParams($order)); - $this->Application->emailAdmin('ORDER.SUBMIT'); + $spec_params = $order->getEmailSpecialParams(); + $this->Application->emailUser('ORDER.SUBMIT', null, array_merge($this->OrderEmailParams($order), $spec_params)); + $this->Application->emailAdmin('ORDER.SUBMIT', null, $spec_params); } if ($shipping_control === false || $shipping_control == SHIPPING_CONTROL_PREAUTH ) { @@ -2070,6 +2072,8 @@ $event->status = kEvent::erSUCCESS; $email_params = $this->OrderEmailParams($object); + $email_params['PrefixSpecial'] = $object->getPrefixSpecial(); + $email_params['item_id'] = $object->GetID(); switch ($event->Name) { case 'OnMassOrderApprove': @@ -2896,8 +2900,9 @@ $sub_order->SetDBField('Status', ORDER_STATUS_BACKORDERS); if ($event->Special != 'recurring') { // just in case if admin uses tangible backordered products in recurring orders - $this->Application->emailUser('BACKORDER.ADD', null, $this->OrderEmailParams($sub_order)); - $this->Application->emailAdmin('BACKORDER.ADD'); + $spec_params = $sub_order->getEmailSpecialParams(); + $this->Application->emailUser('BACKORDER.ADD', null, array_merge($this->OrderEmailParams($sub_order), $spec_params)); + $this->Application->emailAdmin('BACKORDER.ADD', null, $spec_params); } } else { @@ -3535,22 +3540,26 @@ /* @var $temp_handler kTempTablesHandler */ $cloned_order_ids = $temp_handler->CloneItems($event->Prefix, 'recurring', $order_ids); - $order =& $this->Application->recallObject($event->Prefix.'.recurring', null, Array('skip_autoload' => true)); + $order = $this->Application->recallObject($event->Prefix.'.recurring', null, Array('skip_autoload' => true)); + /* @var $order OrdersItem */ + foreach ($cloned_order_ids as $order_id) { $order->Load($order_id); $this->Application->HandleEvent($complete_event, $event->Prefix.'.recurring:OnCompleteOrder' ); + $spec_params = $order->getEmailSpecialParams(); + if ($complete_event->status == kEvent::erSUCCESS) { //send recurring ok email - $this->Application->emailUser('ORDER.RECURRING.PROCESSED', null, $this->OrderEmailParams($order)); - $this->Application->emailAdmin('ORDER.RECURRING.PROCESSED'); + $this->Application->emailUser('ORDER.RECURRING.PROCESSED', null, array_merge($this->OrderEmailParams($order), $spec_params)); + $this->Application->emailAdmin('ORDER.RECURRING.PROCESSED', null, $spec_params); } else { //send Recurring failed event $order->SetDBField('Status', ORDER_STATUS_DENIED); $order->Update(); - $this->Application->emailUser('ORDER.RECURRING.DENIED', null, $this->OrderEmailParams($order)); - $this->Application->emailAdmin('ORDER.RECURRING.DENIED'); + $this->Application->emailUser('ORDER.RECURRING.DENIED', null, array_merge($this->OrderEmailParams($order), $spec_params)); + $this->Application->emailAdmin('ORDER.RECURRING.DENIED', null, $spec_params); } } \ No newline at end of file Index: modules/in-link/units/links/links_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-link/units/links/links_event_handler.php (revision 15931) +++ modules/in-link/units/links/links_event_handler.php (revision ) @@ -323,13 +323,13 @@ $object = $event->getObject(); // get link object /* @var $object kDBItem */ - $send_params = Array( + $send_params = array_merge(Array( 'from_name' => $this->Application->GetVar('ContactFormFullName'), 'from_email' => $this->Application->GetVar('ContactFormEmail'), 'from_subject' => $this->Application->GetVar('ContactFormSubject'), 'message' => $this->Application->GetVar('ContactFormBody'), 'to_linkname' => $object->GetField('Name'), - ); + ), $object->getEmailSpecialParams()); $email_sent = $this->Application->emailUser('LINK.CONTACTFORM', $object->GetDBField('CreatedById'), $send_params); @@ -406,7 +406,7 @@ $object->SetDBField('ReciprocalLinkFound', $link_checked ? LINK_IS_RECIPROCAL : LINK_IS_NOT_RECIPROCAL); if (!$link_checked) { - $this->Application->emailAdmin('LINK.RECIPROCAL.CHECK.FAILED'); + $this->Application->emailAdmin('LINK.RECIPROCAL.CHECK.FAILED', null, $object->getEmailSpecialParams()); } } } @@ -451,7 +451,7 @@ } else { $object->DeclineChanges(); - $this->Application->emailAdmin('LINK.RECIPROCAL.CHECK.FAILED'); + $this->Application->emailAdmin('LINK.RECIPROCAL.CHECK.FAILED', null, $object->getEmailSpecialParams()); } } \ No newline at end of file Index: modules/in-auction/units/sections/ebay_eh.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-auction/units/sections/ebay_eh.php (revision 15931) +++ modules/in-auction/units/sections/ebay_eh.php (revision ) @@ -1745,6 +1745,8 @@ $this->Application->StoreVar('ord_id', $order_id); $Order = $this->Application->recallObject('ord.item', null, Array('skip_autoload' => true)); + /* @var $Order OrdersItem */ + $Order->Load($order_id); // Add Product to cart @@ -1850,10 +1852,10 @@ 'index.php' ); $autologin_url = str_replace('/in-auction/', '/', $autologin_url); - $send_params = Array( + $send_params = array_merge(Array ( 'autologin_url' => $autologin_url, 'username' => $User->GetDBField('Username'), - ); + ), $Order->getEmailSpecialParams()); $this->Application->emailUser('EBAYORDER.CREATE', $User->GetID(), $send_params); @@ -3045,18 +3047,22 @@ 'index.php' ); $autologin_url = str_replace('/in-auction/', '/', $autologin_url); - $send_params = Array( + $spec_params = $Order->getEmailSpecialParams(); + + $send_params = array_merge(Array ( 'autologin_url' => $autologin_url, 'eBayListingId' => $a_item['eBayListingId'], 'from_email' => $admin_email, - ); + ), $spec_params); $this->Application->emailUser('EBAYNOTPAID.NOTIFY', $User->GetID(), $send_params); - $this->Application->emailAdmin('EBAYNOTPAID.NOTIFY', null, Array( + + $send_params = array_merge(Array ( 'eBayListingId' => $a_item['eBayListingId'], 'to_email' => $admin_email, - )); + ), $spec_params); + $this->Application->emailAdmin('EBAYNOTPAID.NOTIFY', null, $send_params); $sql = 'UPDATE '.TABLE_PREFIX.'eBayOrderItems SET NotPaidUserNotified = '.time().' @@ -3816,7 +3822,7 @@ $esender->AddCc($admin_email); } - $this->Application->emailUser('EBAYFEEDBACKNOTRECEIVED.NOTIFY', $User->GetID(), $send_params); + $this->Application->emailUser('EBAYFEEDBACKNOTRECEIVED.NOTIFY', $User->GetID(), $Product->getEmailSpecialParams()); // update LastFeedbackNotificationTime field \ No newline at end of file Index: modules/in-commerce/units/affiliates/affiliates_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-commerce/units/affiliates/affiliates_event_handler.php (revision 15931) +++ modules/in-commerce/units/affiliates/affiliates_event_handler.php (revision ) @@ -349,8 +349,9 @@ $object->SetDBField('PortalUserId', $user->GetID()); if ( $object->Create() ) { - $this->Application->emailUser('AFFILIATE.REGISTER', $user->GetID()); - $this->Application->emailAdmin('AFFILIATE.REGISTER'); + $spec_params = $object->getEmailSpecialParams(); + $this->Application->emailUser('AFFILIATE.REGISTER', $user->GetID(), $spec_params); + $this->Application->emailAdmin('AFFILIATE.REGISTER', null, $spec_params); } } @@ -407,8 +408,9 @@ $object = $event->getObject(); /* @var $object kDBItem */ - $this->Application->emailUser('AFFILIATE.PAYMENT.TYPE.CHANGED', $object->GetDBField('PortalUserId')); - $this->Application->emailAdmin('AFFILIATE.PAYMENT.TYPE.CHANGED'); + $spec_params = $object->getEmailSpecialParams(); + $this->Application->emailUser('AFFILIATE.PAYMENT.TYPE.CHANGED', $object->GetDBField('PortalUserId'), $spec_params); + $this->Application->emailAdmin('AFFILIATE.PAYMENT.TYPE.CHANGED', null, $spec_params); $next_template = $this->Application->GetVar('next_template'); @@ -451,8 +453,9 @@ foreach ($new_ids as $payment_id) { $payment_object->Load($payment_id); - $this->Application->emailUser('AFFILIATE.PAYMENT', $payment_object->GetDBField('PortalUserId')); - $this->Application->emailAdmin('AFFILIATE.PAYMENT'); + $spec_params = $payment_object->getEmailSpecialParams(); + $this->Application->emailUser('AFFILIATE.PAYMENT', $payment_object->GetDBField('PortalUserId'), $spec_params); + $this->Application->emailAdmin('AFFILIATE.PAYMENT', null, $spec_params); } $object = $event->getObject(); @@ -470,8 +473,9 @@ $old_status = $this->Conn->GetOne($sql); if ( $old_status == 2 && $object->GetDBField('Status') == 1 ) { - $this->Application->emailUser('AFFILIATE.REGISTRATION.APPROVED', $object->GetDBField('PortalUserId')); - $this->Application->emailAdmin('AFFILIATE.REGISTRATION.APPROVED'); + $spec_params = $object->getEmailSpecialParams(); + $this->Application->emailUser('AFFILIATE.REGISTRATION.APPROVED', $object->GetDBField('PortalUserId'), $spec_params); + $this->Application->emailAdmin('AFFILIATE.REGISTRATION.APPROVED', null, $spec_params); } } @@ -619,16 +623,19 @@ } if ( $object->Update() ) { + $spec_params = $object->getEmailSpecialParams(); + switch ($event->Name) { case 'OnMassApprove': - $this->Application->emailUser('AFFILIATE.REGISTRATION.APPROVED', $object->GetDBField('PortalUserId')); - $this->Application->emailAdmin('AFFILIATE.REGISTRATION.APPROVED'); + $this->Application->emailUser('AFFILIATE.REGISTRATION.APPROVED', $object->GetDBField('PortalUserId'), $spec_params); + $this->Application->emailAdmin('AFFILIATE.REGISTRATION.APPROVED', null, $spec_params); break; case 'OnMassDecline': - $this->Application->emailUser('AFFILIATE.REGISTRATION.DENIED', $object->GetDBField('PortalUserId')); - $this->Application->emailAdmin('AFFILIATE.REGISTRATION.DENIED'); + $this->Application->emailUser('AFFILIATE.REGISTRATION.DENIED', $object->GetDBField('PortalUserId'), $spec_params); + $this->Application->emailAdmin('AFFILIATE.REGISTRATION.DENIED', null, $spec_params); break; } + $event->status = kEvent::erSUCCESS; $event->SetRedirectParam('opener', 's'); //stay! } \ No newline at end of file Index: modules/in-bulletin/units/private_messages/private_message_eh.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/in-bulletin/units/private_messages/private_message_eh.php (revision 15931) +++ modules/in-bulletin/units/private_messages/private_message_eh.php (revision ) @@ -109,7 +109,7 @@ $object = $event->getObject(); /* @var $object kDBItem */ - $this->Application->emailUser('PM.ADD', $object->GetDBField('ToId')); + $this->Application->emailUser('PM.ADD', $object->GetDBField('ToId'), $object->getEmailSpecialParams()); if ( $object->GetDBField('FolderId') != PM_FOLDER_SENT ) { // 1. create message in sender's "Sent" folder (this method only for this step) \ No newline at end of file