mirror of
https://codeberg.org/icewind/SMB.git
synced 2026-06-03 17:24:07 +02:00
run php-cs-fixer
This commit is contained in:
parent
de8e83ce7e
commit
2842dffb51
41 changed files with 151 additions and 141 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1,5 @@
|
||||||
.idea
|
.idea
|
||||||
vendor
|
vendor
|
||||||
composer.lock
|
composer.lock
|
||||||
|
.php_cs.cache
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
abstract class AbstractServer implements IServer {
|
abstract class AbstractServer implements IServer {
|
||||||
const LOCALE = 'en_US.UTF-8';
|
const LOCALE = 'en_US.UTF-8';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ abstract class AbstractShare implements IShare {
|
||||||
private $forbiddenCharacters;
|
private $forbiddenCharacters;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->forbiddenCharacters = array('?', '<', '>', ':', '*', '|', '"', chr(0), "\n", "\r");
|
$this->forbiddenCharacters = ['?', '<', '>', ':', '*', '|', '"', chr(0), "\n", "\r"];
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function verifyPath($path) {
|
protected function verifyPath($path) {
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
class AnonymousAuth implements IAuth {
|
class AnonymousAuth implements IAuth {
|
||||||
public function getUsername() {
|
public function getUsername() {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
class BasicAuth implements IAuth {
|
class BasicAuth implements IAuth {
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $username;
|
private $username;
|
||||||
|
|
@ -62,5 +61,4 @@ class BasicAuth implements IAuth {
|
||||||
public function setExtraSmbClientOptions($smbClientState) {
|
public function setExtraSmbClientOptions($smbClientState) {
|
||||||
// noop
|
// noop
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class AccessDeniedException extends ConnectException {}
|
class AccessDeniedException extends ConnectException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class AlreadyExistsException extends InvalidRequestException {}
|
class AlreadyExistsException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class AuthenticationException extends ConnectException{}
|
class AuthenticationException extends ConnectException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class ConnectException extends Exception {}
|
class ConnectException extends Exception {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class ConnectionException extends ConnectException {}
|
class ConnectionException extends ConnectException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class Exception extends \Exception {
|
class Exception extends \Exception {
|
||||||
static public function unknown($path, $error) {
|
public static function unknown($path, $error) {
|
||||||
$message = 'Unknown error (' . $error . ')';
|
$message = 'Unknown error (' . $error . ')';
|
||||||
if ($path) {
|
if ($path) {
|
||||||
$message .= ' for ' . $path;
|
$message .= ' for ' . $path;
|
||||||
|
|
@ -23,7 +23,7 @@ class Exception extends \Exception {
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @return Exception
|
* @return Exception
|
||||||
*/
|
*/
|
||||||
static public function fromMap(array $exceptionMap, $error, $path) {
|
public static function fromMap(array $exceptionMap, $error, $path) {
|
||||||
if (isset($exceptionMap[$error])) {
|
if (isset($exceptionMap[$error])) {
|
||||||
$exceptionClass = $exceptionMap[$error];
|
$exceptionClass = $exceptionMap[$error];
|
||||||
if (is_numeric($error)) {
|
if (is_numeric($error)) {
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class FileInUseException extends InvalidRequestException {}
|
class FileInUseException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class ForbiddenException extends InvalidRequestException {}
|
class ForbiddenException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class InvalidArgumentException extends InvalidRequestException {}
|
class InvalidArgumentException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class InvalidHostException extends ConnectException {}
|
class InvalidHostException extends ConnectException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class InvalidParameterException extends InvalidRequestException {}
|
class InvalidParameterException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class InvalidPathException extends InvalidRequestException {}
|
class InvalidPathException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class InvalidTypeException extends InvalidRequestException {}
|
class InvalidTypeException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class NoLoginServerException extends ConnectException {}
|
class NoLoginServerException extends ConnectException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class NotEmptyException extends InvalidRequestException {}
|
class NotEmptyException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Exception;
|
namespace Icewind\SMB\Exception;
|
||||||
|
|
||||||
class NotFoundException extends InvalidRequestException {}
|
class NotFoundException extends InvalidRequestException {
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
interface INotifyHandler {
|
interface INotifyHandler {
|
||||||
// https://msdn.microsoft.com/en-us/library/dn392331.aspx
|
// https://msdn.microsoft.com/en-us/library/dn392331.aspx
|
||||||
const NOTIFY_ADDED = 1;
|
const NOTIFY_ADDED = 1;
|
||||||
|
|
|
||||||
|
|
@ -45,5 +45,4 @@ class KerberosAuth implements IAuth {
|
||||||
smbclient_option_set($smbClientState, SMBCLIENT_OPT_USE_KERBEROS, true);
|
smbclient_option_set($smbClientState, SMBCLIENT_OPT_USE_KERBEROS, true);
|
||||||
smbclient_option_set($smbClientState, SMBCLIENT_OPT_FALLBACK_AFTER_KERBEROS, false);
|
smbclient_option_set($smbClientState, SMBCLIENT_OPT_FALLBACK_AFTER_KERBEROS, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ class NativeReadStream extends NativeStream {
|
||||||
$this->readBuffer = fopen('php://memory', 'r+');
|
$this->readBuffer = fopen('php://memory', 'r+');
|
||||||
|
|
||||||
return parent::stream_open($path, $mode, $options, $opened_path);
|
return parent::stream_open($path, $mode, $options, $opened_path);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -39,13 +38,13 @@ class NativeReadStream extends NativeStream {
|
||||||
*/
|
*/
|
||||||
public static function wrap($state, $smbStream, $mode, $url) {
|
public static function wrap($state, $smbStream, $mode, $url) {
|
||||||
stream_wrapper_register('nativesmb', NativeReadStream::class);
|
stream_wrapper_register('nativesmb', NativeReadStream::class);
|
||||||
$context = stream_context_create(array(
|
$context = stream_context_create([
|
||||||
'nativesmb' => array(
|
'nativesmb' => [
|
||||||
'state' => $state,
|
'state' => $state,
|
||||||
'handle' => $smbStream,
|
'handle' => $smbStream,
|
||||||
'url' => $url
|
'url' => $url
|
||||||
)
|
]
|
||||||
));
|
]);
|
||||||
$fh = fopen('nativesmb://', $mode, false, $context);
|
$fh = fopen('nativesmb://', $mode, false, $context);
|
||||||
stream_wrapper_unregister('nativesmb');
|
stream_wrapper_unregister('nativesmb');
|
||||||
return $fh;
|
return $fh;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ class NativeServer extends AbstractServer {
|
||||||
*/
|
*/
|
||||||
public function listShares() {
|
public function listShares() {
|
||||||
$this->connect();
|
$this->connect();
|
||||||
$shares = array();
|
$shares = [];
|
||||||
$dh = $this->state->opendir('smb://' . $this->getHost());
|
$dh = $this->state->opendir('smb://' . $this->getHost());
|
||||||
while ($share = $this->state->readdir($dh)) {
|
while ($share = $this->state->readdir($dh)) {
|
||||||
if ($share['type'] === 'file share') {
|
if ($share['type'] === 'file share') {
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ class NativeShare extends AbstractShare {
|
||||||
* @throws \Icewind\SMB\Exception\InvalidTypeException
|
* @throws \Icewind\SMB\Exception\InvalidTypeException
|
||||||
*/
|
*/
|
||||||
public function dir($path) {
|
public function dir($path) {
|
||||||
$files = array();
|
$files = [];
|
||||||
|
|
||||||
$dh = $this->getState()->opendir($this->buildUrl($path));
|
$dh = $this->getState()->opendir($this->buildUrl($path));
|
||||||
while ($file = $this->getState()->readdir($dh)) {
|
while ($file = $this->getState()->readdir($dh)) {
|
||||||
|
|
@ -277,7 +277,6 @@ class NativeShare extends AbstractShare {
|
||||||
* @return string the attribute value
|
* @return string the attribute value
|
||||||
*/
|
*/
|
||||||
public function setAttribute($path, $attribute, $value) {
|
public function setAttribute($path, $attribute, $value) {
|
||||||
|
|
||||||
if ($attribute === 'system.dos_attr.mode' and is_int($value)) {
|
if ($attribute === 'system.dos_attr.mode' and is_int($value)) {
|
||||||
$value = '0x' . dechex($value);
|
$value = '0x' . dechex($value);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,13 +48,13 @@ class NativeStream implements File {
|
||||||
*/
|
*/
|
||||||
public static function wrap($state, $smbStream, $mode, $url) {
|
public static function wrap($state, $smbStream, $mode, $url) {
|
||||||
stream_wrapper_register('nativesmb', NativeStream::class);
|
stream_wrapper_register('nativesmb', NativeStream::class);
|
||||||
$context = stream_context_create(array(
|
$context = stream_context_create([
|
||||||
'nativesmb' => array(
|
'nativesmb' => [
|
||||||
'state' => $state,
|
'state' => $state,
|
||||||
'handle' => $smbStream,
|
'handle' => $smbStream,
|
||||||
'url' => $url
|
'url' => $url
|
||||||
)
|
]
|
||||||
));
|
]);
|
||||||
$fh = fopen('nativesmb://', $mode, false, $context);
|
$fh = fopen('nativesmb://', $mode, false, $context);
|
||||||
stream_wrapper_unregister('nativesmb');
|
stream_wrapper_unregister('nativesmb');
|
||||||
return $fh;
|
return $fh;
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ class NativeWriteStream extends NativeStream {
|
||||||
$this->writeBuffer = fopen('php://memory', 'r+');
|
$this->writeBuffer = fopen('php://memory', 'r+');
|
||||||
|
|
||||||
return parent::stream_open($path, $mode, $options, $opened_path);
|
return parent::stream_open($path, $mode, $options, $opened_path);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -39,13 +38,13 @@ class NativeWriteStream extends NativeStream {
|
||||||
*/
|
*/
|
||||||
public static function wrap($state, $smbStream, $mode, $url) {
|
public static function wrap($state, $smbStream, $mode, $url) {
|
||||||
stream_wrapper_register('nativesmb', NativeWriteStream::class);
|
stream_wrapper_register('nativesmb', NativeWriteStream::class);
|
||||||
$context = stream_context_create(array(
|
$context = stream_context_create([
|
||||||
'nativesmb' => array(
|
'nativesmb' => [
|
||||||
'state' => $state,
|
'state' => $state,
|
||||||
'handle' => $smbStream,
|
'handle' => $smbStream,
|
||||||
'url' => $url
|
'url' => $url
|
||||||
)
|
]
|
||||||
));
|
]);
|
||||||
$fh = fopen('nativesmb://', $mode, false, $context);
|
$fh = fopen('nativesmb://', $mode, false, $context);
|
||||||
stream_wrapper_unregister('nativesmb');
|
stream_wrapper_unregister('nativesmb');
|
||||||
return $fh;
|
return $fh;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
class Options implements IOptions {
|
class Options implements IOptions {
|
||||||
/** @var int */
|
/** @var int */
|
||||||
private $timeout = 20;
|
private $timeout = 20;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB;
|
namespace Icewind\SMB;
|
||||||
|
|
||||||
|
|
||||||
use Icewind\SMB\Exception\DependencyException;
|
use Icewind\SMB\Exception\DependencyException;
|
||||||
use Icewind\SMB\Native\NativeServer;
|
use Icewind\SMB\Native\NativeServer;
|
||||||
use Icewind\SMB\Wrapped\Server;
|
use Icewind\SMB\Wrapped\Server;
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ class System implements ISystem {
|
||||||
protected function getBinaryPath($binary) {
|
protected function getBinaryPath($binary) {
|
||||||
if (!isset($this->paths[$binary])) {
|
if (!isset($this->paths[$binary])) {
|
||||||
$result = null;
|
$result = null;
|
||||||
$output = array();
|
$output = [];
|
||||||
exec("which $binary 2>&1", $output, $result);
|
exec("which $binary 2>&1", $output, $result);
|
||||||
$this->paths[$binary] = $result === 0 ? trim(implode('', $output)) : false;
|
$this->paths[$binary] = $result === 0 ? trim(implode('', $output)) : false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,8 @@ class TimeZoneProvider implements ITimeZoneProvider {
|
||||||
$net = $this->system->getNetPath();
|
$net = $this->system->getNetPath();
|
||||||
// for local domain names we can assume same timezone
|
// for local domain names we can assume same timezone
|
||||||
if ($net && $host && strpos($host, '.') !== false) {
|
if ($net && $host && strpos($host, '.') !== false) {
|
||||||
$command = sprintf('%s time zone -S %s',
|
$command = sprintf(
|
||||||
|
'%s time zone -S %s',
|
||||||
$net,
|
$net,
|
||||||
escapeshellarg($host)
|
escapeshellarg($host)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class Connection extends RawConnection {
|
||||||
/** @var Parser */
|
/** @var Parser */
|
||||||
private $parser;
|
private $parser;
|
||||||
|
|
||||||
public function __construct($command, Parser $parser, $env = array()) {
|
public function __construct($command, Parser $parser, $env = []) {
|
||||||
parent::__construct($command, $env);
|
parent::__construct($command, $env);
|
||||||
$this->parser = $parser;
|
$this->parser = $parser;
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +65,7 @@ class Connection extends RawConnection {
|
||||||
$promptLine = $this->readLine(); //first line is prompt
|
$promptLine = $this->readLine(); //first line is prompt
|
||||||
$this->parser->checkConnectionError($promptLine);
|
$this->parser->checkConnectionError($promptLine);
|
||||||
|
|
||||||
$output = array();
|
$output = [];
|
||||||
$line = $this->readLine();
|
$line = $this->readLine();
|
||||||
if ($line === false) {
|
if ($line === false) {
|
||||||
$this->unknownError($promptLine);
|
$this->unknownError($promptLine);
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Wrapped;
|
namespace Icewind\SMB\Wrapped;
|
||||||
|
|
||||||
|
|
||||||
use Icewind\SMB\Change;
|
use Icewind\SMB\Change;
|
||||||
use Icewind\SMB\Exception\Exception;
|
use Icewind\SMB\Exception\Exception;
|
||||||
use Icewind\SMB\Exception\RevisionMismatchException;
|
use Icewind\SMB\Exception\RevisionMismatchException;
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ class Parser {
|
||||||
array_pop($output);
|
array_pop($output);
|
||||||
$regex = '/^\s*(.*?)\s\s\s\s+(?:([NDHARS]*)\s+)?([0-9]+)\s+(.*)$/';
|
$regex = '/^\s*(.*?)\s\s\s\s+(?:([NDHARS]*)\s+)?([0-9]+)\s+(.*)$/';
|
||||||
//2 spaces, filename, optional type, size, date
|
//2 spaces, filename, optional type, size, date
|
||||||
$content = array();
|
$content = [];
|
||||||
foreach ($output as $line) {
|
foreach ($output as $line) {
|
||||||
if (preg_match($regex, $line, $matches)) {
|
if (preg_match($regex, $line, $matches)) {
|
||||||
list(, $name, $mode, $size, $time) = $matches;
|
list(, $name, $mode, $size, $time) = $matches;
|
||||||
|
|
@ -171,7 +171,7 @@ class Parser {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function parseListShares($output) {
|
public function parseListShares($output) {
|
||||||
$shareNames = array();
|
$shareNames = [];
|
||||||
foreach ($output as $line) {
|
foreach ($output as $line) {
|
||||||
if (strpos($line, '|')) {
|
if (strpos($line, '|')) {
|
||||||
list($type, $name, $description) = explode('|', $line);
|
list($type, $name, $description) = explode('|', $line);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,8 @@ class Server extends AbstractServer {
|
||||||
* @throws ConnectException
|
* @throws ConnectException
|
||||||
*/
|
*/
|
||||||
public function listShares() {
|
public function listShares() {
|
||||||
$command = sprintf('%s %s %s -L %s',
|
$command = sprintf(
|
||||||
|
'%s %s %s -L %s',
|
||||||
$this->system->getSmbclientPath(),
|
$this->system->getSmbclientPath(),
|
||||||
$this->getAuthFileArgument(),
|
$this->getAuthFileArgument(),
|
||||||
$this->getAuth()->getExtraCommandLineArguments(),
|
$this->getAuth()->getExtraCommandLineArguments(),
|
||||||
|
|
@ -73,7 +74,7 @@ class Server extends AbstractServer {
|
||||||
|
|
||||||
$shareNames = $parser->parseListShares($output);
|
$shareNames = $parser->parseListShares($output);
|
||||||
|
|
||||||
$shares = array();
|
$shares = [];
|
||||||
foreach ($shareNames as $name => $description) {
|
foreach ($shareNames as $name => $description) {
|
||||||
$shares[] = $this->getShare($name);
|
$shares[] = $this->getShare($name);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,8 @@ class Share extends AbstractShare {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getConnection() {
|
protected function getConnection() {
|
||||||
$command = sprintf('%s%s -t %s %s %s %s',
|
$command = sprintf(
|
||||||
|
'%s%s -t %s %s %s %s',
|
||||||
$this->system->getStdBufPath() ? $this->system->getStdBufPath() . ' -o0 ' : '',
|
$this->system->getStdBufPath() ? $this->system->getStdBufPath() . ' -o0 ' : '',
|
||||||
$this->system->getSmbclientPath(),
|
$this->system->getSmbclientPath(),
|
||||||
$this->server->getOptions()->getTimeout(),
|
$this->server->getOptions()->getTimeout(),
|
||||||
|
|
|
||||||
|
|
@ -44,47 +44,47 @@ abstract class AbstractShareTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function nameProvider() {
|
public function nameProvider() {
|
||||||
return array(
|
return [
|
||||||
array('simple'),
|
['simple'],
|
||||||
array('with spaces_and-underscores'),
|
['with spaces_and-underscores'],
|
||||||
array("single'quote'"),
|
["single'quote'"],
|
||||||
array("foo ; asd -- bar"),
|
["foo ; asd -- bar"],
|
||||||
array('日本語'),
|
['日本語'],
|
||||||
array('url %2F +encode'),
|
['url %2F +encode'],
|
||||||
array('a somewhat longer filename than the other with more charaters as the all the other filenames'),
|
['a somewhat longer filename than the other with more charaters as the all the other filenames'],
|
||||||
array('$as#d€££Ö€ßœĚęĘĞĜΣΥΦΩΫ')
|
['$as#d€££Ö€ßœĚęĘĞĜΣΥΦΩΫ']
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invalidPathProvider() {
|
public function invalidPathProvider() {
|
||||||
// / ? < > \ : * | " are illegal characters in path on windows
|
// / ? < > \ : * | " are illegal characters in path on windows
|
||||||
return array(
|
return [
|
||||||
array("new\nline"),
|
["new\nline"],
|
||||||
array("\rreturn"),
|
["\rreturn"],
|
||||||
array('null' . chr(0) . 'byte'),
|
['null' . chr(0) . 'byte'],
|
||||||
array('foo?bar'),
|
['foo?bar'],
|
||||||
array('foo<bar>'),
|
['foo<bar>'],
|
||||||
array('foo:bar'),
|
['foo:bar'],
|
||||||
array('foo*bar'),
|
['foo*bar'],
|
||||||
array('foo|bar'),
|
['foo|bar'],
|
||||||
array('foo"bar"')
|
['foo"bar"']
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fileDataProvider() {
|
public function fileDataProvider() {
|
||||||
return array(
|
return [
|
||||||
array('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'),
|
['Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'],
|
||||||
array('Mixed language, 日本語 が わからか and Various _/* characters \\|” €')
|
['Mixed language, 日本語 が わからか and Various _/* characters \\|” €']
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function nameAndDataProvider() {
|
public function nameAndDataProvider() {
|
||||||
$names = $this->nameProvider();
|
$names = $this->nameProvider();
|
||||||
$data = $this->fileDataProvider();
|
$data = $this->fileDataProvider();
|
||||||
$result = array();
|
$result = [];
|
||||||
foreach ($names as $name) {
|
foreach ($names as $name) {
|
||||||
foreach ($data as $text) {
|
foreach ($data as $text) {
|
||||||
$result[] = array($name[0], $text[0]);
|
$result[] = [$name[0], $text[0]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
|
|
@ -122,7 +122,7 @@ abstract class AbstractShareTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRootStartsEmpty() {
|
public function testRootStartsEmpty() {
|
||||||
$this->assertEquals(array(), $this->share->dir($this->root));
|
$this->assertEquals([], $this->share->dir($this->root));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -610,16 +610,16 @@ abstract class AbstractShareTest extends TestCase {
|
||||||
|
|
||||||
public function pathProvider() {
|
public function pathProvider() {
|
||||||
// / ? < > \ : * | " are illegal characters in path on windows
|
// / ? < > \ : * | " are illegal characters in path on windows
|
||||||
return array(
|
return [
|
||||||
array('dir/sub/foo.txt'),
|
['dir/sub/foo.txt'],
|
||||||
array('bar.txt'),
|
['bar.txt'],
|
||||||
array("single'quote'/sub/foo.txt"),
|
["single'quote'/sub/foo.txt"],
|
||||||
array('日本語/url %2F +encode/asd.txt'),
|
['日本語/url %2F +encode/asd.txt'],
|
||||||
array(
|
[
|
||||||
'a somewhat longer folder than the other with more charaters as the all the other filenames/' .
|
'a somewhat longer folder than the other with more charaters as the all the other filenames/' .
|
||||||
'followed by a somewhat long file name after that.txt'
|
'followed by a somewhat long file name after that.txt'
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,6 @@ class NotifyHandlerTest extends TestCase {
|
||||||
try {
|
try {
|
||||||
$share->mkdir('sub');
|
$share->mkdir('sub');
|
||||||
} catch (AlreadyExistsException $e) {
|
} catch (AlreadyExistsException $e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
$process = $share->notify('sub');
|
$process = $share->notify('sub');
|
||||||
usleep(1000 * 100);// give it some time to start listening
|
usleep(1000 * 100);// give it some time to start listening
|
||||||
|
|
|
||||||
|
|
@ -7,22 +7,21 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Test;
|
namespace Icewind\SMB\Test;
|
||||||
|
|
||||||
|
|
||||||
use Icewind\SMB\IFileInfo;
|
use Icewind\SMB\IFileInfo;
|
||||||
use Icewind\SMB\Wrapped\FileInfo;
|
use Icewind\SMB\Wrapped\FileInfo;
|
||||||
|
|
||||||
class ParserTest extends \PHPUnit_Framework_TestCase {
|
class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
public function modeProvider() {
|
public function modeProvider() {
|
||||||
return array(
|
return [
|
||||||
array('D', IFileInfo::MODE_DIRECTORY),
|
['D', IFileInfo::MODE_DIRECTORY],
|
||||||
array('A', IFileInfo::MODE_ARCHIVE),
|
['A', IFileInfo::MODE_ARCHIVE],
|
||||||
array('S', IFileInfo::MODE_SYSTEM),
|
['S', IFileInfo::MODE_SYSTEM],
|
||||||
array('H', IFileInfo::MODE_HIDDEN),
|
['H', IFileInfo::MODE_HIDDEN],
|
||||||
array('R', IFileInfo::MODE_READONLY),
|
['R', IFileInfo::MODE_READONLY],
|
||||||
array('N', IFileInfo::MODE_NORMAL),
|
['N', IFileInfo::MODE_NORMAL],
|
||||||
array('RA', IFileInfo::MODE_READONLY | IFileInfo::MODE_ARCHIVE),
|
['RA', IFileInfo::MODE_READONLY | IFileInfo::MODE_ARCHIVE],
|
||||||
array('RAH', IFileInfo::MODE_READONLY | IFileInfo::MODE_ARCHIVE | IFileInfo::MODE_HIDDEN)
|
['RAH', IFileInfo::MODE_READONLY | IFileInfo::MODE_ARCHIVE | IFileInfo::MODE_HIDDEN]
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @dataProvider modeProvider
|
* @dataProvider modeProvider
|
||||||
|
|
@ -33,9 +32,9 @@ class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function statProvider() {
|
public function statProvider() {
|
||||||
return array(
|
return [
|
||||||
array(
|
[
|
||||||
array(
|
[
|
||||||
'altname: test.txt',
|
'altname: test.txt',
|
||||||
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
||||||
|
|
@ -43,15 +42,15 @@ class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'attributes: (80)',
|
'attributes: (80)',
|
||||||
'stream: [::$DATA], 29634 bytes'
|
'stream: [::$DATA], 29634 bytes'
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
||||||
'mode' => IFileInfo::MODE_NORMAL,
|
'mode' => IFileInfo::MODE_NORMAL,
|
||||||
'size' => 29634
|
'size' => 29634
|
||||||
)
|
]
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
array(
|
[
|
||||||
'altname: folder',
|
'altname: folder',
|
||||||
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
||||||
|
|
@ -59,15 +58,15 @@ class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'attributes: D (10)',
|
'attributes: D (10)',
|
||||||
'stream: [::$DATA], 29634 bytes'
|
'stream: [::$DATA], 29634 bytes'
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
||||||
'mode' => IFileInfo::MODE_DIRECTORY,
|
'mode' => IFileInfo::MODE_DIRECTORY,
|
||||||
'size' => 29634
|
'size' => 29634
|
||||||
)
|
]
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
array(
|
[
|
||||||
'altname: .hidden',
|
'altname: .hidden',
|
||||||
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
|
||||||
|
|
@ -75,14 +74,14 @@ class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
|
||||||
'attributes: HA (22)',
|
'attributes: HA (22)',
|
||||||
'stream: [::$DATA], 29634 bytes'
|
'stream: [::$DATA], 29634 bytes'
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
|
||||||
'mode' => IFileInfo::MODE_HIDDEN + IFileInfo::MODE_ARCHIVE,
|
'mode' => IFileInfo::MODE_HIDDEN + IFileInfo::MODE_ARCHIVE,
|
||||||
'size' => 29634
|
'size' => 29634
|
||||||
)
|
]
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -94,21 +93,26 @@ class ParserTest extends \PHPUnit_Framework_TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dirProvider() {
|
public function dirProvider() {
|
||||||
return array(
|
return [
|
||||||
array(
|
[
|
||||||
array(
|
[
|
||||||
' . D 0 Tue Aug 26 19:11:56 2014',
|
' . D 0 Tue Aug 26 19:11:56 2014',
|
||||||
' .. DR 0 Sun Oct 28 15:24:02 2012',
|
' .. DR 0 Sun Oct 28 15:24:02 2012',
|
||||||
' c.pdf N 29634 Sat Oct 12 19:05:58 2013',
|
' c.pdf N 29634 Sat Oct 12 19:05:58 2013',
|
||||||
'',
|
'',
|
||||||
' 62536 blocks of size 8388608. 57113 blocks available'
|
' 62536 blocks of size 8388608. 57113 blocks available'
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
new FileInfo('/c.pdf', 'c.pdf', 29634, strtotime('12 Oct 2013 19:05:58 CEST'),
|
new FileInfo(
|
||||||
IFileInfo::MODE_NORMAL)
|
'/c.pdf',
|
||||||
|
'c.pdf',
|
||||||
|
29634,
|
||||||
|
strtotime('12 Oct 2013 19:05:58 CEST'),
|
||||||
|
IFileInfo::MODE_NORMAL
|
||||||
)
|
)
|
||||||
)
|
]
|
||||||
);
|
]
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Icewind\SMB\Test;
|
namespace Icewind\SMB\Test;
|
||||||
|
|
||||||
|
|
||||||
use Icewind\SMB\AnonymousAuth;
|
use Icewind\SMB\AnonymousAuth;
|
||||||
use Icewind\SMB\IAuth;
|
use Icewind\SMB\IAuth;
|
||||||
use Icewind\SMB\Native\NativeServer;
|
use Icewind\SMB\Native\NativeServer;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue