Hi Arvydas, thx for your response.
What exactly do you mean or want to know by: > The question is how will look your function which "trigger some special > functionality before sending an email" "dependent on the type of email"? ? Beste Grüße aus Dortmund! Andreas Ziethen | Geschäftsführung -- anzido GmbH Kirchhörder Str. 12 44229 Dortmund Tel.: 0231 - 60 71 079 Fax.: 0231 - 60 71 081 Mobil:0176 - 8325 1488 Email: [email protected] Web: http://www.anzido.com ( http://www.anzido.com/ ) USt-ID: DE257982972 Geschäftsführung: Andreas Ziethen Amtsgericht Dortmund HRB 20883 -----Ursprüngliche Daten----- Datum: 14.10.2010 13:21:52 Von: Arvydas <[email protected]> An: <[email protected]> Betreff: Re: [oxid-dev-general] oxemail: put function calls intoproperty Vorgang: T-D3898PM6XJ-46 > Hello, > > thanks for your ideas, that's a good hint for refactoring/improving. Sadly > we cant just change code the way you want > due to compatibility with previous shop versions, thus we will improve this > code in next major releases. > > If you are free to change/extend your own code and able to replace current > mail function calls you may use a bit tuned > your suggested executeSendMailFunction() function: > > public function executeSendMailFunction( $sFunction, $aParams ) > { > return call_user_func_array( array( $this, $sFunction ), $aParams ); > } > > The question is how will look your function which "trigger some special > functionality before sending an email" "dependent on the type of email"? > > Best regards, > Arvydas Vapsva > > -------------------------------------------------- > From: "anzido GmbH" <[email protected]> > Sent: Sunday, October 03, 2010 12:24 PM > To: <[email protected]> > Subject: [oxid-dev-general] oxemail: put function calls into > property[T-D3898PM6XJ-46] > > > Hi, > > > > several times we had projects where one of the requirements was to trigger > > some special functionality before sending an email from oxemail class. > > Especially if this special functionality is dependent on the type of > > email - it is quite cumberesome to solve this, cause in the _sendMail() > > function you do not know which type of email has to be sent. > > > > So I would like to have a property which is filled by the name of the > > function which has been called before, like this: > > > > $_sActMailFunctionCall = ""; > > > > public function sendOrderEmailToOwner( $sOrder, $sSubject = null ) > > { > > $this->_sActMailFunctionCall = "sendOrderEmailToOwner"; > > ... > > } > > > > Of course you could even build a small sort of factory function which > > would be called by the several view classes, doing this job - so you would > > not have to put a new line of coude into each mail function - like this > > for example: > > > > in class oxEmail: > > > > public function executeSendMailFunction( $sFunction, $aParams ) > > { > > $this->_sActMailFunctionCall = $sFunction; > > $this->$sFunction( $aParams); > > } > > > > in oxOrder::_sendOrderByEmail(): > > > > $oxEmail->executeSendMailFunction( "sendOrderEmailToOwner", $aParams ); > > > > Doing this would give developers a whole bunch of nice possibilities. For > > example you could write a central function to manipulate email subjects > > dependent on the type of email. Or you could save the content of special > > email and so on ... > > At the moment all this is possible - but you have to overload a lot of > > functions for this to detect the type of email. > > > > Using the factory function would mean that the several send-functions > > would not have to be changed appart from the parameters given to them. But > > even this could be done inside the factory, which then would have to > > prepare the params for the single calls. > > > > The "factory way" in my opinion would be the best one regarding code > > layout, but I see that in terms of compatibility to old versions and > > modules this could cause some trouble .. - So perhaps as a first step you > > could just add the first mentioned line of could to each function? > > > > If somebody has got a better idea to solve this - let me know! > > > > Regards, > > Andreas > > > > -- > > anzido GmbH > > Kirchhörder Str. 12 > > 44229 Dortmund > > Tel.: 0231 - 60 71 079 > > Fax.: 0231 - 60 71 081 > > Mobil:0176 - 8325 1488 > > Email: [email protected] > > Web: http://www.anzido.com ( http://www.anzido.com/ ) > > > > USt-ID: DE257982972 > > Geschäftsführung: Andreas Ziethen > > Amtsgericht Dortmund HRB 20883 > > _______________________________________________ > > dev-general mailing list > > [email protected] > > http://dir.gmane.org/gmane.comp.php.oxid.general > > > _______________________________________________ > dev-general mailing list > [email protected] > http://dir.gmane.org/gmane.comp.php.oxid.general _______________________________________________ dev-general mailing list [email protected] http://dir.gmane.org/gmane.comp.php.oxid.general
