From e4f688fcfdbe997dae4777d7280559c3e9f50dca Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Tue, 26 Apr 2016 02:57:14 +0200 Subject: [PATCH] naughty extlib fix (PHP7) The explode function didn't return empty elements (which split did) --- plugins/Xmpp/extlib/XMPPHP/Roster.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/Xmpp/extlib/XMPPHP/Roster.php b/plugins/Xmpp/extlib/XMPPHP/Roster.php index 69457b22a1..500ff6dcc1 100644 --- a/plugins/Xmpp/extlib/XMPPHP/Roster.php +++ b/plugins/Xmpp/extlib/XMPPHP/Roster.php @@ -118,12 +118,13 @@ class Roster { * @param string $status */ public function setPresence($presence, $priority, $show, $status) { - list($jid, $resource) = explode("/", $presence); + $parts = explode('/', $presence); + $jid = $parts[0]; + $resource = isset($parts[1]) ? $parts[1] : ''; // apparently we can do '' as an associative array index if ($show != 'unavailable') { if (!$this->isContact($jid)) { $this->addContact($jid, 'not-in-roster'); } - $resource = $resource ? $resource : ''; $this->roster_array[$jid]['presence'][$resource] = array('priority' => $priority, 'show' => $show, 'status' => $status); } else { //Nuke unavailable resources to save memory unset($this->roster_array[$jid]['resource'][$resource]);