|
|
|
|
@ -190,19 +190,19 @@ class NetBiblio extends WebService
|
|
|
|
|
public function GetWishes()
|
|
|
|
|
{
|
|
|
|
|
$books = $this->getUser()->getWishes();
|
|
|
|
|
return array_values(array_map(array($this, 'AddFiles'), $books));
|
|
|
|
|
return array_values($this->AddFiles($books));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function GetCirculations()
|
|
|
|
|
{
|
|
|
|
|
$circulations = $this->getUser()->getCirculations();
|
|
|
|
|
return array_values(array_map(array($this, 'AddFiles'), $circulations));
|
|
|
|
|
return array_values($this->AddFiles($circulations));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function GetOldCirculations()
|
|
|
|
|
{
|
|
|
|
|
$circulations = $this->getUser()->getOldCirculations();
|
|
|
|
|
return array_values(array_map(array($this, 'AddFiles'), $circulations));
|
|
|
|
|
return array_values($this->AddFiles($circulations));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function AddWish($bookNr)
|
|
|
|
|
@ -222,7 +222,7 @@ class NetBiblio extends WebService
|
|
|
|
|
$codes = json_decode($codes, true);
|
|
|
|
|
$codes = array_map('intval', $codes);
|
|
|
|
|
$books = AudioBook::findBy('NoticeNr', $codes, true);
|
|
|
|
|
return array_values(array_map(array($this, 'AddFiles'), $books));
|
|
|
|
|
return array_values($this->AddFiles($books));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private function GetFiles(array $ids)
|
|
|
|
|
@ -247,16 +247,24 @@ class NetBiblio extends WebService
|
|
|
|
|
return json_decode($json, true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private function AddFiles(array $book)
|
|
|
|
|
private function AddFiles(array $books)
|
|
|
|
|
{
|
|
|
|
|
$files = $this->GetFiles(array($book['code']));
|
|
|
|
|
if(isset($books['code'])) {
|
|
|
|
|
$result = $this->AddFiles(array($books));
|
|
|
|
|
return reset($result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_array($files) && isset($files[$book['code']])) {
|
|
|
|
|
$book['files'] = $files[$book['code']];
|
|
|
|
|
} else {
|
|
|
|
|
$book['files'] = array();
|
|
|
|
|
$ids = array_map(function($b) { return $b['code']; }, $books);
|
|
|
|
|
$files = $this->GetFiles($ids);
|
|
|
|
|
foreach($books as $k => $b) {
|
|
|
|
|
if(isset($files[$b['code']])) {
|
|
|
|
|
$books[$k]['files'] = $files[$b['code']];
|
|
|
|
|
} else {
|
|
|
|
|
// we need to have an empty array for mobile apps compatibility.
|
|
|
|
|
$books[$k]['files'] = array();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $book;
|
|
|
|
|
return $books;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function FindBook($code)
|
|
|
|
|
@ -283,7 +291,7 @@ class NetBiblio extends WebService
|
|
|
|
|
$ids = Connection::execute($sql)->to_array();
|
|
|
|
|
$ids = array_map(function($a) { return $a['NoticeId']; }, $ids);
|
|
|
|
|
$books = AudioBook::findBy('NoticeId', $ids, true);
|
|
|
|
|
return array_values(array_map(array($this, 'AddFiles'), $books));
|
|
|
|
|
return array_values($this->AddFiles($books));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function Search($query, $start, $limit)
|
|
|
|
|
@ -376,8 +384,10 @@ class NetBiblio extends WebService
|
|
|
|
|
'facets' => $results['facet_counts']['facet_fields'],
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
foreach ($results['response']['docs'] as $doc) {
|
|
|
|
|
$data[] = $this->AddFiles((array) $doc);
|
|
|
|
|
if($results['response']['docs']) {
|
|
|
|
|
$books = array_map(function($o) { return (array) $o; }, $results['response']['docs']);
|
|
|
|
|
$books = $this->AddFiles($books);
|
|
|
|
|
$data = array_merge($data, $books);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $data;
|
|
|
|
|
@ -431,7 +441,7 @@ class NetBiblio extends WebService
|
|
|
|
|
|
|
|
|
|
$ids = array_map(function($r) { return $r['id']; }, $results['response']['docs']);
|
|
|
|
|
$books = AudioBook::findBy('NoticeID', $ids, true);
|
|
|
|
|
$books = array_map(array($this, 'AddFiles'), $books);
|
|
|
|
|
$books = $this->AddFiles($books);
|
|
|
|
|
|
|
|
|
|
$data = array();
|
|
|
|
|
foreach($books as $b) {
|
|
|
|
|
|