Bug 13053 - Do not use template cache when from commandline
commit8fd15d90bf91cea0921fe65f147f640acca8ddf7
authorFridolin Somers <fridolin.somers@biblibre.com>
Thu, 9 Oct 2014 14:10:24 +0000 (9 16:10 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Fri, 21 Nov 2014 23:56:05 +0000 (21 20:56 -0300)
tree9e033d09339db0b02917fc1a69bfe63cf3535ea1
parent6e7192f0d7a465fda091803baecf52ab88f550d4
Bug 13053 - Do not use template cache when from commandline

You may define in config a folder (usually /tmp) for TT cache :
template_cache_dir in etc/koha-conf.xml.

Some perl pages may be launched from commandline, like tools/export.pl.
Also, the script gather_print_notices.pl uses C4::Templates.

The problem is that when script is launched from Apache, the Unix owner of cache files will be www-data. When script is launched from commandline, like in a cronjob, the Unix owner will be different (like a user named "koha"), causing a crash because cache files can only be read by its owner.

This script disables the template cache if perl script is called from commandline. This cache is certainly only useful for web access.
Using GATEWAY_INTERFACE env var comes from tools/export.pl

Test plan :
- Use a dev install of koha installed in a user home, ie "/home/kohadev"
- Define a folder for template_cache_dir in etc/koha-conf.xml. For example : <template_cache_dir>/tmp</template_cache_dir>
- Check there is no cached templates already in this forder
- Create a file "bib.list" containing a few existing biblionumbers
- As user kohadev, launch : tools/export.pl --record-type=bibs --id_list_file=bib.list
- Look at cache folder
=> Without patch you see cache files owned by user kohadev
=> With patch there are no cache files
- Use the Koha interfaces OPAC and Intranet
=> Without patch you get an error : Template process failed: file error - cache failed to write ...
=> With patch you have no error and cache files are generated with Apache user as owner

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, good test plan!
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/Templates.pm