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/
15 # ---- PUBLIC INTERFACE --------------------------------------------------
23 # save field ID for our later use
24 $this->FieldId = $FieldId;
26 # set up item factory base class
27 $this->
ItemFactory(
"File",
"Files",
"FileId",
"FileName", FALSE,
28 ($FieldId ?
"FieldId = ".intval($FieldId) : NULL));
40 # start out assuming that no files will be found
41 $ReturnValue = array();
43 # sanitize resource ID or grab it from object
44 $ResourceOrResourceId = is_object($ResourceOrResourceId)
45 ? $ResourceOrResourceId->Id() : intval($ResourceOrResourceId);
47 # retrieve names and IDs of files associated with resource
49 "SELECT FileId, FileName FROM Files"
50 .
" WHERE ResourceId = ".$ResourceOrResourceId
52 .($this->FieldId ?
"=".$this->FieldId :
">0"));
53 $FileNames = $this->DB->FetchColumn(
"FileName",
"FileId");
56 if (count($FileNames))
58 # if caller asked us to return objects
62 foreach ($FileNames as $FileId => $FileName)
64 # create file object and add it to array
65 $ReturnValue[$FileId] =
new File($FileId);
70 # return array of file names with IDs as index
71 $ReturnValue = $FileNames;
75 # return resulting array of files or file names to caller
86 return new File($FileToCopy->GetNameOfStoredFile(),
87 $FileToCopy->ResourceId(),
88 $FileToCopy->FieldId(),
93 # ---- 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.
ItemFactory($ItemClassName, $ItemTableName, $ItemIdFieldName, $ItemNameFieldName=NULL, $OrderOpsAllowed=FALSE, $SqlCondition=NULL)
Class constructor.