Example #1
0
 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');
 }
Example #2
0
 public function getNext()
 {
     $file = array_shift($this->_ids);
     if ($file === null) {
         return null;
     }
     $this->_set->loadById($file);
     return $this->_set;
 }
Example #3
0
 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));
 }
Example #4
0
	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);
         }
     });
 }
Example #7
0
 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);
 }
Example #9
0
 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()));
 }
Example #11
0
 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());
 }
Example #12
0
	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;
	
	}
Example #13
0
	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)');
		}
	}
Example #14
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;
 }
Example #16
0
 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']);
Example #18
0
	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');
	}
Example #19
0
 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;
 }
Example #20
0
 function LimitedFileSet($dirname, $_include, $exclude)
 {
     $this->_includefiles = $_include;
     $this->_exclude = $exclude;
     $this->_skiplist = array();
     parent::FileSet($dirname);
 }
Example #21
0
 /**
  * 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'));
 }
Example #23
0
 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;
     }
 }
Example #24
0
<?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">
    
Example #25
0
 /**
  * A file to be attribed.
  * @param PhingFile $src a file
  */
 public function setFile(PhingFile $src)
 {
     $fs = new FileSet();
     $fs->setFile($src);
     $this->addFileSet($fs);
 }
Example #26
0
 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);
                 }
             }
         }
     }
 }
Example #27
0
?>

	<?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()) {
    ?>
	
Example #28
0
 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;
 }
Example #29
0
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;
Example #30
0
<?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');
}