Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Sends E-Mails to participants, organizers etc.
- *
- * $art:
- * 1: booking confirmation
- * 2: cancel confirmation (user)
- * 3: cancel confirmation (admin)
- * 4: deleted
- * 5: published
- * 6: certificated
- * 7: certificate revoked
- * 8: max number reached
- * 9: republished event
- * 10: canceld
- *
- * @param int $cid - The event id
- * @param int $uid - The user id?
- * @param int $art - The Task
- * @param bool $cancel - Should we cancel
- *
- * @todo update, rewrite and optimize
- * @return void
- */
- public static function sendBookingConfirmationMail($cid, $uid, $art, $cancel = false)
- {
- jimport('joomla.mail.helper');
- jimport('joomla.mail.mail');
- $mainframe = JFactory::getApplication();
- if (MatukioHelperSettings::getSettings('sendmail_teilnehmer', 1) > 0
- OR MatukioHelperSettings::getSettings('sendmail_owner', 1) > 0)
- {
- $database = JFactory::getDBO();
- $database->setQuery("SELECT * FROM #__matukio WHERE id = '" . $cid . "'");
- $event = $database->loadObject();
- if (!$cancel)
- {
- $database->setQuery("SELECT * FROM #__matukio_bookings WHERE id = " . $uid);
- }
- else
- {
- $database->setQuery("SELECT * FROM #__matukio_bookings WHERE semid = " . $cid . " AND userid = " . $uid);
- }
- $booking = $database->loadObject();
- if ($booking->userid == 0)
- {
- $user = JFactory::getUser(0);
- $user->name = $booking->name;
- $user->email = $booking->email;
- }
- else
- {
- $user = JFactory::getuser($booking->userid);
- }
- $publisher = JFactory::getuser($event->publisher);
- $body1 = "<p><span style=\"font-size:10pt;\">" . JTEXT::_('COM_MATUKIO_PLEASE_DONT_ANSWER_THIS_EMAIL') . "</span><p>";
- $body2 = $body1;
- $gebucht = self::calculateBookedPlaces($event);
- $gebucht = $gebucht->booked;
- switch ($art)
- {
- // Booking confirmation
- case 1:
- if ($gebucht > $event->maxpupil)
- {
- if ($event->stopbooking = 0)
- {
- $body1 .= JTEXT::_('COM_MATUKIO_MAX_PARTICIPANT_NUMBER_REACHED');
- }
- else
- {
- $body1 .= JTEXT::_('COM_MATUKIO_ADMIN_BOOKED_EVENT_FOR_YOU') . " " . JTEXT::_('COM_MATUKIO_YOU_ARE_BOOKED_ON_THE_WAITING_LIST');
- }
- }
- else
- {
- $body1 .= JTEXT::_('COM_MATUKIO_ADMIN_BOOKED_EVENT_FOR_YOU');
- }
- $body2 .= JTEXT::_('COM_MATUKIO_ADMIN_MADE_FOLLOWING_RESERVATION');
- break;
- // Cancel
- case 2:
- $body1 .= JTEXT::_('COM_MATUKIO_YOU_HAVE_CANCELLED');
- $body2 .= JTEXT::_('COM_MATUKIO_BOOKING_FOR_EVENT_CANCELLED');
- break;
- case 3:
- $body1 .= JTEXT::_('COM_MATUKIO_BOOKING_CANCELED');
- $body2 .= JTEXT::_('COM_MATUKIO_THE_ADMIN_CANCELED_THE_BOOKING_OF_FOLLOWING');
- break;
- case 4:
- $body1 .= JTEXT::_('COM_MATUKIO_ADMIN_DELETED_THE_FOLLOWING_EVENT');
- $body2 .= JTEXT::_('COM_MATUKIO_ADMIN_DELETED_EVENT');
- break;
- case 5:
- $body1 .= JTEXT::_('COM_MATUKIO_ADMIN_PUBLISHED_EVENT_YOUR_BOOKING_IS_VALID');
- $body2 .= JTEXT::_('COM_MATUKIO_ADMIN_PUBLISHED_EVENT_THE_BOOKING_OF_PARTICIPANTS_IS_VALID');
- break;
- case 6:
- $body1 .= JTEXT::_('COM_MATUKIO_THE_ADMIN_CERTIFIED_YOU');
- $body2 .= JTEXT::_('COM_MATUKIO_ADMIN_HAS_CERTIFICATED_FOLLOWING_PARTICIPANT');
- if (MatukioHelperSettings::getSettings('frontend_userprintcertificate', 0) > 0)
- {
- $body1 .= " " . JTEXT::_('COM_MATUKIO_YOU_CAN_PRINT_YOUR_CERTIFICATE');
- }
- break;
- case 7:
- $body1 .= JTEXT::_('COM_MATUKIO_CERTIFICAT_REVOKED');
- $body2 .= JTEXT::_('COM_MATUKIO_ADMIN_HAS_WITHDRAWN_CERTIFICATE_FOR_FOLLOWNG_PARITICIPANTS');
- break;
- case 8:
- if ($gebucht > $event->maxpupil)
- {
- if ($event->stopbooking = 0)
- {
- $body1 .= JTEXT::_('COM_MATUKIO_MAX_PARTICIPANT_NUMBER_REACHED');
- }
- else
- {
- $body1 .= JTEXT::_('COM_MATUKIO_ORGANISER_REGISTERED_YOU') . " " . JTEXT::_('COM_MATUKIO_YOU_ARE_BOOKED_ON_THE_WAITING_LIST');
- }
- }
- else
- {
- $body1 .= JTEXT::_('COM_MATUKIO_ORGANISER_REGISTERED_YOU');
- }
- $body2 .= JTEXT::_('COM_MATUKIO_YOU_HAVE_REGISTRED_PARTICIPANT_FOR');
- break;
- case 9:
- $body1 .= JTEXT::_('COM_MATUKIO_ORGANISER_HAS_REPUBLISHED_EVENT');
- $body2 .= JTEXT::_('COM_MATUKIO_THE_BOOKING_OF_THE_PARTICIPANT_IS_VALID_AGAIN');
- break;
- case 10:
- $body1 .= JTEXT::_('COM_MATUKIO_ORGANISER_CANCELLED');
- $body2 .= JTEXT::_('COM_MATUKIO_BOOKING_NO_LONGER_VALID');
- break;
- case 11:
- $body1 .= JTEXT::_('COM_MATUKIO_ORGANISER_UPDATED_YOUR_BOOKING');
- $body2 .= JTEXT::_('');
- break;
- }
- $abody = "\n<head>\n<style type=\"text/css\">\n<!--\nbody {\nfont-family: Verdana, Tahoma, Arial;\nfont-size:12pt;\n}\n-->\n</style></head><body>";
- $sender = $mainframe->getCfg('fromname');
- $from = $mainframe->getCfg('mailfrom');
- $htxt = "";
- if ($event->semnum != "")
- {
- $htxt = " " . $event->semnum;
- }
- $subject = JTEXT::_('COM_MATUKIO_EVENT') . $htxt . ": " . $event->title;
- $subject = JMailHelper::cleanSubject($subject);
- if (MatukioHelperSettings::getSettings('sendmail_teilnehmer', 1) > 0 OR $art < 11)
- {
- $replyname = $publisher->name;
- $replyto = $publisher->email;
- $email = $user->email;
- if ($art == 1 || $art == 2 || $art == 3)
- {
- // New booking templates @since 2.2.0
- if (($art == 2 || $art == 3) && MatukioHelperSettings::_("booking_stornoconfirmation") == 0)
- {
- // The user should get no storno confirmationen email
- return;
- }
- $start = "";
- if ($gebucht > $event->maxpupil)
- {
- if ($event->stopbooking = 0)
- {
- $start .= JTEXT::_('COM_MATUKIO_MAX_PARTICIPANT_NUMBER_REACHED') . "<br /><br />";
- }
- else
- {
- $start .= JTEXT::_('COM_MATUKIO_YOU_ARE_BOOKED_ON_THE_WAITING_LIST') . "\n";
- }
- }
- $tmpl_name = MatukioHelperTemplates::getEmailTemplateName($art);
- $tmpl = MatukioHelperTemplates::getEmailBody($tmpl_name, $event, $booking);
- // Use HTML or text E-Mail
- if (MatukioHelperSettings::getSettings('email_html', 1))
- {
- $body = $start . $tmpl->value;
- }
- else
- {
- $body = $start . $tmpl->value_text;
- }
- $subject = $tmpl->subject;
- $mailer = JFactory::getMailer();
- // Check if we realy want to send this E-Mail
- if (MatukioHelperSettings::getSettings('sendmail_teilnehmer', 1) > 0)
- {
- $success = $mailer->sendMail(
- $from, $sender, $email, $subject, $body, MatukioHelperSettings::getSettings('email_html', 1),
- null, null, null, $replyto, $replyname
- );
- if ($art == 1 && MatukioHelperSettings::getSettings('sendmail_invoice', 1))
- {
- $inv_body = $start;
- $invoice = MatukioHelperTemplates::getEmailBody("invoice_email", $event, $booking);
- $inv_body = $start . $invoice->value;
- $inv_subject = $invoice->subject;
- $inv_pdf = MatukioHelperPDF::getInvoice($booking, $event, $inv_subject, "S");
- $fn = "invoice-" . MatukioHelperUtilsBooking::getBookingId($booking->id) . ".pdf";
- $mailer->AddStringAttachment($inv_pdf, $fn, 'base64', 'application/pdf');
- $success = $mailer->sendMail(
- $from, $sender, $email, $inv_subject, $inv_body, 1,
- null, null, null, $replyto, $replyname
- );
- echo $success;
- }
- }
- // E-Mail to Admin / Operator etc.
- if (MatukioHelperSettings::getSettings('sendmail_operator', '') != '')
- {
- $mailer = JFactory::getMailer();
- $success = $mailer->sendMail(
- $from, $sender, MatukioHelperSettings::getSettings('sendmail_operator', ''), $subject,
- $body, MatukioHelperSettings::getSettings('email_html', 1),
- null, null, null, $replyto, $replyname
- );
- if ($art == 1 && MatukioHelperSettings::getSettings('sendmail_invoice', 1))
- {
- $inv_body = $start;
- $invoice = MatukioHelperTemplates::getEmailBody("invoice_email", $event, $booking);
- $inv_body = $start . $invoice->value;
- $inv_subject = $invoice->subject;
- $inv_pdf = MatukioHelperPDF::getInvoice($booking, $event, $inv_subject, "S");
- $fn = "invoice-" . MatukioHelperUtilsBooking::getBookingId($booking->id) . ".pdf";
- $mailer->AddStringAttachment($inv_pdf, $fn, 'base64', 'application/pdf');
- $success = $mailer->sendMail(
- $from, $sender, MatukioHelperSettings::getSettings('sendmail_operator', ''), $inv_subject, $inv_body, 1,
- null, null, null, $replyto, $replyname
- );
- echo $success;
- }
- }
- }
- else
- {
- // Old ones
- $body = $abody . $body1 . self::getEmailBody($event, $booking, $user);
- $mailer = JFactory::getMailer();
- $success = $mailer->sendMail(
- $from, $sender, $email, $subject, $body, 1,
- null, null, null, $replyto, $replyname
- );
- // E-Mail to Admin / Operator etc.
- if (MatukioHelperSettings::getSettings('sendmail_operator', '') != "")
- {
- $mailer = JFactory::getMailer();
- $success = $mailer->sendMail(
- $from, $sender, MatukioHelperSettings::getSettings('sendmail_operator', ''), $subject,
- $body, MatukioHelperSettings::getSettings('email_html', 1),
- null, null, null, $replyto, $replyname
- );
- }
- }
- }
- if (MatukioHelperSettings::getSettings('sendmail_owner', 1) > 0 AND $art < 11)
- {
- $replyname = $user->name;
- $replyto = $user->email;
- $email = $publisher->email;
- if ($art == 1 || $art == 2 || $art == 3)
- {
- // New booking templates
- $tmpl_name = MatukioHelperTemplates::getEmailTemplateName($art);
- $tmpl = MatukioHelperTemplates::getEmailBody($tmpl_name, $event, $booking);
- if (MatukioHelperSettings::getSettings('email_html', 1))
- {
- $body = $tmpl->value;
- }
- else
- {
- $body = $tmpl->value_text;
- }
- $subject = $tmpl->subject;
- $mailer = JFactory::getMailer();
- $success = $mailer->sendMail(
- $from, $sender, $email, $subject, $body, MatukioHelperSettings::getSettings('email_html', 1),
- null, null, null, $replyto, $replyname
- );
- if ($art == 1 && MatukioHelperSettings::getSettings('sendmail_invoice', 1))
- {
- $inv_body = $start;
- $invoice = MatukioHelperTemplates::getEmailBody("invoice_email", $event, $booking);
- $inv_body = $start . $invoice->value;
- $inv_subject = $invoice->subject;
- $inv_pdf = MatukioHelperPDF::getInvoice($booking, $event, $inv_subject, "S");
- $fn = "invoice-" . MatukioHelperUtilsBooking::getBookingId($booking->id) . ".pdf";
- $mailer->AddStringAttachment($inv_pdf, $fn, 'base64', 'application/pdf');
- $success = $mailer->sendMail(
- $from, $sender, MatukioHelperSettings::getSettings('sendmail_operator', ''), $inv_subject, $inv_body, 1,
- null, null, null, $replyto, $replyname
- );
- echo $success;
- }
- }
- else
- {
- // Old ones
- $body = $abody . $body2 . self::getEmailBody($event, $booking, $user);
- $mailer = JFactory::getMailer();
- $success = $mailer->sendMail($from, $sender, $email, $subject, $body, 1, null, null, null, $replyto, $replyname);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement