[TYPO3-core] RFC: unzip_path in Ext.Manager

Ernesto Baschny [cron IT] ernst at cron-it.de
Wed Aug 2 09:50:13 CEST 2006


Dmitry Dulepov schrieb am 31.07.2006 20:15:

>> Problem:
>> $GLOBALS['TYPO3_CONF_VARS']['BE']['unzip_path'] is not being used
>> correctly in Ext.Manager translation handling.

> I looked into install tool. It has the following entry for SYS:
> ============
> [binSetup]
> String (textarea): List of programs (separated by newline or comma). By
> default programs will be searched in default paths and the special paths
> defined by 'binPath'. When PHP has openbasedir enabled the programs can
> not be found and have to be configured here. Example:
> 'perl=/usr/bin/perl,unzip=/usr/local/bin/unzip'

I think this should be the central configuration for all kinds of
binaries, so unzip_path could be made obsolete.

> BE has its own:
> ============
> [unzip_path]
> Path to "unzip".
> 
> It is not clear from the second entry's description whether it is a
> directory or file path. But given the first one, I assume it is a path
> to file. So -1 from me for the sake of consistency.

But this is not consistent to what TYPO3 is been doing in all versions
until now. Only the new EM Translation functionality from 4.0 uses it
differently.

> Anyway, why do we have separate dedicated entry for unzip path? What
> happens if path to unzip also appears in SYS/binSetup?

As far as I see it in the code "binSetup" is being used in t3lib_exec
class, which is meant to give back the full path to a command
(t3lib_exec::getcommand), searching in certain paths, which include
SYS/binSetup. This also takes care of the ".exe" in Windows
environments. But also I notice that no component in the core is using
this, and I suspect that this is being only used in extensions (like
DAM, as this is Rene's class file).

I would like the idea of having all commands needed for an exec in core
 (maybe excluding the imagemagick stuff) go through this interface to
find its path. This would make the following obsolete:

BE/unzip_path
BE/diff_path
indexed_search/ all paths for external programs

And these are the functions where currently exec() is being used:

t3lib_extfilefunc::func_delete
t3lib_extfilefunc::func_copy
t3lib_extfilefunc::func_move
t3lib_extfilefunc::func_unzip
t3lib_diff::getDiff
indexed_search/external_parser

That would mean more flexibility for the admin and less things needed to
be configured.

Cheers,
Ernesto



More information about the TYPO3-team-core mailing list