Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
CRAP | |
0.00% |
0 / 45 |
ftp_file_updater | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
132 | |
0.00% |
0 / 45 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 6 |
|||
init | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 5 |
|||
close | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
delete_file | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
create_new_file | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 15 |
|||
update_file | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 10 |
|||
get_method_name | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @license GNU General Public License, version 2 (GPL-2.0) | |
* | |
* For full copyright and license information, please see | |
* the docs/CREDITS.txt file. | |
* | |
*/ | |
namespace phpbb\install\helper\file_updater; | |
use phpbb\install\helper\update_helper; | |
/** | |
* File updater for FTP updates | |
*/ | |
class ftp_file_updater implements file_updater_interface | |
{ | |
/** | |
* @var \transfer | |
*/ | |
protected $transfer; | |
/** | |
* @var update_helper | |
*/ | |
protected $update_helper; | |
/** | |
* @var string | |
*/ | |
protected $phpbb_root_path; | |
/** | |
* @var string | |
*/ | |
protected $php_ext; | |
/** | |
* Constructor | |
* | |
* @param update_helper $update_helper | |
* @param string $phpbb_root_path | |
* @param string $php_ext | |
*/ | |
public function __construct(update_helper $update_helper, $phpbb_root_path, $php_ext) | |
{ | |
$this->transfer = null; | |
$this->update_helper = $update_helper; | |
$this->phpbb_root_path = $phpbb_root_path; | |
$this->php_ext = $php_ext; | |
} | |
/** | |
* Initialize FTP connection | |
* | |
* @param string $method | |
* @param string $host | |
* @param string $user | |
* @param string $pass | |
* @param string $path | |
* @param int $port | |
* @param int $timeout | |
*/ | |
public function init($method, $host, $user, $pass, $path, $port, $timeout) | |
{ | |
$this->update_helper->include_file('includes/functions_transfer.' . $this->php_ext); | |
$this->transfer = new $method($host, $user, $pass, $path, $port, $timeout); | |
$this->transfer->open_session(); | |
} | |
/** | |
* Close FTP session | |
*/ | |
public function close() | |
{ | |
$this->transfer->close_session(); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function delete_file($path_to_file) | |
{ | |
$this->transfer->delete_file($path_to_file); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function create_new_file($path_to_file_to_create, $source, $create_from_content = false) | |
{ | |
$dirname = dirname($path_to_file_to_create); | |
if ($dirname && !file_exists($this->phpbb_root_path . $dirname)) | |
{ | |
$this->transfer->make_dir($dirname); | |
} | |
if ($create_from_content) | |
{ | |
$this->transfer->write_file($path_to_file_to_create, $source); | |
} | |
else | |
{ | |
$this->transfer->copy_file($path_to_file_to_create, $source); | |
} | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function update_file($path_to_file_to_update, $source, $create_from_content = false) | |
{ | |
if ($create_from_content) | |
{ | |
$this->transfer->write_file($path_to_file_to_update, $source); | |
} | |
else | |
{ | |
$this->transfer->copy_file($path_to_file_to_update, $source); | |
} | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function get_method_name() | |
{ | |
return 'ftp'; | |
} | |
} |