コード例 #1
0
 public function save()
 {
     if (Flash::noErrors()) {
         $this->sFilePath = self::normalize($_POST['file_path']);
         if ($_POST['file_path_old'] == self::NEW_DIR_IDENTIFIER) {
             mkdir("{$this->sWebdavBaseDirPath}/{$this->sFilePath}");
         } else {
             if ($this->sFilePath !== $_POST['file_path_old']) {
                 rename($this->sWebdavBaseDirPath . "/" . $_POST['file_path_old'], "{$this->sWebdavBaseDirPath}/{$this->sFilePath}");
             }
         }
         // delete all old groups
         foreach (DirectoryPermissionPeer::getPermissionsByFileName($this->sFilePath) as $oPermission) {
             $oPermission->delete();
         }
         if (isset($_POST['group_ids'])) {
             foreach ($_POST['group_ids'] as $sGroupId) {
                 $oDirectoryPermisson = new DirectoryPermission();
                 $oDirectoryPermisson->setFileName($this->sFilePath);
                 $oDirectoryPermisson->setGroupId($sGroupId);
                 $oDirectoryPermisson->setCreatedBy(Session::getSession()->getUserId());
                 $oDirectoryPermisson->setCreatedAt(date('c'));
                 $oDirectoryPermisson->save();
             }
         }
         LinkUtil::redirect($this->link($this->sFilePath));
     }
 }