public function do_add() { extract($this->getHelperObjects()); Loader::model('file_set'); if (!$validation_token->validate("file_sets_add")) { $this->set('error', array($validation_token->getErrorMessage())); return; } if (!trim($this->post('file_set_name'))) { $this->set('error', array(t('Please Enter a Name'))); return; } $setName = trim($this->post('file_set_name')); if (preg_match('/[<>;{}?"`]/i', $setName)) { $this->set('error', array(t('File Set Name cannot contain the characters: %s', Loader::helper('text')->entities('<>;{}?"`')))); return; } //print('<pre>');print_r(get_included_files());print('</pre>'); $u = new User(); $file_set = new FileSet(); //AS: Adodb Active record is complaining a ?/value array mismatch unless //we explicatly set the primary key ID field to null $file_set->fsID = null; $file_set->fsName = $setName; $file_set->fsType = FileSet::TYPE_PUBLIC; $file_set->uID = $u->getUserID(); $file_set->fsOverrideGlobalPermissions = $this->post('fsOverrideGlobalPermissions') == 1 ? 1 : 0; $file_set->save(); $this->redirect('/dashboard/files/sets', 'file_set_added'); }
public function getNext() { $file = array_shift($this->_ids); if ($file === null) { return null; } $this->_set->loadById($file); return $this->_set; }
protected function schemaConfiguration(Task $task) { // Adds schema(s) to task foreach ($this->schemas as $pair) { $fileSet = new FileSet(); $fileSet->setDir($pair[0]); $fileSet->setIncludes($pair[1]); $task->addSchemaFileset($fileSet); } // Sets up output dir, for class, SQL or conf output $task->setOutputDirectory(new PhingFile($this->outputDir)); }
public function file_sets_edit(){ extract($this->getHelperObjects()); Loader::model('file_set'); //do my editing if (!$validation_token->validate("file_sets_edit")) { $this->set('error', array($validation_token->getErrorMessage())); $this->view(); return; } if(!$this->post('fsID')){ $this->set('error', array(t('Invalid ID'))); $this->view(); } $file_set = new FileSet(); $file_set->Load('fsID = ?', $this->post('fsID')); $file_set->fsName = $this->post('file_set_name'); $copyPermissionsFromBase = false; if ($file_set->fsOverrideGlobalPermissions == 0 && $this->post('fsOverrideGlobalPermissions') == 1) { // we are checking the checkbox for the first time $copyPermissionsFromBase = true; } if ($file_set->fsOverrideGlobalPermissions) { $permissions = PermissionKey::getList('file_set'); foreach($permissions as $pk) { $pk->setPermissionObject($file_set); $pt = $pk->getPermissionAssignmentObject(); $paID = $_POST['pkID'][$pk->getPermissionKeyID()]; $pt->clearPermissionAssignment(); if ($paID > 0) { $pa = PermissionAccess::getByID($paID, $pk); if (is_object($pa)) { $pt->assignPermissionAccess($pa); } } } } $file_set->fsOverrideGlobalPermissions = ($this->post('fsOverrideGlobalPermissions') == 1) ? 1 : 0; $file_set->save(); parse_str($this->post('fsDisplayOrder')); $file_set->updateFileSetDisplayOrder($fID); if ($file_set->fsOverrideGlobalPermissions == 0) { $file_set->resetPermissions(); } if ($copyPermissionsFromBase) { $file_set->acquireBaseFileSetPermissions(); } $this->redirect("/dashboard/files/sets", 'view_detail', $this->post('fsID'), 'file_set_updated'); }
public function save() { if (Loader::helper('validation/token')->validate('save_permissions')) { $fs = FileSet::getGlobal(); $tp = new TaskPermission(); if ($tp->canAccessTaskPermissions()) { $permissions = PermissionKey::getList('file_set'); foreach ($permissions as $pk) { $pk->setPermissionObject($fs); $paID = $_POST['pkID'][$pk->getPermissionKeyID()]; $pt = $pk->getPermissionAssignmentObject(); $pt->clearPermissionAssignment(); if ($paID > 0) { $pa = PermissionAccess::getByID($paID, $pk); if (is_object($pa)) { $pt->assignPermissionAccess($pa); } } } $this->redirect('/dashboard/system/permissions/files', 'updated'); } } else { $this->error->add(Loader::helper("validation/token")->getErrorMessage()); } }
public function on_start() { Events::extend('on_file_add', function ($f, $fv) { $setless_fs = FileSet::getByName('Setless'); $setless_fs->addFileToSet($f); }); Events::extend('on_file_added_to_set', function ($fID, $fv) { $setless_fs = FileSet::getByName('Setless'); $file = File::getByID($fID); $file_sets = $file->getFileSets(); $file_set_ids = array(); foreach ($file_sets as $file_set) { $file_set_ids[] = $file_set->fsID; } // If file is in multiple sets and setless is one of them, remove from setless if (count($file_set_ids) >= 2 && in_array($setless_fs->fsID, $file_set_ids)) { $setless_fs->removeFileFromSet($file); } }); Events::extend('on_file_removed_from_set', function ($fID, $fv) { $setless_fs = FileSet::getByName('Setless'); $file = File::getByID($fID); $file_sets = $file->getFileSets(); // If file is no longer in any sets, add to setless if (count($file_sets) == 0) { $setless_fs->addFileToSet($file); } }); }
public static function addFilesForProduct(array $files, StoreProduct $product) { self::removeFilesForProduct($product); //add new ones. if (!empty($files['dffID'])) { foreach ($files['dffID'] as $fileID) { if (!empty($fileID) && $fileID > 0) { self::add($product->getProductID(), $fileID); $fileObj = \File::getByID($fileID); $fs = \FileSet::getByName("Digital Downloads"); $fs->addFileToSet($fileObj); $fileObj->resetPermissions(1); $pk = \Concrete\Core\Permission\Key\FileKey::getByHandle('view_file'); $pk->setPermissionObject($fileObj); $pao = $pk->getPermissionAssignmentObject(); $groupEntity = \Concrete\Core\Permission\Access\Entity\GroupEntity::getOrCreate(\Group::getByID(GUEST_GROUP_ID)); $pa = $pk->getPermissionAccessObject(); if ($pa) { $pa->removeListItem($groupEntity); $pao->assignPermissionAccess($pa); } } } } }
/** * Reads the corresponding actions and templates of the cronk (if any) from cronk.xml * and creates two references "cronkTemplate" and "cronkAction" which can be used to access these files */ public function main() { $templates = array(); $actionPath = ""; $action = null; $module = null; $cronkName = $this->project->getUserProperty("cronkName"); // Setup and load the DOM of the cronk $DOM = new DOMDocument("1.0", "UTF-8"); $DOM->load($this->getFile()); $DOMSearcher = new DOMXPath($DOM); $DOMSearcher->registerNamespace("default", "http://agavi.org/agavi/1.0/config"); $DOMSearcher->registerNamespace("ae", "http://agavi.org/agavi/config/global/envelope/1.0"); $cronkTemplates = $DOMSearcher->query("//ae:parameter[@name='" . $cronkName . "']//ae:parameter[@name='template']"); if ($cronkTemplates->length > 0) { foreach ($cronkTemplates as $template) { $templates[] = $template->nodeValue; } } // fetch action and module $action = $DOMSearcher->query("//ae:parameter[@name='" . $cronkName . "']//ae:parameter[@name='action']")->item(0); $module = $DOMSearcher->query("//ae:parameter[@name='" . $cronkName . "']//ae:parameter[@name='module']")->item(0); $actionName = str_replace(".", "/", $action->nodeValue); // add agavi action,validation, view and templates $cronkFS = new FileSet(); $cronkFS->setDir($this->project->getUserProperty("PATH_Icinga") . "/app/modules/" . $module->nodeValue); $cronkIncludes = "actions/" . $actionName . "Action.class.php"; $cronkIncludes .= ",templates/" . $actionName . "*.class.php"; $cronkIncludes .= ",validate/" . $actionName . ".xml"; $cronkIncludes .= ",views/" . $actionName . "*.class.php"; $cronkFS->setIncludes($cronkIncludes); // add templates $templateFs = new FileSet(); $templateFs->setDir($this->project->getUserProperty("PATH_Icinga") . "/app/modules/Cronks/data/xml/"); $includes = ""; $first = true; foreach ($templates as $template) { $includes .= ($first ? '' : ',') . $template . ".xml"; } // export to phing $templateFs->setIncludes($includes); $this->project->addReference("cronkTemplates", $templateFs); $this->project->addReference("cronkAction", $cronkFS); }
public function setPermissionObject(FileSet $fs) { $this->permissionObject = $fs; if ($fs->overrideGlobalPermissions()) { $this->permissionObjectToCheck = $fs; } else { $fs = FileSet::getGlobal(); $this->permissionObjectToCheck = $fs; } }
public function __construct() { $fp = new Permissions(\FileSet::getGlobal()); $tp = new Permissions(); $this->assets = ResponseAssetGroup::get(); $this->token = Core::make("token")->generate('editor'); $this->setAllowFileManager($fp->canAccessFileManager()); $this->setAllowSitemap($tp->canAccessSitemap()); $this->pluginManager = new PluginManager(); $this->pluginManager->selectMultiple(\Package::getByHandle('community_ckeditor')->getConfig()->get('plugins', array())); }
public function view() { $fs = FileSet::getByID($this->fsID); $fileList = new FileList(); $fileList->filterBySet($fs); $fileList->filterByType(FileType::T_IMAGE); $fileList->sortByFileSetDisplayOrder(); $images = $fileList->get(1000, 0); $this->set('images', $images); $this->set('picture', $this->getPicture()); }
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; }
public function filterBySet($fs) { if ($fs != false) { $this->filteredFileSetIDs[] = intval($fs->getFileSetID()); } else { $s1 = FileSet::getMySets(); $sets = array(); foreach($s1 as $fs) { $sets[] = $fs->getFileSetID(); } if (count($sets) == 0) { return false; } $db = Loader::db(); $setStr = implode(',', $sets); $this->addToQuery("left join FileSetFiles fsfex on fsfex.fID = f.fID"); $this->filter(false, '(fsfex.fID is null or (select count(fID) from FileSetFiles where fID = fsfex.fID and fsID in (' . $setStr . ')) = 0)'); } }
public function setPermissionObject(File $f) { $this->permissionObject = $f; if ($f->overrideFileSetPermissions()) { $this->permissionObjectToCheck = $f; } else { $sets = $f->getFileSets(); $permsets = array(); foreach ($sets as $fs) { if ($fs->overrideGlobalPermissions()) { $permsets[] = $fs; } } if (count($permsets) > 0) { $this->permissionObjectToCheck = $permsets; } else { $fs = FileSet::getGlobal(); $this->permissionObjectToCheck = $fs; } } }
public static function getUnsortedPermittedFilesetImages($fsID) { Loader::model('file_set'); Loader::model('file_list'); $fsHasDisplayOrder = version_compare(APP_VERSION, '5.4.1', '>='); $fs = FileSet::getByID($fsID); $fl = new FileList(); $fl->filterBySet($fs); $fl->filterByType(FileType::T_IMAGE); if ($fsHasDisplayOrder) { $fl->sortByFileSetDisplayOrder(); } $all_files = $fl->get(); $permitted_files = array(); foreach ($all_files as $f) { $fp = new Permissions($f); if ($fp->canRead()) { $permitted_files[] = $f; } } return $permitted_files; }
public static function getPermittedFilesetImages($fsID, $use_file_props_for_title_and_caption = false) { Loader::model('file_set'); Loader::model('file_list'); $fsHasDisplayOrder = version_compare(APP_VERSION, '5.4.1', '>='); $fs = FileSet::getByID($fsID); $fl = new FileList(); $fl->filterBySet($fs); $fl->filterByType(FileType::T_IMAGE); if ($fsHasDisplayOrder) { $fl->sortByFileSetDisplayOrder(); } $all_files = $fl->get(); $permitted_files = array(); foreach ($all_files as $f) { $fp = new Permissions($f); if ($fp->canRead()) { $fv = $f->getRecentVersion(); $permitted_files[$f->fID] = array('file' => $f, 'fID' => $f->fID, 'position' => $fsHasDisplayOrder ? $f->fsDisplayOrder : 0, 'title' => $use_file_props_for_title_and_caption ? $fv->getTitle() : '', 'caption' => $use_file_props_for_title_and_caption ? $fv->getDescription() : ''); } } return $permitted_files; }
print $page_selector->selectPage('redirectCID'); } ?> </div> </div> </div> <div class="clearfix"> <label for="ccm-form-fileset"><?php echo t('Add uploaded files to a set?'); ?> </label> <div class="input"> <div id="ccm-form-fileset"> <?php Loader::model('file_set'); $fs = new FileSet(); $fileSets = $fs->getMySets(); $sets = array(0 => t('None')); foreach ($fileSets as $fileSet) { $sets[$fileSet->fsID] = $fileSet->fsName; } print $form->select('addFilesToSet', $sets, $miniSurveyInfo['addFilesToSet']); ?> </div> </div> </div> </fieldset> </div> <input type="hidden" id="qsID" name="qsID" type="text" value="<?php echo intval($miniSurveyInfo['questionSetId']);
public function save_global_permissions() { $vt = Loader::helper('validation/token'); if (!$vt->validate("file_permissions")) { $this->set('error', array($vt->getErrorMessage())); return; } $p = $this->post(); Loader::model('file_set'); $fs = FileSet::getGlobal(); $this->setFileSetPermissions($fs, $p); $this->redirect('/dashboard/system/permissions/files', 'global_permissions_saved'); }
public function save($data) { $db = Database::get(); if ($data['pID']) { //if we know the pID, we're updating. $pID = $data['pID']; //update product details $vals = array($data['gID'], $data['pName'], $data['pDesc'], $data['pDetail'], $data['pPrice'], $data['pFeatured'], $data['pQty'], $data['pTaxable'], $data['pfID'], $data['pActive'], $data['pShippable'], $data['pWidth'], $data['pHeight'], $data['pLength'], $data['pWeight'], $data['pID']); $db->Execute('UPDATE VividStoreProducts SET gID=?,pName=?,pDesc=?,pDetail=?,pPrice=?,pFeatured=?,pQty=?,pTaxable=?,pfID=?,pActive=?,pShippable=?,pWidth=?,pHeight=?,pLength=?,pWeight=? WHERE pID = ?', $vals); //update additional images $db->Execute('DELETE FROM VividStoreProductImages WHERE pID = ?', $data['pID']); $count = count($data['pifID']); if ($count > 0) { for ($i = 0; $i < $count; $i++) { $vals = array($data['pID'], $data['pifID'][$i], $data['piSort'][$i]); $db->Execute("INSERT INTO VividStoreProductImages (pID,pifID,piSort) VALUES (?,?,?)", $vals); } } //update user groups $db->Execute('DELETE FROM VividStoreProductUserGroups WHERE pID = ?', $data['pID']); if (!empty($data['pUserGroups'])) { foreach ($data['pUserGroups'] as $gID) { $vals = array($data['pID'], $gID); $db->Execute("INSERT INTO VividStoreProductUserGroups (pID,gID) VALUES (?,?)", $vals); } } //update product groups $db->Execute('DELETE FROM VividStoreProductGroups WHERE pID = ?', $data['pID']); if (!empty($data['pProductGroups'])) { foreach ($data['pProductGroups'] as $gID) { $vals = array($pID, $gID); $db->Execute("INSERT INTO VividStoreProductGroups (pID,gID) VALUES (?,?)", $vals); } } //update option groups $db->Execute('DELETE FROM VividStoreProductOptionGroups WHERE pID = ?', $data['pID']); $db->Execute('DELETE FROM VividStoreProductOptionItems WHERE pID = ?', $data['pID']); $count = count($data['pogSort']); $ii = 0; //set counter for items if ($count > 0) { for ($i = 0; $i < $count; $i++) { $vals = array($data['pID'], $data['pogName'][$i], $data['pogSort'][$i]); $db->Execute("INSERT INTO VividStoreProductOptionGroups (pID,pogName,pogSort) VALUES (?,?,?)", $vals); //add option items $pogID = $db->lastInsertId(); $itemsInGroup = count($data['optGroup' . $i]); if ($itemsInGroup > 0) { for ($gi = 0; $gi < $itemsInGroup; $gi++, $ii++) { $vals = array($data['pID'], $pogID, $data['poiName'][$ii], $data['poiSort'][$ii]); $db->Execute("INSERT INTO VividStoreProductOptionItems (pID,pogID,poiName,poiSort) VALUES (?,?,?,?)", $vals); } } } } } else { //else, we don't know it, so we're adding $dt = Core::make('helper/date'); $now = $dt->getLocalDateTime(); //add product details $vals = array($data['gID'], $data['pName'], $data['pDesc'], $data['pDetail'], $data['pPrice'], $data['pFeatured'], $data['pQty'], $data['pTaxable'], $data['pfID'], $data['pActive'], $data['pShippable'], $data['pWidth'], $data['pHeight'], $data['pLength'], $data['pWeight'], $now); $db->Execute("INSERT INTO VividStoreProducts (gID,pName,pDesc,pDetail,pPrice,pFeatured,pQty,pTaxable,pfID,pActive,pShippable,pWidth,pHeight,pLength,pWeight,pDateAdded) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", $vals); //add additional images $pID = $db->lastInsertId(); $count = count($data['pifID']); if ($count > 0) { for ($i = 0; $i < $count; $i++) { $vals = array($pID, $data['pifID'][$i], $data['piSort'][$i]); $db->Execute("INSERT INTO VividStoreProductImages (pID,pifID,piSort) VALUES (?,?,?)", $vals); } } //insert user groups if (!empty($data['pUserGroups'])) { foreach ($data['pUserGroups'] as $gID) { $vals = array($pID, $gID); $db->Execute("INSERT INTO VividStoreProductUserGroups (pID,gID) VALUES (?,?)", $vals); } } //insert product groups if (!empty($data['pProductGroups'])) { foreach ($data['pProductGroups'] as $gID) { $vals = array($pID, $gID); $db->Execute("INSERT INTO VividStoreProductGroups (pID,gID) VALUES (?,?)", $vals); } } //add option groups $count = count($data['pogSort']); $ii = 0; //set counter for items if ($count > 0) { for ($i = 0; $i < $count; $i++) { $vals = array($pID, $data['pogName'][$i], $data['pogSort'][$i]); $db->Execute("INSERT INTO VividStoreProductOptionGroups (pID,pogName,pogSort) VALUES (?,?,?)", $vals); //add option items $pogID = $db->lastInsertId(); $itemsInGroup = count($data['optGroup' . $i]); if ($itemsInGroup > 0) { for ($gi = 0; $gi < $itemsInGroup; $gi++, $ii++) { $vals = array($pID, $pogID, $data['poiName'][$ii], $data['poiSort'][$ii]); $db->Execute("INSERT INTO VividStoreProductOptionItems (pID,pogID,poiName,poiSort) VALUES (?,?,?,?)", $vals); } } } } $product = Product::getByID($pID); $product->generatePage($data['selectPageTemplate']); } //save files $db->Execute("DELETE FROM VividStoreDigitalFiles WHERE pID=?", $pID); $u = User::getByUserID(1); $ui = \UserInfo::getByID($u->getUserID()); if ($data['dffID']) { foreach ($data['dffID'] as $dffID) { if ($dffID) { $db->Execute("INSERT INTO VividStoreDigitalFiles(dffID,pID) VALUES (?,?)", array($dffID, $pID)); $fileObj = File::getByID($dffID); $fs = \FileSet::getByName("Digital Downloads"); $fs->addFileToSet($fileObj); $fileObj->resetPermissions(1); $pk = \Concrete\Core\Permission\Key\FileKey::getByHandle('view_file'); $pk->setPermissionObject($fileObj); $pao = $pk->getPermissionAssignmentObject(); $groupEntity = \Concrete\Core\Permission\Access\Entity\GroupEntity::getOrCreate(\Group::getByID(GUEST_GROUP_ID)); $pa = $pk->getPermissionAccessObject(); if ($pa) { $pa->removeListItem($groupEntity); $pao->assignPermissionAccess($pa); } } } } $db->Execute("DELETE FROM VividStoreProductLocations where pID = ?", array($pID)); foreach ($data['cID'] as $cID) { if ($cID > 0) { $db->Execute("REPLACE INTO VividStoreProductLocations(pID,cID) VALUES (?,?)", array($pID, (int) $cID)); } } $product = Product::getByID($pID); return $product; }
function LimitedFileSet($dirname, $_include, $exclude) { $this->_includefiles = $_include; $this->_exclude = $exclude; $this->_skiplist = array(); parent::FileSet($dirname); }
/** * add a depends selector entry on the selector list * @return DependSelector */ public function createDepend() { return $this->fileset->createDepend(); }
public function set_site_permissions() { Loader::model('file_set'); $fs = FileSet::getGlobal(); $g1 = Group::getByID(GUEST_GROUP_ID); $g2 = Group::getByID(REGISTERED_GROUP_ID); $g3 = Group::getByID(ADMIN_GROUP_ID); $fs->assignPermissions($g1, array('view_file_set_file')); $fs->assignPermissions($g3, array('view_file_set_file', 'search_file_set', 'edit_file_set_file_properties', 'edit_file_set_file_contents', 'copy_file_set_files', 'edit_file_set_permissions', 'delete_file_set_files', 'delete_file_set', 'add_file')); if (defined('ACTIVE_LOCALE') && ACTIVE_LOCALE != '' && ACTIVE_LOCALE != 'en_US') { Config::save('SITE_LOCALE', ACTIVE_LOCALE); } Config::save('SITE', SITE); Config::save('SITE_APP_VERSION', APP_VERSION); Config::save('SITE_INSTALLED_APP_VERSION', APP_VERSION); $u = new User(); $u->saveConfig('NEWSFLOW_LAST_VIEWED', 'FIRSTRUN'); $home = Page::getByID(1, "RECENT"); $home->assignPermissions($g1, array('view_page')); $home->assignPermissions($g3, array('view_page_versions', 'preview_page_as_user', 'edit_page_properties', 'edit_page_contents', 'edit_page_speed_settings', 'edit_page_theme', 'edit_page_type', 'edit_page_permissions', 'delete_page', 'delete_page_versions', 'approve_page_versions', 'add_subpage', 'move_or_copy_page', 'schedule_page_contents_guest_access')); }
public function getIcons() { $f = Loader::helper('file'); Loader::model('file_list'); Loader::model('file_set'); $fileList = new FileList(); $fs = FileSet::getByName('Page Type Icons'); if (!$fs) { return $f->getDirectoryContents(DIR_FILES_COLLECTION_TYPE_ICONS); } else { $fileList->filterBySet($fs); $icons = $fileList->get(100); if (!count($icons)) { $icons = $f->getDirectoryContents(DIR_FILES_COLLECTION_TYPE_ICONS); } return $icons; } }
<?php defined('C5_EXECUTE') or die("Access Denied."); $ih = Loader::helper('concrete/interface'); $cap = Loader::helper('concrete/dashboard'); $valt = Loader::helper('validation/token'); $form = Loader::helper('form'); $u = new User(); Loader::model('file_set'); $pageTypeIconsFS = FileSet::getByName("Page Type Icons"); ?> <!-- START: Add Page Type pane --> <?php echo Loader::helper('concrete/dashboard')->getDashboardPaneHeaderWrapper(t('Add Page Type'), false, false, false); ?> <form method="post" class="form-horizontal" id="add_page_type" action="<?php echo $this->url('/dashboard/pages/types/add', 'do_add'); ?> "> <?php echo $valt->output('add_page_type'); ?> <?php echo $form->hidden('task', 'add'); ?> <div class="ccm-pane-body">
/** * A file to be attribed. * @param PhingFile $src a file */ public function setFile(PhingFile $src) { $fs = new FileSet(); $fs->setFile($src); $this->addFileSet($fs); }
protected function migrateFileSetPermissions() { $db = Loader::db(); $tables = $db->MetaTables(); if (!in_array('FileSetPermissions', $tables)) { return false; } // permissions $fpe = FileUploaderPermissionAccessEntity::getOrCreate(); $permissionMap = array('canRead' => array(PermissionKey::getByHandle('view_file_set_file')), 'canSearch' => array(PermissionKey::getByHandle('search_file_set')), 'canWrite' => array(PermissionKey::getByHandle('edit_file_set_file_properties'), PermissionKey::getByHandle('edit_file_set_file_contents'), PermissionKey::getByHandle('copy_file_set_files'), PermissionKey::getByHandle('delete_file_set_files')), 'canAdmin' => array(PermissionKey::getByHandle('edit_file_set_permissions'), PermissionKey::getByHandle('delete_file_set'))); $r = $db->Execute('select * from FileSetPermissions order by fsID asc'); while ($row = $r->FetchRow()) { $pe = $this->migrateAccessEntity($row); if (!$pe) { continue; } if ($row['fsID'] > 0) { $fs = FileSet::getByID($row['fsID']); } else { $fs = FileSet::getGlobal(); } $permissions = $this->getFileSetPermissionsArray($row); if (is_object($fs)) { foreach ($permissions as $p => $accessType) { if ($accessType == self::ACCESS_TYPE_MINE) { $_pe = $fpe; } else { $_pe = $pe; } $permissionsToApply = $permissionMap[$p]; foreach ($permissionsToApply as $pko) { $pko->setPermissionObject($fs); $pt = $pko->getPermissionAssignmentObject(); $pa = $pko->getPermissionAccessObject(); if (!is_object($pa)) { $pa = PermissionAccess::create($pko); } else { if ($pa->isPermissionAccessInUse()) { $pa = $pa->duplicate(); } } $pa->addListItem($_pe, false, FileSetPermissionKey::ACCESS_TYPE_INCLUDE); $pt->assignPermissionAccess($pa); } } } } }
?> <?php ob_start(); ?> <?php echo Loader::element('permission/help'); ?> <?php $help = ob_get_contents(); ?> <?php ob_end_clean(); ?> <?php $fs = FileSet::getGlobal(); ?> <form method="post" action="<?php echo $view->action('save'); ?> " id="ccm-permission-list-form"> <?php echo Loader::helper('validation/token')->output('save_permissions'); ?> <div class="ccm-pane-body"> <?php $tp = new TaskPermission(); if ($tp->canAccessTaskPermissions()) { ?>
static function getFilesetImages($fsID, $randomize = false) { Loader::model('file_set'); Loader::model('file_list'); $fs = FileSet::getByID($fsID); $fl = new FileList(); $fl->filterBySet($fs); $fl->filterByType(FileType::T_IMAGE); $fl->setPermissionLevel('canRead'); if ($randomize) { $fl->sortBy('RAND()', 'asc'); } else { $fl->sortByFileSetDisplayOrder(); //Requires 5.4.1 or higher: version_compare(APP_VERSION, '5.4.1', '>='); } $files = $fl->get(); return $files; }
echo $f->getFileID(); ?> " /> <? } ?> <? } ?> <div class="clear"></div> <div class="ccm-search-bar"> <?php echo $form->text('fsAddToSearchName', $searchRequest['fsSearchName'], array('autocomplete' => 'off')); ?> </div> <? $s1 = FileSet::getMySets(); ?> <? if (count($s1) > 0) { ?> <div class="clearfix"> <ul class="inputs-list"> <? foreach($sets as $s) { $displaySet = true; $pf = new Permissions($s); if (!$pf->canAddFiles()) { $displaySet = false; } else { foreach($extensions as $ext) { if (!$pf->canAddFileType($ext)) { $displaySet = false;
<?php defined('C5_EXECUTE') or die("Access Denied."); Loader::model('file_set'); $file_set = FileSet::createAndGetSet('Starred Files', FileSet::TYPE_STARRED); $f = File::getByID($_POST['file-id']); $fp = new Permissions($f); if (!$fp->canRead()) { die(_("Access Denied.")); } switch ($_POST['action']) { case 'star': $file_set->AddFileToSet($_POST['file-id']); break; case 'unstar': $file_set->RemoveFileFromSet($_POST['file-id']); break; default: throw new Exception('INVALID ACTION'); }