function cloudaddons_http_build_query($formdata, $numeric_prefix = null, $key = null) { $res = array(); foreach ((array) $formdata as $k => $v) { $tmp_key = urlencode(is_int($k) ? $numeric_prefix . $k : $k); if ($key) { $tmp_key = $key . '[' . $tmp_key . ']'; } if (is_array($v) || is_object($v)) { $res[] = cloudaddons_http_build_query($v, null, $tmp_key); } else { $res[] = $tmp_key . '=' . urlencode($v); } } return implode('&', $res); }
} elseif ($array['Status'] == 'Error') { dir_clear($tmpdir); @unlink($md5tmp); cloudaddons_faillog($_GET['rid'], $array['ErrorCode']); cpmsg('cloudaddons_install_error', '', 'error', array('ErrorCode' => $array['ErrorCode'])); } else { foreach ($md5s as $file => $md5) { if ($md5 != md5_file($file)) { dir_clear($tmpdir); @unlink($md5tmp); cloudaddons_faillog($_GET['rid'], 102); cpmsg('cloudaddons_download_error', '', 'error', array('ErrorCode' => 102)); } } @unlink($md5tmp); $end = rawurlencode(cloudaddons_http_build_query($array)); } if (!$end) { $packnum++; cpmsg('cloudaddons_downloading', "action=cloudaddons&operation=download&addonids={$_GET['addonids']}&i={$addoni}&step=1&md5hash=" . $_GET['md5hash'] . '×tamp=' . $_GET['timestamp'] . '&num=' . $packnum, 'loading', array('addonid' => $_GET['key'] . '.' . $_GET['type']), '<div>' . $percent . '%</div>', FALSE); } else { if ($md5total !== '' && md5($md5total) !== cloudaddons_md5($_GET['key'] . '_' . $_GET['rid'])) { dir_clear($tmpdir); @unlink($md5tmp); cloudaddons_faillog($_GET['rid'], 105); cpmsg('cloudaddons_download_error', '', 'error', array('ErrorCode' => 105)); } cpmsg('cloudaddons_installing', "action=cloudaddons&operation=download&addonids={$_GET['addonids']}&i={$addoni}&end={$end}&step=2&md5hash=" . $_GET['md5hash'] . '×tamp=' . $_GET['timestamp'], 'loading', array('addonid' => $_GET['key'] . '.' . $_GET['type']), FALSE); } } elseif ($step == 2) { $tmpdir = 'saekv://data/download/' . $_GET['rid'];