public function runePages($identities) { $ids = $this->extractIds($identities); $ids = implode(',', $ids); $array = $this->request('summoner/' . $ids . '/runes'); $summoners = []; foreach ($array as $summonerId => $data) { $runePages = []; foreach ($data['pages'] as $info) { if (!isset($info['slots'])) { // no runes in this page $info['slots'] = []; } $slots = $info['slots']; unset($info['slots']); $runePage = $this->attachStaticDataToDto(new RunePage($info)); // set runes $runes = []; foreach ($slots as $slot) { $id = $slot['runeSlotId']; $rune = $this->attachStaticDataToDto(new Rune($slot)); $runes[$id] = $rune; } $runePage->runes = $runes; $runePages[] = $runePage; } $summoners[$summonerId] = $runePages; } $this->attachResponses($identities, $summoners, 'runePages'); if (is_array($identities)) { return $summoners; } else { return reset($summoners); } }