[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
plugins
/
generic
/
driver
/
[
Home
]
File: DRIVERDAO.php
<?php /** * @file plugins/generic/driver/DRIVERDAO.php * * Copyright (c) 2014-2022 Simon Fraser University * Copyright (c) 2003-2022 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class DRIVERDAO * * @brief DAO operations for DRIVER. */ namespace APP\plugins\generic\driver; use APP\oai\ojs\JournalOAI; use APP\oai\ojs\OAIDAO; class DRIVERDAO extends OAIDAO { /** * Set parent OAI object. * * @param JournalOAI $oai */ public function setOAI($oai) { $this->oai = $oai; } // // Records // /** * Return set of OAI records matching specified parameters. * * @param array $setIds Objects ids that specify an OAI set, in this case only journal ID. * @param int $from timestamp * @param int $until timestamp * @param int $offset * @param int $limit * @param int $total * @param string $funcName * * @return array OAIRecord */ public function &getDRIVERRecordsOrIdentifiers($setIds, $from, $until, $offset, $limit, &$total, $funcName) { $records = []; $result = new \ArrayIterator($this->_getRecordsRecordSetQuery($setIds, $from, $until, null)->get()); $total = 0; for ($i = 0; $i < $offset; $i++) { if ($result->next()) { $total++; } // FIXME: This is inefficient } for ($count = 0; $count < $limit && $result->current(); $count++ && $total++) { $row = (array) $result->current(); $record = $this->_returnRecordFromRow($row); if (in_array('driver', $record->sets)) { $records[] = $record; } $result->next(); } return $records; } }