Пример #1
0
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'] . '&timestamp=' . $_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'] . '&timestamp=' . $_GET['timestamp'], 'loading', array('addonid' => $_GET['key'] . '.' . $_GET['type']), FALSE);
     }
 } elseif ($step == 2) {
     $tmpdir = 'saekv://data/download/' . $_GET['rid'];