Index: branches/5.2.x/core/kernel/application.php =================================================================== diff -u -N -r15173 -r15215 --- branches/5.2.x/core/kernel/application.php (.../application.php) (revision 15173) +++ branches/5.2.x/core/kernel/application.php (.../application.php) (revision 15215) @@ -1,6 +1,6 @@ registerClass('kCatDBEventHandler', KERNEL_PATH . '/db/cat_event_handler.php'); // email sending + $this->registerClass('kEmail', KERNEL_PATH . '/utility/email.php'); $this->registerClass('kEmailSendingHelper', KERNEL_PATH . '/utility/email_send.php', 'EmailSender'); $this->registerClass('kSocket', KERNEL_PATH . '/utility/socket.php', 'Socket'); @@ -2594,11 +2595,9 @@ * @return kEvent * @access public */ - public function &EmailEventAdmin($email_event_name, $to_user_id = null, $send_params = Array ()) + public function EmailEventAdmin($email_event_name, $to_user_id = null, $send_params = Array ()) { - $event =& $this->EmailEvent($email_event_name, EmailEvent::EVENT_TYPE_ADMIN, $to_user_id, $send_params); - - return $event; + return $this->_emailEvent($email_event_name, EmailEvent::EVENT_TYPE_ADMIN, $to_user_id, $send_params); } /** @@ -2610,11 +2609,9 @@ * @return kEvent * @access public */ - public function &EmailEventUser($email_event_name, $to_user_id = null, $send_params = Array ()) + public function EmailEventUser($email_event_name, $to_user_id = null, $send_params = Array ()) { - $event =& $this->EmailEvent($email_event_name, EmailEvent::EVENT_TYPE_FRONTEND, $to_user_id, $send_params); - - return $event; + return $this->_emailEvent($email_event_name, EmailEvent::EVENT_TYPE_FRONTEND, $to_user_id, $send_params); } /** @@ -2628,26 +2625,18 @@ * @return kEvent * @access protected */ - protected function &EmailEvent($email_event_name, $email_event_type, $to_user_id = null, $send_params = Array ()) + protected function _emailEvent($email_event_name, $email_event_type, $to_user_id = null, $send_params = Array ()) { - $params = Array ( - 'EmailEventName' => $email_event_name, - 'EmailEventToUserId' => $to_user_id, - 'EmailEventType' => $email_event_type, - 'DirectSendParams' => $send_params, - ); + $email = $this->makeClass('kEmail'); + /* @var $email kEmail */ - if ( array_key_exists('use_special', $send_params) ) { - $event_str = 'emailevents.' . $send_params['use_special'] . ':OnEmailEvent'; + if ( !$email->findEvent($email_event_name, $email_event_type) ) { + return false; } - else { - $event_str = 'emailevents:OnEmailEvent'; - } - $event = new kEvent($event_str, $params); - $this->HandleEvent($event); + $email->setParams($send_params); - return $event; + return $email->send($to_user_id); } /**