Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Instantiating new expMail() causes form to crash in certain cases

#307

We've recently upgraded the email subsystem (expMail, in framework/core/subsystems/) to use Swift Mailer v 4. It seems that when we're using form module (old school), and we submit the form after confirmation (form_submit action), the site will crash if there is another form module further down on the page execution.

Steps to reproduce:
1) Using Retro Theme, create a new page, use Three Column as the theme variation.
2) Add a a form module in both the main and right columns.
3) for the main form, configure it to email. It doesn't matter how the right form is configured.
4) Ensure DEVELOPMENT is on. Fill out the mail form, and submit the form (confirming as well).

You should recieve an error on line 100 of /framework/modules-1/formmodule/calss.php stating that the class of "form" could not be found.

If you repeat the same steps, but comment out the emailing code in submit_form.php, the form goes through without issue...

Reported by expNinja · August 16th, 2011 @ 11:16 PM

State: resolved
Milestone: Stable

Activity

  1. expNinja
    expNinja
    • State changed from open to resolved

    Got it!

    After searching around for Swift Mailer Autoloading, I found this ticket:
    http://swiftmailer.lighthouseapp.com/projects/21527/tickets/149-swi...

    The problem was that OUR autoloader didn't account for other 3rd party auto loading systems. So when Swift's came along, it tried to play nice by using spl_autoload_register(), clobbering Exponent's __autoload.

    I've adjusted our autoload per Swift's example, ditching __autoload. All is now right with the world.

    August 17th, 2011 @ 06:08 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.