summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin McCorkell <rmccorkell@karoshi.org.uk>2015-03-30 15:38:22 +0100
committerRobin McCorkell <rmccorkell@karoshi.org.uk>2015-03-30 15:38:22 +0100
commit308a43a10e655008e4dc55446cae58f0eecc4e62 (patch)
tree1a6d5fadcca415c18efc94f8a72ac12eed60877c
parent5fdc1716d23c4b584ccca20ab66bb6d4d6c95b48 (diff)
parent1f3fdf17ef0501fbd0efcb2c8db5c167739cddf1 (diff)
downloadnextcloud-server-308a43a10e655008e4dc55446cae58f0eecc4e62.tar.gz
nextcloud-server-308a43a10e655008e4dc55446cae58f0eecc4e62.zip
Merge pull request #15076 from owncloud/fix-smb-oc-admin
Support constructing an SMB_OC without saved session credentials
-rw-r--r--apps/files_external/lib/smb_oc.php15
1 files changed, 11 insertions, 4 deletions
diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php
index 8e34854afac..9fd3aa3721f 100644
--- a/apps/files_external/lib/smb_oc.php
+++ b/apps/files_external/lib/smb_oc.php
@@ -38,13 +38,20 @@ class SMB_OC extends SMB {
* @throws \Exception
*/
public function __construct($params) {
- if (isset($params['host']) && \OC::$server->getSession()->exists('smb-credentials')) {
+ if (isset($params['host'])) {
$host = $params['host'];
$this->username_as_share = ($params['username_as_share'] === 'true');
- $params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true);
- $user = \OC::$server->getSession()->get('loginname');
- $password = $params_auth['password'];
+ // dummy credentials, unused, to satisfy constructor
+ $user = 'foo';
+ $password = 'bar';
+ if (\OC::$server->getSession()->exists('smb-credentials')) {
+ $params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true);
+ $user = \OC::$server->getSession()->get('loginname');
+ $password = $params_auth['password'];
+ } else {
+ // assume we are testing from the admin section
+ }
$root = isset($params['root']) ? $params['root'] : '/';
$share = '';