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&#64;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--