1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 16:56:44 +02:00

Merge changes made in revisions #r9405 to #r9467

2009-04-18

git-svn-id: file:///svn/phpbb/trunk@9468 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2009-04-18 15:09:19 +00:00
parent e3d98fe77b
commit 1042152a55
61 changed files with 376 additions and 154 deletions

View File

@@ -190,7 +190,7 @@ class transfer
$directory = $this->root_path . str_replace(PHPBB_ROOT_PATH, '', $directory);
$this->_chdir($directory);
$result = $this->_ls('');
$result = $this->_ls();
if ($result !== false && is_array($result))
{
@@ -442,7 +442,24 @@ class ftp extends transfer
*/
private function _ls($dir = './')
{
return @ftp_nlist($this->connection, $dir);
$list = @ftp_nlist($this->connection, $dir);
// Remove path if prepended
foreach ($list as $key => $item)
{
// Use same separator for item and dir
$item = str_replace('\\', '/', $item);
$dir = str_replace('\\', '/', $dir);
if (strpos($item, $dir) === 0)
{
$item = substr($item, strlen($dir));
}
$list[$key] = $item;
}
return $list;
}
/**
@@ -690,6 +707,24 @@ class ftp_fsock extends transfer
}
$this->_close_data_connection();
// Clear buffer
$this->_check_command();
// Remove path if prepended
foreach ($list as $key => $item)
{
// Use same separator for item and dir
$item = str_replace('\\', '/', $item);
$dir = str_replace('\\', '/', $dir);
if (strpos($item, $dir) === 0)
{
$item = substr($item, strlen($dir));
}
$list[$key] = $item;
}
return $list;
}