コード例 #1
0
ファイル: edit.php プロジェクト: ppiedaderawnet/concrete5
 public function update_thumbnail()
 {
     if ($this->validateAction()) {
         $fp = new Permissions($this->file);
         if ($fp->canEditFileProperties()) {
             $this->file->getVersionToModify();
             $sr = new FileEditResponse();
             $sr->setFile($this->file);
             $sr->setMessage(t('File updated successfully.'));
             $sr->outputJSON();
         } else {
             throw new Exception(t('Access Denied.'));
         }
     } else {
         throw new Exception(t('Access Denied.'));
     }
 }
コード例 #2
0
ファイル: sets.php プロジェクト: masteramuk/concrete5
 public function submit()
 {
     $requestSets = array();
     if (is_array($this->request->request->get('fsID'))) {
         $requestSets = $this->request->request->get('fsID');
     }
     if ($this->validateAction()) {
         $sets = Set::getMySets();
         foreach ($sets as $set) {
             $fsp = new \Permissions($set);
             if (in_array($set->getFileSetID(), $requestSets) && $fsp->canAddFile($this->file) && !$this->file->inFileSet($set)) {
                 // This was checked and it wasn't in the file set previously
                 $set->addFileToSet($this->file);
             }
             if ($this->file->inFileSet($set) && !in_array($set->getFileSetID(), $requestSets) && $fsp->canAddFile($this->file)) {
                 // This was not checked but it used to be in the set.
                 $set->removeFileFromSet($this->file);
             }
         }
     }
     $fsNew = $this->request->request->get('fsNew');
     $fsNewShare = $this->request->request->get('fsNewShare');
     if (is_array($fsNew)) {
         foreach ($fsNew as $i => $name) {
             if ($name) {
                 $type = $fsNewShare[$i] == 1 ? Set::TYPE_PUBLIC : Set::TYPE_PRIVATE;
                 $fs = Set::createAndGetSet($fsNew[$i], $type);
                 $fs->addFileToSet($this->file);
             }
         }
     }
     $response = new EditResponse();
     $response->setFile($this->file);
     $response->setMessage(t('File sets updated successfully.'));
     $response->outputJSON();
 }
コード例 #3
0
ファイル: single.php プロジェクト: ceko/concrete5-1
            $errorCode = $resp;
        } else {
            if (!is_object($fr)) {
                // we check $fr because we don't want to set it if we are replacing an existing file
                $respf = $resp->getFile();
                $respf->setOriginalPage($_POST['ocID']);
            } else {
                $respf = $fr;
            }
        }
    } else {
        $errorCode = $_FILES['Filedata']['error'];
    }
} else {
    if (isset($_FILES['Filedata'])) {
        // first, we check for validate upload token. If the posting of a file fails because of
        // post_max_size then this may not even be set, leading to misleading errors
        $error->add($valt->getErrorMessage());
    } else {
        $errorCode = FileImporter::E_PHP_FILE_ERROR_DEFAULT;
    }
}
if ($errorCode > -1) {
    $error->add(FileImporter::getErrorMessage($errorCode));
}
$r->setError($error);
if (is_object($respf)) {
    $r->setFile($respf);
}
$r->outputJSON();
コード例 #4
0
ファイル: file.php プロジェクト: JeRoNZ/concrete5-1
 public function getJSON() {
     $files = $this->getRequestFiles();
     $r = new FileEditResponse();
     $r->setFiles($files);
     $r->outputJSON();
 }
コード例 #5
0
ファイル: delete.php プロジェクト: masteramuk/concrete5
 public function deleteFiles()
 {
     $fr = new FileEditResponse();
     $files = array();
     if (is_array($_POST['fID'])) {
         foreach ($_POST['fID'] as $fID) {
             $f = File::getByID($fID);
             $fp = new Permissions($f);
             if ($fp->canDeleteFile()) {
                 $files[] = $f;
                 $f->delete();
             } else {
                 throw new \Exception(t('Unable to delete one or more files.'));
             }
         }
     }
     $fr->setMessage(t2('%s file deleted successfully.', '%s files deleted successfully.', count($files)));
     $fr->outputJSON();
 }
コード例 #6
0
ファイル: storage.php プロジェクト: ppiedaderawnet/concrete5
 public function submit()
 {
     if ($this->validateAction()) {
         $post = $this->request->request->all();
         $fsl = FileStorageLocation::getByID($post['fslID']);
         if (is_object($fsl)) {
             $fIDs = $post['fID'];
             if (is_array($fIDs)) {
                 foreach ($fIDs as $fID) {
                     $f = File::getByID($fID);
                     if (is_object($f)) {
                         $fp = new Permissions($f);
                         if ($fp->canEditFilePermissions()) {
                             try {
                                 $f->setFileStorageLocation($fsl);
                             } catch (\Exception $e) {
                                 $json = new \Concrete\Core\Application\EditResponse();
                                 $err = \Core::make('error');
                                 $err->add($e->getMessage());
                                 $json->setError($err);
                                 $json->outputJSON();
                             }
                         }
                     }
                 }
             }
         } else {
             $json = new \Concrete\Core\Application\EditResponse();
             $err = \Core::make('error');
             $err->add(t('Please select valid file storage location.'));
             $json->setError($err);
             $json->outputJSON();
         }
         $response = new EditResponse();
         $response->setFiles($this->files);
         $response->setMessage(t('File storage locations updated successfully.'));
         $response->outputJSON();
     }
 }
コード例 #7
0
 public function clearAttribute()
 {
     $fr = new FileEditResponse();
     $ak = FileAttributeKey::get($_REQUEST['akID']);
     if ($this->validateAction()) {
         $this->populateFiles();
         if ($this->canEdit) {
             foreach ($this->files as $f) {
                 $f->clearAttribute($ak);
                 $f->reindex();
             }
             $fr->setFiles($this->files);
             $fr->setAdditionalDataAttribute('value', false);
             $fr->setMessage(t('Attributes cleared successfully.'));
         }
     }
     $fr->outputJSON();
 }
コード例 #8
0
ファイル: sets.php プロジェクト: ngreimel/kovent
 public function submit()
 {
     if ($this->validateAction()) {
         $post = $this->request->request->all();
         foreach ($post as $key => $value) {
             if (preg_match('/fsID:/', $key)) {
                 $id = explode(':', $key);
                 $fsID = $id[1];
                 $fs = Set::getByID($fsID);
                 $fsp = new \Permissions($fs);
                 foreach ($this->files as $file) {
                     if ($fsp->canAddFile($file)) {
                         switch ($value) {
                             case '0':
                                 $fs->removeFileFromSet($file);
                                 break;
                             case '1':
                                 // do nothing
                                 break;
                             case '2':
                                 $fs->addFileToSet($file);
                                 break;
                         }
                     }
                 }
             }
         }
         $fsNew = $this->request->request->get('fsNew');
         $fsNewShare = $this->request->request->get('fsNewShare');
         if (is_array($fsNew)) {
             foreach ($fsNew as $i => $name) {
                 if ($name) {
                     foreach ($this->files as $file) {
                         $type = $fsNewShare[$i] == 1 ? Set::TYPE_PUBLIC : Set::TYPE_PRIVATE;
                         $fs = Set::createAndGetSet($fsNew[$i], $type);
                         $fs->addFileToSet($file);
                     }
                 }
             }
         }
         $sets = array();
         foreach ($this->files as $file) {
             foreach ($file->getFileSets() as $set) {
                 $o = $set->getJSONObject();
                 if (!in_array($o, $sets)) {
                     $sets[] = $o;
                 }
             }
         }
         $response = new EditResponse();
         $response->setFiles($this->files);
         $response->setAdditionalDataAttribute('sets', $sets);
         $response->setMessage(t('File sets updated successfully.'));
         $response->outputJSON();
     }
 }
コード例 #9
0
ファイル: delete.php プロジェクト: lequer/mlequer.com
 public function deleteFiles()
 {
     /** @var Token $token */
     $token = $this->app->make('token');
     if (!$token->validate('files/bulk_delete')) {
         throw new \Exception($token->getErrorMessage());
     }
     $fr = new FileEditResponse();
     $files = array();
     if (is_array($_POST['fID'])) {
         foreach ($_POST['fID'] as $fID) {
             $f = File::getByID($fID);
             $fp = new Permissions($f);
             if ($fp->canDeleteFile()) {
                 $files[] = $f;
                 $f->delete();
             } else {
                 throw new \Exception(t('Unable to delete one or more files.'));
             }
         }
     }
     $fr->setMessage(t2('%s file deleted successfully.', '%s files deleted successfully.', count($files)));
     $fr->outputJSON();
 }
コード例 #10
0
ファイル: properties.php プロジェクト: ceko/concrete5-1
 public function save()
 {
     if ($this->validateAction()) {
         $fp = new Permissions($this->file);
         if ($fp->canEditFileProperties()) {
             $fv = $this->file->getVersionToModify();
             $value = $this->request->request->get('value');
             switch ($this->request->request->get('name')) {
                 case 'fvTitle':
                     $fv->updateTitle($value);
                     break;
                 case 'fvDescription':
                     $fv->updateDescription($value);
                     break;
                 case 'fvTags':
                     $fv->updateTags($value);
                     break;
             }
             $sr = new FileEditResponse();
             $sr->setFile($this->file);
             $sr->setMessage(t('File updated successfully.'));
             $sr->setAdditionalDataAttribute('value', $value);
             $sr->outputJSON();
         } else {
             throw new Exception(t('Access Denied.'));
         }
     } else {
         throw new Exception(t('Access Denied.'));
     }
 }