summaryrefslogtreecommitdiffstats
path: root/application/controllers
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2022-04-10 14:37:45 +0200
committerFlorian Pritz <bluewind@xinu.at>2022-04-10 14:44:35 +0200
commit07bdcad02a01a8451b13ccda18ac5960e008f9d9 (patch)
treedd23c86b2ef18bd335ae80af37cf1957d2dca0fd /application/controllers
parent7dd87f5bccda650f5d69e521f1cc9d33e2994b75 (diff)
fix(multipaste): Handle missing items in multipaste queue
This fixes an exception if the multipaste queue contains an item that does not exist any more, e.g. because it has been deleted after it was added to the queue. `Exception 1/1 'ErrorException' with message 'Trying to access array offset on value of type bool' in /srv/http/filebin/application/controllers/file/Multipaste.php:103` Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application/controllers')
-rw-r--r--application/controllers/file/Multipaste.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/application/controllers/file/Multipaste.php b/application/controllers/file/Multipaste.php
index cc8ab8819..bc042e2f3 100644
--- a/application/controllers/file/Multipaste.php
+++ b/application/controllers/file/Multipaste.php
@@ -46,6 +46,7 @@ class Multipaste extends MY_Controller {
$this->data['ids'] = $ids;
$this->data['items'] = array_map(function($id) {return $this->_get_multipaste_item($id);}, $ids);
+ $this->data['items'] = array_filter($this->data['items'], function($item) {return $item !== false;});
$this->load->view('header', $this->data);
$this->load->view('file/multipaste/queue', $this->data);
@@ -99,6 +100,10 @@ class Multipaste extends MY_Controller {
private function _get_multipaste_item($id) {
$filedata = $this->mfile->get_filedata($id);
+ if ($filedata === false) {
+ return false;
+ }
+
$item = [];
$item['id'] = $filedata['id'];
$item['tooltip'] = \service\files::tooltip($filedata);