3 # FILE: FileFactory.php 5 # Part of the Collection Workflow Integration System (CWIS) 6 # Copyright 2007-2013 Edward Almasy and Internet Scout Research Group 7 # http://scout.wisc.edu/cwis/ 16 # ---- PUBLIC INTERFACE -------------------------------------------------- 24 # save field ID for our later use 25 $this->FieldId = $FieldId;
27 # set up item factory base class 28 parent::__construct(
"File",
"Files",
"FileId",
"FileName", FALSE,
29 ($FieldId ?
"FieldId = ".intval($FieldId) : NULL));
41 # start out assuming that no files will be found 42 $ReturnValue = array();
44 # sanitize resource ID or grab it from object 45 $ResourceOrResourceId = is_object($ResourceOrResourceId)
46 ? $ResourceOrResourceId->Id() : intval($ResourceOrResourceId);
48 # retrieve names and IDs of files associated with resource 50 "SELECT FileId, FileName FROM Files" 51 .
" WHERE ResourceId = ".$ResourceOrResourceId
53 .($this->FieldId ?
"=".$this->FieldId :
">0"));
54 $FileNames = $this->DB->FetchColumn(
"FileName",
"FileId");
57 if (count($FileNames))
59 # if caller asked us to return objects 63 foreach ($FileNames as $FileId => $FileName)
65 # create file object and add it to array 66 $ReturnValue[$FileId] =
new File($FileId);
71 # return array of file names with IDs as index 72 $ReturnValue = $FileNames;
76 # return resulting array of files or file names to caller 85 public function Copy($FileToCopy)
87 return $FileToCopy->CreateCopy();
91 # ---- PRIVATE INTERFACE ------------------------------------------------- GetFilesForResource($ResourceOrResourceId, $ReturnObjects=TRUE)
Retrieve all files (names or objects) for specified resource.
__construct($FieldId=NULL)
Object constructor.
Copy($FileToCopy)
Create copy of File and return to caller.
Factory for manipulating File objects.
Common factory class for item manipulation.
Class representing a stored (usually uploaded) file.