public function newsletterSubscribe($user_id = 0, $data = array(), $sendmail = 0) { $newsletter = 1; $user = JFactory::getUser(); if ($user_id == 0) { $user_id = $user->id; } if (DEFAULT_NEWSLETTER > 0) { $newsletter = DEFAULT_NEWSLETTER; } if (count($data) <= 0) { $data['user_id'] = $user->id; $data['username'] = $user->username; $data['email'] = $user->email; $data['name'] = $user->name . " (" . $user->username . ")"; } else { $data['user_id'] = $user_id; $data['name'] = $data['name']; $data['email'] = $data['email1']; if (isset($data['username'])) { $data['name'] = $data['username']; } if ($user->id && $user->email == $data['email']) { $data['name'] = $user->name . " (" . $user->username . ")"; } } $data['date'] = time(); $data['newsletter_id'] = $newsletter; $data['published'] = 1; if (NEWSLETTER_CONFIRMATION && $sendmail) { $data['published'] = 0; } JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_redshop/tables'); $row = JTable::getInstance('newslettersubscr_detail', 'Table'); if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); } if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); } if (NEWSLETTER_CONFIRMATION && $sendmail) { $redshopMail = new redshopMail(); $redshopMail->sendNewsletterConfirmationMail($row->subscription_id); } return true; }