From 1f3fdf17ef0501fbd0efcb2c8db5c167739cddf1 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Fri, 20 Mar 2015 15:55:53 +0000 Subject: [PATCH] Support constructing an SMB_OC without saved session credentials --- apps/files_external/lib/smb_oc.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php index 245d1ed79b..c2301d8589 100644 --- a/apps/files_external/lib/smb_oc.php +++ b/apps/files_external/lib/smb_oc.php @@ -21,13 +21,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 = '';