summaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/icewind/smb/src/Server.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/3rdparty/icewind/smb/src/Server.php')
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Server.php166
1 files changed, 0 insertions, 166 deletions
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Server.php b/apps/files_external/3rdparty/icewind/smb/src/Server.php
deleted file mode 100644
index 21cc605ed1f..00000000000
--- a/apps/files_external/3rdparty/icewind/smb/src/Server.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-/**
- * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Licensed under the MIT license:
- * http://opensource.org/licenses/MIT
- */
-
-namespace Icewind\SMB;
-
-use Icewind\SMB\Exception\AuthenticationException;
-use Icewind\SMB\Exception\InvalidHostException;
-
-class Server {
- const LOCALE = 'en_US.UTF-8';
-
- /**
- * @var string $host
- */
- protected $host;
-
- /**
- * @var string $user
- */
- protected $user;
-
- /**
- * @var string $password
- */
- protected $password;
-
- /**
- * @var string $workgroup
- */
- protected $workgroup;
-
- /**
- * @var \Icewind\SMB\System
- */
- private $system;
-
- /**
- * @var TimeZoneProvider
- */
- private $timezoneProvider;
-
- /**
- * Check if the smbclient php extension is available
- *
- * @return bool
- */
- public static function NativeAvailable() {
- return function_exists('smbclient_state_new');
- }
-
- /**
- * @param string $host
- * @param string $user
- * @param string $password
- */
- public function __construct($host, $user, $password) {
- $this->host = $host;
- list($workgroup, $user) = $this->splitUser($user);
- $this->user = $user;
- $this->workgroup = $workgroup;
- $this->password = $password;
- $this->system = new System();
- $this->timezoneProvider = new TimeZoneProvider($host, $this->system);
- }
-
- /**
- * Split workgroup from username
- *
- * @param $user
- * @return string[] [$workgroup, $user]
- */
- public function splitUser($user) {
- if (strpos($user, '/')) {
- return explode('/', $user, 2);
- } elseif (strpos($user, '\\')) {
- return explode('\\', $user);
- } else {
- return array(null, $user);
- }
- }
-
- /**
- * @return string
- */
- public function getAuthString() {
- return $this->user . '%' . $this->password;
- }
-
- /**
- * @return string
- */
- public function getUser() {
- return $this->user;
- }
-
- /**
- * @return string
- */
- public function getPassword() {
- return $this->password;
- }
-
- /**
- * return string
- */
- public function getHost() {
- return $this->host;
- }
-
- /**
- * @return string
- */
- public function getWorkgroup() {
- return $this->workgroup;
- }
-
- /**
- * @return \Icewind\SMB\IShare[]
- *
- * @throws \Icewind\SMB\Exception\AuthenticationException
- * @throws \Icewind\SMB\Exception\InvalidHostException
- */
- public function listShares() {
- $workgroupArgument = ($this->workgroup) ? ' -W ' . escapeshellarg($this->workgroup) : '';
- $command = sprintf('%s %s --authentication-file=%s -gL %s',
- $this->system->getSmbclientPath(),
- $workgroupArgument,
- System::getFD(3),
- escapeshellarg($this->getHost())
- );
- $connection = new RawConnection($command);
- $connection->writeAuthentication($this->getUser(), $this->getPassword());
- $connection->connect();
- $output = $connection->readAll();
- $parser = new Parser($this->timezoneProvider);
-
- $parser->checkConnectionError($output[0]);
-
- $shareNames = $parser->parseListShares($output);
-
- $shares = array();
- foreach ($shareNames as $name => $description) {
- $shares[] = $this->getShare($name);
- }
- return $shares;
- }
-
- /**
- * @param string $name
- * @return \Icewind\SMB\IShare
- */
- public function getShare($name) {
- return new Share($this, $name, $this->system);
- }
-
- /**
- * @return string
- */
- public function getTimeZone() {
- return $this->timezoneProvider->get();
- }
-}