setCookie(SetCookie::fromString($cookie)); $client = new Client(['cookies' => $cookieJar]); } try { $response = $client->get($url)->getBody()->getContents(); } catch (RequestException $e) { if ($e->hasResponse()) { if ($e->getCode() === 404) { ColorCLI::doEcho(ColorCLI::notice('Data not available on server')); } elseif ($e->getCode() === 503) { ColorCLI::doEcho(ColorCLI::notice('Service unavailable')); } else { ColorCLI::doEcho(ColorCLI::notice('Unable to fetch data from server, http error reported: '.$e->getCode())); } } } catch (\RuntimeException $e) { ColorCLI::doEcho(ColorCLI::notice('Runtime error: '.$e->getCode())); } return $response; } } if (! function_exists('makeFieldLinks')) { /** * @param $data * @param $field * @param $type * @return string */ function makeFieldLinks($data, $field, $type) { $tmpArr = explode(', ', $data[$field]); $newArr = []; $i = 0; foreach ($tmpArr as $ta) { if (trim($ta) === '') { continue; } if ($type === 'xxx' && $field === 'genre') { $ta = (new XXX())->getGenres(true, $ta); $ta = $ta['title']; } if ($i > 7) { break; } $newArr[] = ''.$ta.''; $i++; } return implode(', ', $newArr); } if (! function_exists('getUserBrowseOrder')) { /** * @param string $orderBy * * @return array */ function getUserBrowseOrder($orderBy): array { $order = ($orderBy === '' ? 'username_desc' : $orderBy); $orderArr = explode('_', $order); switch ($orderArr[0]) { case 'username': $orderField = 'username'; break; case 'email': $orderField = 'email'; break; case 'host': $orderField = 'host'; break; case 'createdat': $orderField = 'created_at'; break; case 'lastlogin': $orderField = 'lastlogin'; break; case 'apiaccess': $orderField = 'apiaccess'; break; case 'apirequests': $orderField = 'apirequests'; break; case 'grabs': $orderField = 'grabs'; break; case 'user_roles_id': $orderField = 'users_role_id'; break; case 'rolechangedate': $orderField = 'rolechangedate'; break; default: $orderField = 'username'; break; } $orderSort = (isset($orderArr[1]) && preg_match('/^asc|desc$/i', $orderArr[1])) ? $orderArr[1] : 'desc'; return [$orderField, $orderSort]; } } if (! function_exists('getUserBrowseOrdering')) { /** * @return array */ function getUserBrowseOrdering(): array { return [ 'username_asc', 'username_desc', 'email_asc', 'email_desc', 'host_asc', 'host_desc', 'createdat_asc', 'createdat_desc', 'lastlogin_asc', 'lastlogin_desc', 'apiaccess_asc', 'apiaccess_desc', 'apirequests_asc', 'apirequests_desc', 'grabs_asc', 'grabs_desc', 'role_asc', 'role_desc', 'rolechangedate_asc', 'rolechangedate_desc' ]; } } }