Example #1
0
 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;
 }