From 13e468cbc1efec715da7ce310db49de7ef1464e1 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Wed, 3 Nov 2010 06:34:37 +0100 Subject: [PATCH] The role is the first criterium to identify the install location. --- .../Components/Pear/Package/Filelist/Default.php | 52 ++++++++++++++-------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/components/lib/Components/Pear/Package/Filelist/Default.php b/components/lib/Components/Pear/Package/Filelist/Default.php index 6ab6c7474..335753e17 100644 --- a/components/lib/Components/Pear/Package/Filelist/Default.php +++ b/components/lib/Components/Pear/Package/Filelist/Default.php @@ -66,32 +66,20 @@ class Components_Pear_Package_Filelist_Default continue; } $components = explode('/', $file['attribs']['name'], 2); - switch ($components[0]) { - case 'doc': - case 'example': - case 'lib': - case 'test': - case 'data': - $this->_package->addInstallAs( - $file['attribs']['name'], $components[1] - ); - break; - case 'js': + $role = isset($file['attribs']['role']) ? $file['attribs']['role'] : ''; + switch ($role) { case 'horde': $horde_role = true; - case 'locale': $this->_package->addInstallAs( $file['attribs']['name'], $file['attribs']['name'] ); - break; - case 'migration': - $components = explode('/', $components[1]); - array_splice($components, count($components) - 1, 0, 'migration'); + break; + case 'doc': + case 'test': $this->_package->addInstallAs( - $file['attribs']['name'], implode('/', $components) + $file['attribs']['name'], $components[1] ); break; - case 'bin': case 'script': $filename = basename($file['attribs']['name']); if (substr($filename, strlen($filename) - 4) == '.php') { @@ -101,6 +89,34 @@ class Components_Pear_Package_Filelist_Default $file['attribs']['name'], $filename ); break; + case 'php': + case 'data': + default: + switch ($components[0]) { + case 'lib': + case 'data': + $this->_package->addInstallAs( + $file['attribs']['name'], $components[1] + ); + break; + case 'locale': + $this->_package->addInstallAs( + $file['attribs']['name'], $file['attribs']['name'] + ); + break; + case 'migration': + $components = explode('/', $components[1]); + array_splice($components, count($components) - 1, 0, 'migration'); + $this->_package->addInstallAs( + $file['attribs']['name'], implode('/', $components) + ); + break; + default: + $this->_package->addInstallAs( + $file['attribs']['name'], $file['attribs']['name'] + ); + break; + } } } -- 2.11.0