Example #1
0
 public function getJSON() {
     $files = $this->getRequestFiles();
     $r = new FileEditResponse();
     $r->setFiles($files);
     $r->outputJSON();
 }
Example #2
0
 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();
     }
 }
Example #3
0
 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();
     }
 }
 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();
 }
Example #5
0
                } else {
                    $resp = FileImporter::E_FILE_INVALID_EXTENSION;
                }
                if (!$resp instanceof \Concrete\Core\Entity\File\Version) {
                    $error->add($fname . ': ' . FileImporter::getErrorMessage($resp));
                } else {
                    $import_responses[] = $resp;
                    if (!$fr instanceof \Concrete\Core\Entity\File\Version) {
                        // 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']);
                        $files[] = $respf;
                    } else {
                        $respf = $fr;
                    }
                }
                // clean up the file
                unlink($fpath . '/' . $fname);
            } else {
                // could not figure out a file name
                $error->add(t('Could not determine the name of the file at %s', h($this_url)));
            }
        } else {
            // warn that we couldn't download the file
            $error->add(t('There was an error downloading %s', h($this_url)));
        }
    }
}
$r->setError($error);
$r->setFiles($files);
$r->outputJSON();