diff options
Diffstat (limited to 'apps/files_external/lib/irods.php')
-rw-r--r-- | apps/files_external/lib/irods.php | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/apps/files_external/lib/irods.php b/apps/files_external/lib/irods.php index 7ec3b3a0cfc..6d4f66e856e 100644 --- a/apps/files_external/lib/irods.php +++ b/apps/files_external/lib/irods.php @@ -27,12 +27,12 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{ private $auth_mode; public function __construct($params) { - if (isset($params['host']) && isset($params['user']) && isset($params['password'])) { + if (isset($params['host'])) { $this->host = $params['host']; - $this->port = $params['port']; - $this->user = $params['user']; - $this->password = $params['password']; - $this->use_logon_credentials = $params['use_logon_credentials']; + $this->port = isset($params['port']) ? $params['port'] : 1247; + $this->user = isset($params['user']) ? $params['user'] : ''; + $this->password = isset($params['password']) ? $params['password'] : ''; + $this->use_logon_credentials = ($params['use_logon_credentials'] === 'true'); $this->zone = $params['zone']; $this->auth_mode = isset($params['auth_mode']) ? $params['auth_mode'] : ''; @@ -42,10 +42,11 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{ } // take user and password from the session - if ($this->use_logon_credentials && isset($_SESSION['irods-credentials']) ) + if ($this->use_logon_credentials && \OC::$session->exists('irods-credentials')) { - $this->user = $_SESSION['irods-credentials']['uid']; - $this->password = $_SESSION['irods-credentials']['password']; + $params = \OC::$session->get('irods-credentials'); + $this->user = $params['uid']; + $this->password = $params['password']; } //create the root folder if necessary @@ -55,11 +56,11 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{ } else { throw new \Exception(); } - + } public static function login( $params ) { - $_SESSION['irods-credentials'] = $params; + \OC::$session->set('irods-credentials', $params); } public function getId(){ @@ -137,11 +138,13 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{ private function collectionMTime($path) { $dh = $this->opendir($path); $lastCTime = $this->filemtime($path); - while (($file = readdir($dh)) !== false) { - if ($file != '.' and $file != '..') { - $time = $this->filemtime($file); - if ($time > $lastCTime) { - $lastCTime = $time; + if(is_resource($dh)) { + while (($file = readdir($dh)) !== false) { + if ($file != '.' and $file != '..') { + $time = $this->filemtime($file); + if ($time > $lastCTime) { + $lastCTime = $time; + } } } } |