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 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(); }
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(); $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(); } }
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(); }
if (!$fp->canAddFiles()) { die(t("Unable to add files.")); } $errorCode = -1; $error = Loader::helper('validation/error'); if (isset($_POST['fID'])) { // we are replacing a file $fr = File::getByID($_REQUEST['fID']); $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 {
public function getJSON() { $files = $this->getRequestFiles(); $r = new FileEditResponse(); $r->setFiles($files); $r->outputJSON(); }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\File\EditResponse as FileEditResponse; $u = new User(); $form = Loader::helper('form'); $dh = Core::make('helper/date'); /* @var $dh \Concrete\Core\Localization\Service\Date */ $fp = FilePermissions::getGlobal(); if (!$fp->canAccessFileManager()) { die(t("Unable to access the file manager.")); } $token_validator = \Core::make('helper/validation/token'); if ($_POST['task'] == 'delete_files') { $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 {
$fp = FilePermissions::getGlobal(); use Concrete\Core\File\EditResponse as FileEditResponse; if (!$fp->canAddFiles()) { die(t("Unable to add files.")); } $cf = Loader::helper("file"); $valt = Loader::helper('validation/token'); $error = Loader::helper('validation/error'); if (isset($_POST['fID'])) { // we are replacing a file $fr = File::getByID($_REQUEST['fID']); } else { $fr = false; } $searchInstance = $_POST['searchInstance']; $r = new FileEditResponse(); $files = array(); if ($valt->validate('import_incoming')) { if (!empty($_POST)) { $fi = new FileImporter(); foreach ($_POST as $k => $name) { if (preg_match("#^send_file#", $k)) { if (!$fp->canAddFileType($cf->getExtension($name))) { $resp = FileImporter::E_FILE_INVALID_EXTENSION; } else { $resp = $fi->importIncomingFile($name); } if (!$resp instanceof \Concrete\Core\File\Version) { $error->add($name . ': ' . FileImporter::getErrorMessage($resp)); } else { $files[] = $resp;
defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\File\EditResponse as FileEditResponse; use Concrete\Core\File\StorageLocation\StorageLocation as FileStorageLocation; $u = new User(); $form = Loader::helper('form'); $ih = Loader::helper('concrete/ui'); $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)) {
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(); } }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\File\EditResponse as FileEditResponse; $u = new User(); $form = Loader::helper('form'); $dh = Core::make('helper/date'); /* @var $dh \Concrete\Core\Localization\Service\Date */ $fp = FilePermissions::getGlobal(); if (!$fp->canAccessFileManager()) { die(t("Unable to access the file manager.")); } if ($_POST['task'] == 'delete_files') { $json['error'] = false; $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.')); } }