private static function socketGet($v7b4064db05ca12487032b3f21ae7b1dc, $ve62b9ecbd883c26642197a7dc8246d3c, $vbc7d420606e2e2ab63b4a2528a7bbadf = false, $vb6a628dce68ec509d970a41cc780b9f9 = false) { if (!function_exists('socket_create')) { throw new umiRemoteFileGetterException('Sockets not supported'); } $result = ''; $vac9c1876b892b814d6c24e7a85a09f85 = parse_url($v7b4064db05ca12487032b3f21ae7b1dc); $v901555fb06e346cb065ceb9808dcfc25 = isset($vac9c1876b892b814d6c24e7a85a09f85['port']) ? $vac9c1876b892b814d6c24e7a85a09f85['port'] : getservbyname('www', 'tcp'); $v884d9804999fc47a3c2694e49ad2536a = gethostbyname($vac9c1876b892b814d6c24e7a85a09f85['host']); $v61f2529360aec54f5dc9804b842cf3fa = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (socket_connect($v61f2529360aec54f5dc9804b842cf3fa, $v884d9804999fc47a3c2694e49ad2536a, $v901555fb06e346cb065ceb9808dcfc25)) { if ($ve62b9ecbd883c26642197a7dc8246d3c !== false) { $v0666f0acdeed38d4cd9084ade1739498 = fopen($ve62b9ecbd883c26642197a7dc8246d3c, 'w'); } $v0546e8b62aa5fd8bf2522c04ae878d90 = !empty($vb6a628dce68ec509d970a41cc780b9f9) ? http_build_query($vb6a628dce68ec509d970a41cc780b9f9, '', '&') : null; $v618699e56323a66d68ff3231ae0f9a6b = (empty($vb6a628dce68ec509d970a41cc780b9f9) ? "GET " : "POST ") . $vac9c1876b892b814d6c24e7a85a09f85['path'] . " HTTP/1.1\r\n" . "Host: " . $vac9c1876b892b814d6c24e7a85a09f85['host'] . "\r\n" . "User-Agent: umiRemoteFileGetter v1.0\r\n" . (empty($vb6a628dce68ec509d970a41cc780b9f9) ? "" : "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: " . bytes_strlen($v0546e8b62aa5fd8bf2522c04ae878d90) . "\r\n") . self::buildHeaderString($vbc7d420606e2e2ab63b4a2528a7bbadf) . "Connection: close\r\n\r\n" . $v0546e8b62aa5fd8bf2522c04ae878d90; if (socket_send($v61f2529360aec54f5dc9804b842cf3fa, $v618699e56323a66d68ff3231ae0f9a6b, strlen($v618699e56323a66d68ff3231ae0f9a6b), 0) < 0) { throw new umiRemoteFileGetterException('Request send failed'); } $v7f2db423a49b305459147332fb01cf87 = ''; $v3c8759eb5f0fe45f9ea243dddbce2a67 = false; do { $vd871906e18d7e876e6494103da4beebd = socket_recv($v61f2529360aec54f5dc9804b842cf3fa, $v7f2db423a49b305459147332fb01cf87, umiRemoteFileGetter::READ_PIECE_SIZE, 0); if (!$v3c8759eb5f0fe45f9ea243dddbce2a67) { $v4340fd73e75df7a9d9e45902a59ba3a4 = substr($v7f2db423a49b305459147332fb01cf87, 0, strpos($v7f2db423a49b305459147332fb01cf87, "\r\n\r\n")); $v7f2db423a49b305459147332fb01cf87 = substr($v7f2db423a49b305459147332fb01cf87, strpos($v7f2db423a49b305459147332fb01cf87, "\r\n\r\n") + 4); $vd871906e18d7e876e6494103da4beebd = $vd871906e18d7e876e6494103da4beebd - bytes_strlen($v4340fd73e75df7a9d9e45902a59ba3a4) - 4; $v3c8759eb5f0fe45f9ea243dddbce2a67 = true; $v4340fd73e75df7a9d9e45902a59ba3a4 = explode("\r\n", $v4340fd73e75df7a9d9e45902a59ba3a4); $v9acb44549b41563697bb490144ec6258 = explode(" ", $v4340fd73e75df7a9d9e45902a59ba3a4[0]); if ($v9acb44549b41563697bb490144ec6258[1] != '200') { throw new umiRemoteFileGetterException('Remote file does not exists'); } } if ($ve62b9ecbd883c26642197a7dc8246d3c === false) { $result .= $v7f2db423a49b305459147332fb01cf87; } else { fwrite($v0666f0acdeed38d4cd9084ade1739498, $v7f2db423a49b305459147332fb01cf87, $vd871906e18d7e876e6494103da4beebd); } } while ($vd871906e18d7e876e6494103da4beebd != 0); if ($ve62b9ecbd883c26642197a7dc8246d3c !== false) { fclose($v0666f0acdeed38d4cd9084ade1739498); } } else { throw new umiRemoteFileGetterException('Cant connect to remote host'); } socket_close($v61f2529360aec54f5dc9804b842cf3fa); if ($ve62b9ecbd883c26642197a7dc8246d3c === false) { return $result; } else { return new umiFile($ve62b9ecbd883c26642197a7dc8246d3c); } }
protected function setData($v8d777f385d3dfec8815d20f7496026dc) { if (!$v8d777f385d3dfec8815d20f7496026dc) { return false; } $this->data = $v8d777f385d3dfec8815d20f7496026dc; $this->length = bytes_strlen($v8d777f385d3dfec8815d20f7496026dc); return true; }