public function rescan() { $files = $this->getRequestFiles('canEditFileContents'); $r = new FileEditResponse(); $r->setFiles($files); $successMessage = ''; $errorMessage = ''; $successCount = 0; foreach($files as $f) { try { $fv = $f->getApprovedVersion(); $resp = $fv->refreshAttributes(); switch ($resp) { case \Concrete\Core\File\Importer::E_FILE_INVALID: $errorMessage .= t('File %s could not be found.', $fv->getFilename()) . '<br/>'; break; default: $successCount++; $successMessage = t2('%s file rescanned successfully.', '%s files rescanned successfully.', $successCount); break; } } catch(\Concrete\Flysystem\FileNotFoundException $e) { $errorMessage .= t('File %s could not be found.', $fv->getFilename()) . '<br/>'; } } if ($errorMessage && !$successMessage) { $e = new \Concrete\Core\Error\Error; $e->add($errorMessage); $r->setError($e); } else { $r->setMessage($errorMessage . $successMessage); } $r->outputJSON(); }
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.')); } }
public function rescan() { $files = $this->getRequestFiles('canEditFileContents'); $r = new FileEditResponse(); $r->setFiles($files); $error = new \Concrete\Core\Error\Error(); try { $this->doRescan($files[0]); $r->setMessage(t('File rescanned successfully.')); } catch (\Concrete\Flysystem\FileNotFoundException $e) { $errorMessage = t('File %s could not be found.', $files[0]->getFilename()) . '<br/>'; $error->add($errorMessage); } catch (\Exception $e) { $error->add($e->getMessage()); } $r->setError($error); $r->outputJSON(); }
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(); }
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(); }
$frp = new Permissions($fr); if (!$frp->canEditFileContents()) { $error->add(t('You do not have permission to modify this file.')); } } else { $fr = false; } $r = new FileEditResponse(); if ($valt->validate('upload') && !$error->has()) { if (isset($_FILES['Filedata']) && is_uploaded_file($_FILES['Filedata']['tmp_name'])) { if (!$fp->canAddFileType($cf->getExtension($_FILES['Filedata']['name']))) { $resp = FileImporter::E_FILE_INVALID_EXTENSION; } else { $fi = new FileImporter(); $resp = $fi->import($_FILES['Filedata']['tmp_name'], $_FILES['Filedata']['name'], $fr); $r->setMessage(t('File uploaded successfully.')); if (is_object($fr)) { $r->setMessage(t('File replaced successfully.')); } } if (!$resp instanceof \Concrete\Core\File\Version) { $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; } }
$fr = new FileEditResponse(); if ($token_validator->validate('files/delete')) { $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))); } else { $fr->setError(new \Exception('Invalid Token')); } $fr->outputJSON(); } $form = Loader::helper('form'); $files = array(); if (is_array($_REQUEST['fID'])) { foreach ($_REQUEST['fID'] as $fID) { $files[] = File::getByID($fID); } } else { $files[] = File::getByID($_REQUEST['fID']); } $fcnt = 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(); } }
if (!$resp instanceof \Concrete\Core\File\Version) { $error->add($name . ': ' . FileImporter::getErrorMessage($resp)); } else { $files[] = $resp; if ($_POST['removeFilesAfterPost'] == 1) { $fsl = \Concrete\Core\File\StorageLocation\StorageLocation::getDefault()->getFileSystemObject(); $fsl->delete(REL_DIR_FILES_INCOMING . '/' . $name); } 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; } } } } } if (count($files) == 0) { $error->add(t('You must select at least one file.')); } } else { $error->add($valt->getErrorMessage()); } $r->setError($error); if (is_object($respf)) { $r->setFile($respf); } $r->setMessage(t2('%s file imported successfully.', '%s files imported successfully', count($files))); $r->outputJSON();
$fileID = $_REQUEST['fID']; $f = File::getByID($fileID); $token = Core::make('token'); $cp = new Permissions($f); if (!$cp->canAdmin()) { die(t("Access Denied.")); } $form = Loader::helper('form'); $r = new FileEditResponse(); $r->setFile($f); if ($_POST['task'] == 'set_password') { if (!$token->validate('set_password_' . $fileID)) { die(t('Invalid CSRF Token.')); } $f->setPassword($_POST['fPassword']); $r->setMessage(t('File password saved successfully.')); $r->outputJSON(); } if ($_POST['task'] == 'set_location') { if (!$token->validate('set_location_' . $fileID)) { die(t('Invalid CSRF Token.')); } $fsl = FileStorageLocation::getByID($_POST['fslID']); if (is_object($fsl)) { try { $f->setFileStorageLocation($fsl); } catch (\Exception $e) { $json = new \Concrete\Core\Application\EditResponse(); $err = Core::make('error'); $err->add($e->getMessage()); $json->setError($err);
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(); }
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 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(); }
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.')); } }