FastTemplate compatibility, right this time I think.
Kyrian (List) <[email protected]> Wed, 28 Jan 2004 16:22:21 +0000
| Newsgroups | gmane.comp.horde.giapeto |
|---|---|
| Organization | oRe |
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --Multipart=_Wed__28_Jan_2004_16_22_21_+0000_IRbKHxfk5MfBnAVK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit > > Although, it would be a pretty killer feature to have a > > "fasttemplate compatibility mode" incorporated (which could default > > to off, and be set/disabled with a class function), as that > > potentially could easily bring a hell of a lot more of a userbase to > > Giapeto ;-) > > You should just have to modify getTag() and getTags() in > Horde_Template, and should be able to make this mode settable via a > setOption() call easily. > Right. Third time lucky...... I think I've actually sorted it. We're not going to be able to do the dynamic template compatibility, but I've got around the fact that FastTemplate uses the concept of "file handles", by using the getOption/setOption system to have mock ones, which should have the same effect if I'm not very much mistaken, so this is now a much better compatibility patch. It still utilises the "compat_fasttemplate" option to define whether it should allow access to the functions. I'm sure there's a better way of doing it, but it'll do for now. The following compatibility functions are now implemented: define( $options ) FastPrint( $name ) assign( $name, $value ) The full list is available at the URL I posted previously, and I'll add to this patch as and when I come accross the need to use a new FastTemplate function for my client. K. -- Kev Green, aka Kyrian. E: kyrian@ore.org WWW: http://kyrian.ore.org/ ISP/Perl/PHP/Linux/Security Contractor, via http://www.orenet.co.uk/ --Multipart=_Wed__28_Jan_2004_16_22_21_+0000_IRbKHxfk5MfBnAVK Content-Type: application/octet-stream; name="giapeto-compat-fasttemplate.patch" Content-Disposition: attachment; filename="giapeto-compat-fasttemplate.patch" Content-Transfer-Encoding: base64 LS0tIC91c3IvbG9jYWwvbGliL1BFQVIvSG9yZGUvVGVtcGxhdGUucGhwLmRpc3QJMjAwNC0wMS0y OCAxMzoyMDowMS4wMDAwMDAwMDAgKzAwMDAKKysrIC91c3IvbG9jYWwvbGliL1BFQVIvSG9yZGUv VGVtcGxhdGUucGhwCTIwMDQtMDEtMjggMTU6MTA6MDcuMDAwMDAwMDAwICswMDAwCkBAIC0xMDAs NiArMTAwLDQ2IEBACiAgICAgfQogCiAgICAgLyoqCisgICAgICogRmFzdFRlbXBsYXRlIGNvbXBh dGliaWxpdHkgd3JhcHBlci4gSWYgd2UgdXNlIEhvcmRlX1RlbXBsYXRlIG9wdGlvbnMKKyAgICAg KiBhcyBtb2NrIGZpbGVoYW5kbGVzLCB0aGVuIHdlIGNhbiBrbHVkZ2UgdGhpcyB0byB3b3JrLgor ICAgICAqLworICAgIGZ1bmN0aW9uIGRlZmluZSggJG9wdGlvbnMgKQorICAgIHsKKyAgICAgICAg aWYgKCR0aGlzLT5nZXRPcHRpb24oJ2NvbXBhdF9mYXN0dGVtcGxhdGUnKSkgeworCSAgICByZXR1 cm4gUEVBUjo6cmFpc2VFcnJvcihzcHJpbnRmKF8oIk9ubHkgaW4gY29tcGF0X2Zhc3R0ZW1wbGF0 ZSBtb2RlISIpKSk7CisJfSBlbHNlIHsKKyAgIAkgICAgZm9yZWFjaCAoJG9wdGlvbnMgQVMgJG5h bWUgPT4gJHZhbHVlKSB7CisJICAgICAgICR0aGlzLT5zZXRPcHRpb24oJG5hbWUsICR2YWx1ZSk7 CisJICAgIH0KKwl9CisgICAgfQorCisKKyAgICAvKioKKyAgICAgKiBGYXN0VGVtcGxhdGUgY29t cGF0aWJpbGl0eSB3cmFwcGVyLgorICAgICAqLworICAgIGZ1bmN0aW9uIEZhc3RQcmludCggJG5h bWUgKQorICAgIHsKKyAgICAgICAgaWYgKCR0aGlzLT5nZXRPcHRpb24oJ2NvbXBhdF9mYXN0dGVt cGxhdGUnKSkgeworCSAgICByZXR1cm4gUEVBUjo6cmFpc2VFcnJvcihzcHJpbnRmKF8oIk9ubHkg aW4gY29tcGF0X2Zhc3R0ZW1wbGF0ZSBtb2RlISIpKSk7CisJfSBlbHNlIHsKKyAgICAgICAgICAg IHByaW50ICR0aGlzLT5mZXRjaChnZXRPcHRpb24oJG5hbWUpKTsKKwl9CisgICAgfQorCisgICAg LyoqCisgICAgICogRmFzdFRlbXBsYXRlIGNvbXBhdGliaWxpdHkgd3JhcHBlci4KKyAgICAgKi8K KyAgICBmdW5jdGlvbiBhc3NpZ24oICRuYW1lLCAkdmFsdWUgKQorICAgIHsKKyAgICAgICAgaWYg KCR0aGlzLT5nZXRPcHRpb24oJ2NvbXBhdF9mYXN0dGVtcGxhdGUnKSkgeworCSAgICByZXR1cm4g UEVBUjo6cmFpc2VFcnJvcihzcHJpbnRmKF8oIk9ubHkgaW4gY29tcGF0X2Zhc3R0ZW1wbGF0ZSBt b2RlISIpKSk7CisJfSBlbHNlIHsKKwkgICAgJHRoaXMtPnNldCgkbmFtZSwgJHZhbHVlKTsKKwl9 CisgICAgfQorCisgICAgLyoqCiAgICAgICogU2V0IGEgdGFnLCBsb29wLCBvciBpZiB2YXJpYWJs ZS4KICAgICAgKgogICAgICAqIEBwYXJhbSBzdHJpbmcgICR0YWcgICBUaGUgdGFnIG5hbWUKQEAg LTE4Myw4ICsyMjMsMTMgQEAKICAgICAgKi8KICAgICBmdW5jdGlvbiBnZXRUYWdzKCR0YWcsICRk aXJlY3RpdmUpCiAgICAgewotCXJldHVybiBhcnJheSgnYicgPT4gJzwnIC4gJGRpcmVjdGl2ZSAu ICc6JyAuICR0YWcgLiAnPicsCi0JCSdlJyA9PiAnPC8nIC4gJGRpcmVjdGl2ZSAuICc6JyAuICR0 YWcgLiAnPicpOworICAgICAgICBpZiAoJHRoaXMtPmdldE9wdGlvbignY29tcGF0X2Zhc3R0ZW1w bGF0ZScpICYmICFzdHJjbXAoJGRpcmVjdGl2ZSwidGFnIikpIHsKKyAgICAgICAgICAgIHJldHVy biBhcnJheSgnYicgPT4gJ3snIC4gJHRhZywKKyAgICAgICAgICAgICAgICAgICAgICdlJyA9PiAn fScpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGFycmF5KCdiJyA9PiAn PCcgLiAkZGlyZWN0aXZlIC4gJzonIC4gJHRhZyAuICc+JywKKyAgICAgICAgICAgICAgICAgICAg ICdlJyA9PiAnPC8nIC4gJGRpcmVjdGl2ZSAuICc6JyAuICR0YWcgLiAnPicpOworICAgICAgICB9 CiAgICAgfQogCiAgICAgLyoqCkBAIC0xOTYsNyArMjQxLDExIEBACiAgICAgICovCiAgICAgZnVu Y3Rpb24gZ2V0VGFnKCR0YWcpCiAgICAgewotCXJldHVybiAnPHRhZzonIC4gJHRhZyAuICcgLz4n OworICAgICAgICBpZiAoJHRoaXMtPmdldE9wdGlvbignY29tcGF0X2Zhc3R0ZW1wbGF0ZScpKSB7 CisgICAgICAgICAgICByZXR1cm4gJ3snIC4gJHRhZyAuICd9JzsKKyAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgIHJldHVybiAnPHRhZzonIC4gJHRhZyAuICcgLz4nOworICAgICAgICB9CiAg ICAgfQogCiAgICAgLyoqCg== --Multipart=_Wed__28_Jan_2004_16_22_21_+0000_IRbKHxfk5MfBnAVK Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- giapeto mailing list - Join the hunt: http://horde.org/bounties/#giapeto Frequently Asked Questions: http://horde.org/faq/ To unsubscribe, mail: [email protected] --Multipart=_Wed__28_Jan_2004_16_22_21_+0000_IRbKHxfk5MfBnAVK--