public function checkAuth($sType, $sUserName, $sPassword) { $bIsLoggedIn = Session::getSession()->isAuthenticated(); if (!$bIsLoggedIn) { $iLogin = Session::getSession()->loginUsingDigest(); $bIsLoggedIn = ($iLogin & Session::USER_IS_VALID) === Session::USER_IS_VALID; } if ($bIsLoggedIn) { if (!Session::getSession()->getUser()->getIsAdmin()) { foreach (Session::getSession()->getUser()->getGroups() as $oGroup) { if ($oGroup->getName() === Settings::getSetting('webdav', 'privileged_group', 'webdav.*')) { $this->aWebdavPermissions = true; break; } else { foreach ($oGroup->getDirectoryPermissions() as $oWebdavPermission) { if (!isset($this->aWebdavPermissions[$oWebdavPermission->getFilename()])) { $this->aWebdavPermissions[$oWebdavPermission->getFilename()] = true; } } } } } else { $this->aWebdavPermissions = true; } } else { Session::startDigest(); exit; } return $bIsLoggedIn; }