Open Journal Systems  3.3.0
IssueFileDAO.inc.php
1 <?php
2 
17 import('lib.pkp.classes.db.DAO');
18 import('classes.issue.IssueFile');
19 
20 class IssueFileDAO extends DAO {
21 
23  var $_inlineableTypes = null;
24 
25 
30  function getInlineableTypes() {
32  }
33 
38  function setInlineableTypes($inlineableTypes) {
39  $this->_inlineableTypes = $inlineableTypes;
40  }
41 
48  function getById($fileId, $issueId = null) {
49  $params = array((int) $fileId);
50  if ($issueId) $params[] = (int) $issueId;
51  $result = $this->retrieve(
52  'SELECT f.*
53  FROM issue_files f
54  WHERE f.file_id = ?
55  ' . ($issueId?' AND f.issue_id = ?':''),
56  $params
57  );
58  $returner = null;
59  if (isset($result) && $result->RecordCount() != 0) {
60  $returner = $this->_fromRow($result->GetRowAssoc(false));
61  }
62  $result->Close();
63  return $returner;
64  }
65 
70  function newDataObject() {
71  return new IssueFile();
72  }
73 
79  function _fromRow($row) {
80  $issueFile = $this->newDataObject();
81  $issueFile->setId($row['file_id']);
82  $issueFile->setIssueId($row['issue_id']);
83  $issueFile->setServerFileName($row['file_name']);
84  $issueFile->setFileType($row['file_type']);
85  $issueFile->setFileSize($row['file_size']);
86  $issueFile->setContentType($row['content_type']);
87  $issueFile->setOriginalFileName($row['original_file_name']);
88  $issueFile->setDateUploaded($this->datetimeFromDB($row['date_uploaded']));
89  $issueFile->setDateModified($this->datetimeFromDB($row['date_modified']));
90  HookRegistry::call('IssueFileDAO::_returnIssueFileFromRow', array(&$issueFile, &$row));
91  return $issueFile;
92  }
93 
99  function insertObject($issueFile) {
100  $this->update(
101  sprintf(
102  'INSERT INTO issue_files
103  (issue_id,
104  file_name,
105  file_type,
106  file_size,
107  content_type,
108  original_file_name,
109  date_uploaded,
110  date_modified)
111  VALUES
112  (?, ?, ?, ?, ?, ?, %s, %s)',
113  $this->datetimeToDB($issueFile->getDateUploaded()),
114  $this->datetimeToDB($issueFile->getDateModified())
115  ),
116  array(
117  (int) $issueFile->getIssueId(),
118  $issueFile->getServerFileName(),
119  $issueFile->getFileType(),
120  $issueFile->getFileSize(),
121  $issueFile->getContentType(),
122  $issueFile->getOriginalFileName()
123  )
124  );
125 
126  $issueFile->setId($this->getInsertId());
127  return $issueFile->getId();
128  }
129 
134  function updateObject($issueFile) {
135  $this->update(
136  sprintf('UPDATE issue_files
137  SET
138  issue_id = ?,
139  file_name = ?,
140  file_type = ?,
141  file_size = ?,
142  content_type = ?,
143  original_file_name = ?,
144  date_uploaded = %s,
145  date_modified = %s
146  WHERE file_id = ?',
147  $this->datetimeToDB($issueFile->getDateUploaded()),
148  $this->datetimeToDB($issueFile->getDateModified())
149  ),
150  array(
151  (int) $issueFile->getIssueId(),
152  $issueFile->getServerFileName(),
153  $issueFile->getFileType(),
154  $issueFile->getFileSize(),
155  $issueFile->getContentType(),
156  $issueFile->getOriginalFileName(),
157  (int) $issueFile->getId()
158  )
159  );
160 
161  return $issueFile->getId();
162 
163  }
164 
169  function deleteObject($issueFile) {
170  $this->deleteById($issueFile->getId());
171  }
172 
177  function deleteById($fileId) {
178  $this->update(
179  'DELETE FROM issue_files WHERE file_id = ?', (int) $fileId
180  );
181  }
182 
187  function deleteByIssueId($issueId) {
188  $this->update(
189  'DELETE FROM issue_files WHERE issue_id = ?', (int) $issueId
190  );
191  }
192 
197  function getInsertId() {
198  return $this->_getInsertId('issue_files', 'file_id');
199  }
200 }
201 
202 
IssueFileDAO\insertObject
insertObject($issueFile)
Definition: IssueFileDAO.inc.php:102
DAO\retrieve
& retrieve($sql, $params=false, $callHooks=true)
Definition: DAO.inc.php:85
IssueFileDAO\newDataObject
newDataObject()
Definition: IssueFileDAO.inc.php:73
IssueFileDAO\deleteObject
deleteObject($issueFile)
Definition: IssueFileDAO.inc.php:172
IssueFileDAO\getInlineableTypes
getInlineableTypes()
Definition: IssueFileDAO.inc.php:33
DAO\datetimeFromDB
datetimeFromDB($dt)
Definition: DAO.inc.php:319
IssueFileDAO\deleteById
deleteById($fileId)
Definition: IssueFileDAO.inc.php:180
DAO\update
update($sql, $params=false, $callHooks=true, $dieOnError=true)
Definition: DAO.inc.php:214
IssueFileDAO\getById
getById($fileId, $issueId=null)
Definition: IssueFileDAO.inc.php:51
DAO\datetimeToDB
datetimeToDB($dt)
Definition: DAO.inc.php:299
DAO\_getInsertId
_getInsertId($table='', $id='')
Definition: DAO.inc.php:255
IssueFileDAO
Operations for retrieving and modifying IssueFile objects.
Definition: IssueFileDAO.inc.php:20
IssueFileDAO\_fromRow
_fromRow($row)
Definition: IssueFileDAO.inc.php:82
IssueFile
Issue file class.
Definition: IssueFile.inc.php:22
IssueFileDAO\setInlineableTypes
setInlineableTypes($inlineableTypes)
Definition: IssueFileDAO.inc.php:41
IssueFileDAO\deleteByIssueId
deleteByIssueId($issueId)
Definition: IssueFileDAO.inc.php:190
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
IssueFileDAO\$_inlineableTypes
$_inlineableTypes
Definition: IssueFileDAO.inc.php:26
IssueFileDAO\updateObject
updateObject($issueFile)
Definition: IssueFileDAO.inc.php:137
DAO
Operations for retrieving and modifying objects from a database.
Definition: DAO.inc.php:31
IssueFileDAO\getInsertId
getInsertId()
Definition: IssueFileDAO.inc.php:200