public function checkPermissions($mixed) { if (isset($this->permissionsChecker)) { if ($this->permissionsChecker === -1) { return true; } else { return call_user_func_array($this->permissionsChecker, array($mixed)); } } $fp = new \Permissions($mixed); return $fp->canViewFile(); }
public function __construct(FileEntity $file) { parent::__construct(); $this->setAttribute('data-search-file-menu', $file->getFileID()); $this->addItem(new LinkItem('#', t('Clear'), ['data-file-manager-action' => 'clear'])); $this->addItem(new DividerItem()); $fp = new \Permissions($file); if ($fp->canViewFile() && $file->canView()) { $this->addItem(new DialogLinkItem(REL_DIR_FILES_TOOLS_REQUIRED . '/files/view?fID=' . $file->getFileID(), t('View'), t('View'), '90%', '75%')); } if ($fp->canViewFile() && $file->canView()) { $this->addItem(new LinkItem('#', t('Download'), ['data-file-manager-action' => 'download', 'data-file-id' => $file->getFileID()])); } if ($file->canEdit() && $fp->canEditFileContents()) { $this->addItem(new DialogLinkItem(REL_DIR_FILES_TOOLS_REQUIRED . '/files/edit?fID=' . $file->getFileID(), t('Edit'), t('Edit'), '90%', '75%')); $this->addItem(new DialogLinkItem(\URL::to('/ccm/system/dialogs/file/thumbnails?fID=' . $file->getFileID()), t('Thumbnails'), t('Thumbnails'), '90%', '75%')); } if ($fp->canViewFileInFileManager()) { $this->addItem(new DialogLinkItem(\URL::to('/ccm/system/dialogs/file/properties?fID=' . $file->getFileID()), t('Properties'), t('Properties'), '850', '450')); } if ($fp->canEditFileContents()) { $this->addItem(new DialogLinkItem(REL_DIR_FILES_TOOLS_REQUIRED . '/files/replace?fID=' . $file->getFileID(), t('Replace'), t('Replace'), '500', '200')); } if ($fp->canCopyFile()) { $this->addItem(new LinkItem('#', t('Duplicate'), ['data-file-manager-action' => 'duplicate', 'data-file-id' => $file->getFileID()])); } if ($fp->canViewFileInFileManager()) { $this->addItem(new DialogLinkItem(\URL::to('/ccm/system/dialogs/file/sets?fID=' . $file->getFileID()), t('Sets'), t('File Sets'), '500', '400')); } if ($fp->canEditFilePermissions() || $fp->canDeleteFile()) { $this->addItem(new DividerItem()); } if ($fp->canEditFilePermissions()) { $this->addItem(new DialogLinkItem(REL_DIR_FILES_TOOLS_REQUIRED . '/files/permissions?fID=' . $file->getFileID(), t('Permissions'), t('Permissions & Access'), '520', '450')); } $this->addItem(new DialogLinkItem(\URL::to('/ccm/system/dialogs/file/usage', $file->getFileID()), t('File Usage'), t('File Usage'), '90%', '75%')); if ($fp->canDeleteFile()) { $this->addItem(new DeleteItem($file->getFileNodeObject())); } }
public function view_inline($fID = 0) { if ($fID > 0 && Loader::helper('validation/numbers')->integer($fID)) { $file = File::getByID($fID); $fp = new Permissions($file); if (!$fp->canViewFile()) { return false; } $mimeType = $file->getMimeType(); $fc = Loader::helper('file'); $contents = $fc->getContents($file->getPath()); header("Content-type: {$mimeType}"); print $contents; exit; } }
function loadFileSet() { if (intval($this->fsID) < 1) { return false; } Loader::helper('concrete/file'); Loader::model('file_attributes'); Loader::library('file/types'); Loader::model('file_list'); Loader::model('file_set'); $ak = FileAttributeKey::getByHandle('height'); $fs = FileSet::getByID($this->fsID); $fileList = new FileList(); $fileList->filterBySet($fs); $fileList->filterByType(FileType::T_IMAGE); $fileList->sortByFileSetDisplayOrder(); $files = $fileList->get(1000, 0); $image = array(); $image['duration'] = $this->duration; $image['fadeDuration'] = $this->fadeDuration; $image['groupSet'] = 0; $image['url'] = ''; $images = array(); $maxHeight = 0; foreach ($files as $f) { $fp = new Permissions($f); if (!$fp->canViewFile()) { continue; } $image['fID'] = $f->getFileID(); $image['fileName'] = $f->getFileName(); $image['fullFilePath'] = $f->getPath(); $image['url'] = $f->getRelativePath(); // find the max height of all the images so slideshow doesn't bounce around while rotating $vo = $f->getAttributeValueObject($ak); if (is_object($vo)) { $image['imgHeight'] = $vo->getValue('height'); } if ($maxHeight == 0 || $image['imgHeight'] > $maxHeight) { $maxHeight = $image['imgHeight']; } $images[] = $image; } $this->images = $images; $this->maxHeight = $maxHeight; }
$searchInstance = Loader::helper('text')->entities($_REQUEST['searchInstance']); $extensions = array(); if (is_array($_REQUEST['fID'])) { foreach($_REQUEST['fID'] as $fID) { $f = File::getByID($fID); $fp = new Permissions($f); if ($fp->canViewFile()) { $files[] = $f; $extensions[] = strtolower($f->getExtension()); } } } else { $f = File::getByID($_REQUEST['fID']); $fp = new Permissions($f); if ($fp->canViewFile()) { $files[] = $f; $extensions[] = strtolower($f->getExtension()); } } $extensions = array_unique($extensions); $sets = array(); // tri state checkbox // state 0 - none of the selected files are in the set // state 1 - SOME of the selected files are in the set // state 2 - ALL files are in the set foreach($s1 as $fs) { $foundInSets = 0;
<? defined('C5_EXECUTE') or die("Access Denied."); $u = new User(); $form = Loader::helper('form'); $f = File::getByID($_REQUEST['fID']); if (isset($_REQUEST['fvID'])) { $fv = $f->getVersion($_REQUEST['fvID']); } else { $fv = $f->getApprovedVersion(); } $fp = new Permissions($f); if (!$fp->canViewFile()) { die(t("Access Denied.")); } ?> <div style="text-align: center"> <? $to = $fv->getTypeObject(); if ($to->getPackageHandle() != '') { Loader::packageElement('files/view/' . $to->getView(), $to->getPackageHandle(), array('fv' => $fv)); } else { Loader::element('files/view/' . $to->getView(), array('fv' => $fv)); } ?> </div> <div class="dialog-buttons"> <form method="post" action="<?php