示例#1
0
function md5_change_go()
{
    global $list, $PHP_SELF;
    if (isset($_POST['yes'])) {
        foreach ($_POST['files'] as $k => $v) {
            $name = $list[$v]['name'];
            $html_name = htmlentities(basename($name));
            if (file_exists($name)) {
                if (@write_file($name, chr(0), 0)) {
                    clearstatcache();
                    printf(lang(381), $html_name);
                    unset($list[$v]);
                    $time = filemtime($name);
                    while (isset($list[$time])) {
                        $time++;
                    }
                    $list[$time] = array('name' => $name, "size" => bytesToKbOrMbOrGb(filesize($name)), "date" => $time);
                } else {
                    printf(lang(382), $html_name);
                }
            } else {
                printf(lang(145), $html_name);
            }
            echo '<br />';
        }
        if (!updateListInFile($list)) {
            echo lang(146) . "<br /><br />";
        }
    } else {
        echo '<script type="text/javascript">location.href="' . $PHP_SELF . '?act=files";</script>';
    }
}
示例#2
0
function check($link, $x, $regex, $szpatern = '', $pattern = '', $replace = '')
{
    global $isDEBUG;
    if (!empty($pattern)) {
        $link = preg_replace($pattern, $replace, $link);
    }
    $page = curl($link);
    // treat for rapidshare
    if (preg_match("/https?:\\/\\/rapidshare\\.com\\/(?:(?:files\\/(\\d+))|(?:\\W{2}download\\|[^\\|]+.(\\d+)\\|([^\\|]+)))/", $link, $match)) {
        $files = $match[1] ? $match[1] : $match[2];
        $filename = isset($match[3]) ? $match[3] : preg_replace("/\\.html\$/", "", basename($link));
        $plink = "http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles&files=" . $files . "&filenames=" . $filename . "&cbid=0";
        $page = curl($plink);
        if (preg_match("/^(\\d+),([^,]+),([^,]+),/", $page, $match)) {
            $parts = explode(",", $page);
            $fsize = array(0, 0);
            $fsize[1] = bytesToKbOrMbOrGb($parts[2]);
        }
        $page = "";
    } elseif (!empty($szpatern)) {
        // already containing / and /
        preg_match("{$szpatern}", $page, $fsize);
        if (!$fsize) {
            $fsize = '';
        }
    }
    if ($isDEBUG) {
        echo htmlentities($link . "\n" . $plink . "\n" . $page . "\n");
        exit;
    }
    $link = htmlentities($link, ENT_QUOTES);
    flush();
    ob_flush();
    $picEror = "<img width='13' alt='error link' src='" . STATIC_DIR . "images/chk_error.png'>";
    $picGood = "<img width='13' alt='good link' src='" . STATIC_DIR . "images/chk_good.png'>";
    if ($_POST['d'] && preg_match("/{$regex}/i", $page)) {
        echo "<span class=\"g\">" . $picGood . "&nbsp;(" . trim($fsize[1]) . ")</span>\n";
    } elseif ($_POST['d'] && preg_match("/The file you are trying to access is temporarily unavailable./i", $page)) {
        echo "<span class=\"y\">{$picEror}</span>\n";
    } elseif ($_POST['d'] && !preg_match("/{$regex}/i", $page)) {
        echo "<span class=\"r\">{$picGood}&nbsp;(" . trim($fsize[1]) . ")</span>\n";
    } elseif (!$_POST['d'] && preg_match("/{$regex}/i", $page)) {
        echo "<span class=\"g\">{$picGood}&nbsp;(" . trim($fsize[1]) . ")</span>\n";
    } elseif (!$_POST['d'] && preg_match("/The file you are trying to access is temporarily unavailable./i", $page)) {
        echo "<span class=\"y\">{$picEror}</span>\n";
    } elseif (count($fsize) > 0) {
        echo "<span class=\"g\">" . $picGood . "&nbsp;(" . trim($fsize[1]) . ")</span>\n";
    } else {
        echo "<span class=\"r\">{$picEror}</span>\n";
    }
}
示例#3
0
</tr>
</tbody>
</table>
<br />
<table width="60%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<div align="center"></div>
<script type="text/javascript">
var show = 0;
var show2 = 0;
</script>
<div align="center">
<?php 
if ($options['file_size_limit'] > 0) {
    echo '<span style="color:#FFCC00">' . lang(337) . ' <b>' . bytesToKbOrMbOrGb($options['file_size_limit'] * 1024 * 1024) . '</b></span>';
}
?>
<br />

<?php 
$delete_delay = $options['delete_delay'];
if (is_numeric($delete_delay) && $delete_delay > 0) {
    if ($delete_delay > 3600) {
        $ddelay = round($delete_delay / 3600, 1);
        print '<span class="autodel">' . lang(282) . ': <b>' . $ddelay . '</b>&nbsp;' . lang(283) . '</span>';
    } else {
        $ddelay = round($delete_delay / 60);
        print '<span class="autodel">' . lang(282) . ': <b>' . $ddelay . '</b>&nbsp;' . lang(284) . '</span>';
    }
}
示例#4
0
function _create_list()
{
    global $list, $_COOKIE, $options;
    $glist = array();
    if ($options['show_all'] === true && (isset($_COOKIE['showAll']) && $_COOKIE['showAll'] == 1)) {
        $dir = dir(DOWNLOAD_DIR);
        while (false !== ($file = $dir->read())) {
            if (($tmp = file_data_size_time(DOWNLOAD_DIR . $file)) === false) {
                continue;
            }
            list($size, $time) = $tmp;
            if ($file != '.' && $file != '..' && (!is_array($options['forbidden_filetypes']) || !in_array(strtolower(strrchr($file, '.')), $options['forbidden_filetypes']))) {
                $file = DOWNLOAD_DIR . $file;
                while (isset($glist[$time])) {
                    $time++;
                }
                $glist[$time] = array('name' => realpath($file), 'size' => bytesToKbOrMbOrGb($size), 'date' => $time);
            }
        }
        $dir->close();
        @uasort($glist, '_cmp_list_enums');
    } else {
        if (@file_exists(CONFIG_DIR . 'files.lst') && ($glist = file(CONFIG_DIR . 'files.lst')) !== false) {
            foreach ($glist as $key => $record) {
                foreach (unserialize($record) as $field => $value) {
                    $listReformat[$key][$field] = $value;
                    if ($field == 'date') {
                        $date = $value;
                    }
                }
                $glist[$date] = $listReformat[$key];
                unset($glist[$key], $listReformat[$key]);
            }
        }
    }
    $list = $glist;
}
示例#5
0
function check(&$link, $x, $regex, $szregex = '', $pattern = '', $replace = '', $opt = array())
{
    if (!empty($pattern)) {
        $link = preg_replace($pattern, $replace, $link);
    }
    $cook = $ref = $bytes = $fixsize = $size = 0;
    $fol = $head = 1;
    if (!empty($opt)) {
        if (array_key_exists('bytes', $opt)) {
            $bytes = $opt['bytes'] ? 1 : 0;
        }
        if (array_key_exists('fixsize', $opt)) {
            $fixsize = $opt['fixsize'] ? 1 : 0;
            $fixsizeP = $fixsizeR = '';
            if ($fixsize && array_key_exists('fixsizeP', $opt)) {
                $fixsizeP = $opt['fixsizeP'];
                if (array_key_exists('fixsizeR', $opt)) {
                    $fixsizeR = $opt['fixsizeR'];
                }
            }
        }
        if (array_key_exists('cookie', $opt) && $opt['cookie'] != false) {
            $cookie = $opt['cookie'];
        }
        if (array_key_exists('follow', $opt)) {
            $fol = $opt['follow'];
        }
        if (array_key_exists('referer', $opt) && $opt['referer'] != false) {
            $ref = $opt['referer'];
        }
        if (array_key_exists('header', $opt)) {
            $head = $opt['header'] ? 1 : 0;
        }
    }
    $page = curl($link, 0, $cookie, $fol, $ref, $head);
    $link = htmlentities($link, ENT_QUOTES);
    if ($szregex !== true && preg_match('@' . $regex . '@i', $page) || $szregex === true && preg_match('@' . $regex . '@i', $page, $fz)) {
        if (!empty($fz) || !empty($szregex) && preg_match('@' . $szregex . '@i', $page, $fz)) {
            if (!array_key_exists('size', $fz)) {
                $fz['size'] = $fz[1];
            }
            if ($bytes) {
                $size = bytesToKbOrMbOrGb($fz['size']);
            } else {
                if ($fixsize) {
                    if (!array_key_exists('XB', $fz)) {
                        $fz['XB'] = $fz[2];
                    }
                    $fz['XB'] = str_replace(array('YTES', 'YTE'), '', strtoupper($fz['XB']));
                    if (!empty($fixsizeP)) {
                        $fz['size'] = str_replace($fixsizeP, $fixsizeR, $fz['size']);
                    }
                    $fz['size'] = str_replace(',', '.', $fz['size']);
                    switch ($fz['XB']) {
                        // KbOrMbOrGbToBytes :D
                        case 'GB':
                            $fz['size'] *= 1024;
                        case 'MB':
                            $fz['size'] *= 1024;
                        case 'KB':
                            $fz['size'] *= 1024;
                    }
                    $size = bytesToKbOrMbOrGb($fz['size']);
                } else {
                    if (!array_key_exists('XB', $fz)) {
                        $fz['XB'] = strtoupper($fz[2]);
                    }
                    $fz['size'] = str_replace(',', '.', $fz['size']);
                    $size = $fz['size'] . ' ' . $fz['XB'];
                }
            }
            $size = explode(' ', $size);
            $size[0] = round($size[0], 2);
            $size = implode(' ', $size);
        }
        $chk = showlink($link, $size);
    } elseif (empty($page) || preg_match('@class="bott_p_access2?"@i', $page)) {
        $chk = showlink($link, 0, 2);
    } else {
        $chk = showlink($link, 0, 0);
    }
    return array($chk, $size);
}
示例#6
0
function upfile($host, $port, $url, $referer, $cookie, $post, $file, $filename, $fieldname, $field2name = '', $proxy = 0, $pauth = 0, $upagent = 0, $scheme = 'http')
{
    global $nn, $lastError, $sleep_time, $sleep_count;
    if (empty($upagent)) {
        $upagent = 'Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.12';
    }
    $scheme .= '://';
    $bound = '--------' . md5(microtime());
    $saveToFile = 0;
    $postdata = '';
    if ($post) {
        foreach ($post as $key => $value) {
            $postdata .= '--' . $bound . $nn;
            $postdata .= "Content-Disposition: form-data; name=\"{$key}\"{$nn}{$nn}";
            $postdata .= $value . $nn;
        }
    }
    $fileSize = getSize($file);
    $fieldname = $fieldname ? $fieldname : file . md5($filename);
    if (!is_readable($file)) {
        $lastError = sprintf(lang(65), $file);
        return FALSE;
    }
    if ($field2name != '') {
        $postdata .= '--' . $bound . $nn;
        $postdata .= "Content-Disposition: form-data; name=\"{$field2name}\"; filename=\"\"{$nn}";
        $postdata .= "Content-Type: application/octet-stream{$nn}{$nn}";
    }
    $postdata .= '--' . $bound . $nn;
    $postdata .= "Content-Disposition: form-data; name=\"{$fieldname}\"; filename=\"{$filename}\"{$nn}";
    $postdata .= "Content-Type: application/octet-stream{$nn}{$nn}";
    $cookies = '';
    if (!empty($cookie)) {
        if (is_array($cookie)) {
            if (count($cookie) > 0) {
                $cookies = 'Cookie: ' . CookiesToStr($cookie) . $nn;
            }
        } else {
            $cookies = 'Cookie: ' . trim($cookie) . $nn;
        }
    }
    $referer = $referer ? "Referer: {$referer}{$nn}" : '';
    if ($scheme == 'https://') {
        $scheme = 'ssl://';
        $port = 443;
    }
    if ($proxy) {
        list($proxyHost, $proxyPort) = explode(':', $proxy, 2);
        $host = $host . ($port != 80 && ($scheme != 'ssl://' || $port != 443) ? ':' . $port : '');
        $url = $scheme . $host . $url;
    }
    if ($scheme != 'ssl://') {
        $scheme = '';
    }
    $http_auth = !empty($auth) ? "Authorization: Basic {$auth}{$nn}" : '';
    $proxyauth = !empty($pauth) ? "Proxy-Authorization: Basic {$pauth}{$nn}" : '';
    $zapros = 'POST ' . str_replace(' ', "%20", $url) . ' HTTP/1.0' . $nn . 'Host: ' . $host . $nn . $cookies . "Content-Type: multipart/form-data; boundary=" . $bound . $nn . "Content-Length: " . (strlen($postdata) + strlen($nn . "--" . $bound . "--" . $nn) + $fileSize) . $nn . "User-Agent: " . $upagent . $nn . "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" . $nn . "Accept-Language: en-en,en;q=0.5" . $nn . "Accept-Charset: utf-8,windows-1251;koi8-r;q=0.7,*;q=0.7" . $nn . "Connection: Close" . $nn . $http_auth . $proxyauth . $referer . $nn . $postdata;
    $errno = 0;
    $errstr = '';
    $posturl = (!empty($proxyHost) ? $scheme . $proxyHost : $scheme . $host) . ':' . (!empty($proxyPort) ? $proxyPort : $port);
    $fp = @stream_socket_client($posturl, $errno, $errstr, 120, STREAM_CLIENT_CONNECT);
    //$fp = @fsockopen ( $host, $port, $errno, $errstr, 150 );
    //stream_set_timeout ( $fp, 300 );
    if (!$fp) {
        $dis_host = !empty($proxyHost) ? $proxyHost : $host;
        $dis_port = !empty($proxyPort) ? $proxyPort : $port;
        html_error(sprintf(lang(88), $dis_host, $dis_port));
    }
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    if ($proxy) {
        echo '<p>' . sprintf(lang(89), $proxyHost, $proxyPort) . '<br />';
        echo "UPLOAD: <b>{$url}</b>...<br />\n";
    } else {
        echo '<p>';
        printf(lang(90), $host, $port);
        echo '</p>';
    }
    echo lang(104) . ' <b>' . $filename . '</b>, ' . lang(56) . ' <b>' . bytesToKbOrMbOrGb($fileSize) . '</b>...<br />';
    global $id;
    $id = md5(time() * rand(0, 10));
    require TEMPLATE_DIR . '/uploadui.php';
    flush();
    $timeStart = getmicrotime();
    //$chunkSize = 16384;		// Use this value no matter what (using this actually just causes massive cpu usage for large files, too much data is flushed to the browser!)
    $chunkSize = GetChunkSize($fileSize);
    fputs($fp, $zapros);
    fflush($fp);
    $fs = fopen($file, 'r');
    $local_sleep = $sleep_count;
    //echo('<script type="text/javascript">');
    $totalsend = $time = $lastChunkTime = 0;
    while (!feof($fs) && !$errno && !$errstr) {
        $data = fread($fs, $chunkSize);
        if ($data === false) {
            fclose($fs);
            fclose($fp);
            html_error(lang(112));
        }
        if ($sleep_count !== false && $sleep_time !== false && is_numeric($sleep_time) && is_numeric($sleep_count) && $sleep_count > 0 && $sleep_time > 0) {
            $local_sleep--;
            if ($local_sleep == 0) {
                usleep($sleep_time);
                $local_sleep = $sleep_count;
            }
        }
        $sendbyte = @fputs($fp, $data);
        fflush($fp);
        if ($sendbyte === false || strlen($data) > $sendbyte) {
            fclose($fs);
            fclose($fp);
            html_error(lang(113));
        }
        $totalsend += $sendbyte;
        $time = getmicrotime() - $timeStart;
        $chunkTime = $time - $lastChunkTime;
        $chunkTime = $chunkTime ? $chunkTime : 1;
        $lastChunkTime = $time;
        $speed = round($sendbyte / 1024 / $chunkTime, 2);
        $percent = round($totalsend / $fileSize * 100, 2);
        echo '<script type="text/javascript">pr(' . "'" . $percent . "', '" . bytesToKbOrMbOrGb($totalsend) . "', '" . $speed . "');</script>\n";
        flush();
    }
    //echo('</script>');
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    fclose($fs);
    fputs($fp, $nn . "--" . $bound . "--" . $nn);
    fflush($fp);
    $page = '';
    while (!feof($fp)) {
        $data = fgets($fp, 16384);
        if ($data === false) {
            break;
        }
        $page .= $data;
    }
    fclose($fp);
    return $page;
}
示例#7
0
function xmail($from, $to, $subj, $text, $filename, $partSize = FALSE, $method = FALSE)
{
    global $un;
    $fileContents = read_file($filename);
    $fileSize = strlen($fileContents);
    if ($partSize != FALSE & $method == "tc") {
        $crc = strtoupper(dechex(crc32($fileContents)));
        $crc = str_repeat("0", 8 - strlen($crc)) . $crc;
    } else {
        $file = base64_encode($fileContents);
        $file = chunk_split($file);
        unset($fileContents);
    }
    if (!$file && !$fileContents) {
        return FALSE;
    }
    printf(lang(121), basename($filename));
    echo "...<br />";
    flush();
    sleep(1);
    for ($i = 0; $i < strlen($subj); $i++) {
        $subzh .= "=" . strtoupper(dechex(ord(substr($subj, $i, 1))));
    }
    $subj = "=?UTF-8?Q?" . $subzh . '?=';
    $un = strtoupper(uniqid(time()));
    $head = "From: " . $from . "\n" . "X-Mailer: PHP RapidLeech PlugMod\n" . "Reply-To: " . $from . "\n" . "Mime-Version: 1.0\n" . "Content-Type: multipart/mixed; boundary=\"----------" . $un . "\"\n\n";
    $zag = "------------" . $un . "\nContent-Type: text/plain; charset=UTF-8\n" . "Content-Transfer-Encoding: 8bit\n\n" . $text . "\n\n" . "------------" . $un . "\n" . "Content-Type: application/octet-stream; name=\"" . basename($filename) . "\"\n" . "Content-Transfer-Encoding: base64\n" . "Content-Disposition: attachment; filename=\"" . basename($filename) . "\"\n\n";
    echo '<span id="mailPart.' . md5(basename($filename)) . '"></span><br />';
    flush();
    if ($partSize) {
        $partSize = round($partSize);
        if ($method == "rfc") {
            $multiHeadMain = "From: " . $from . "\n" . "X-Mailer: PHP RapidLeech PlugMod\n" . "Reply-To: " . $from . "\n" . "Mime-Version: 1.0\n" . "Content-Type: message/partial; ";
            $totalParts = ceil(strlen($file) / $partSize);
            if ($totalParts == 1) {
                echo lang(122) . "...<br />";
                flush();
                return mail($to, $subj, $zag . $file, $head) ? TRUE : FALSE;
            }
            printf(lang(123), bytesToKbOrMbOrGb($partSize));
            echo ", " . lang(124) . " - RFC 2046...<br />";
            echo "Total Parts: <b>" . $totalParts . "</b><br />";
            $mailed = TRUE;
            echo '<script type="text/javascript">';
            for ($i = 0; $i < $totalParts; $i++) {
                $multiHead = $multiHeadMain . "id=\"" . $filename . "\"; number=" . ($i + 1) . "; total=" . $totalParts . "\n\n";
                if ($i == 0) {
                    $multiHead = $multiHead . $head;
                    $fileChunk = $zag . substr($file, 0, $partSize);
                } elseif ($i == $totalParts - 1) {
                    $fileChunk = substr($file, $i * $partSize);
                } else {
                    $fileChunk = substr($file, $i * $partSize, $partSize);
                }
                echo "mail('" . sprintf(lang(125), $i + 1) . "...', '" . md5(basename($filename)) . "');\r\n";
                flush();
                $mailed = $mailed & mail($to, $subj, $fileChunk, $multiHead);
                if (!$mailed) {
                    return false;
                }
            }
            echo '</script>';
        } elseif ($method == "tc") {
            $totalParts = ceil($fileSize / $partSize);
            if ($totalParts == 1) {
                echo lang(126) . "...<br />";
                flush();
                return mail($to, $subj, $zag . chunk_split(base64_encode($fileContents)), $head) ? TRUE : FALSE;
            }
            printf(lang(123), bytesToKbOrMbOrGb($partSize));
            echo ", " . lang(124) . " - Total Commander...<br />";
            echo "Total Parts: <b>" . $totalParts . "</b><br />";
            $mailed = TRUE;
            $fileTmp = $filename;
            while (strpos($fileTmp, ".")) {
                $fileName .= substr($fileTmp, 0, strpos($fileTmp, ".") + 1);
                $fileTmp = substr($fileTmp, strpos($fileTmp, ".") + 1);
            }
            $fileName = substr($fileName, 0, -1);
            echo '<script type="text/javascript">';
            for ($i = 0; $i < $totalParts; $i++) {
                if ($i == 0) {
                    $fileChunk = substr($fileContents, 0, $partSize);
                    $addHeads = addAdditionalHeaders(array("msg" => $text . "\r\n" . "File " . basename($filename) . " (����� " . ($i + 1) . " �� " . $totalParts . ").", "file" => array("filename" => $fileName . ".crc", "stream" => chunk_split(base64_encode("filename=" . basename($filename) . "\r\n" . "size=" . $fileSize . "\r\n" . "crc32=" . $crc . "\r\n")))));
                    $addHeads .= addAdditionalHeaders(array("file" => array("filename" => $fileName . ".001", "stream" => chunk_split(base64_encode($fileChunk)))));
                } elseif ($i == $totalParts - 1) {
                    $fileChunk = substr($fileContents, $i * $partSize);
                    $addHeads = addAdditionalHeaders(array("msg" => "File " . basename($filename) . " (parts " . ($i + 1) . " from " . $totalParts . ").", "file" => array("filename" => $fileName . "." . (strlen($i + 1) == 2 ? "0" . ($i + 1) : (strlen($i + 1) == 1 ? "00" . ($i + 1) : $i + 1)), "stream" => chunk_split(base64_encode($fileChunk)))));
                } else {
                    $fileChunk = substr($fileContents, $i * $partSize, $partSize);
                    $addHeads = addAdditionalHeaders(array("msg" => "File " . basename($filename) . " (parts " . ($i + 1) . " from " . $totalParts . ").", "file" => array("filename" => $fileName . "." . (strlen($i + 1) == 2 ? "0" . ($i + 1) : (strlen($i + 1) == 1 ? "00" . ($i + 1) : $i + 1)), "stream" => chunk_split(base64_encode($fileChunk)))));
                }
                echo "mail('" . sprintf(lang(125), $i + 1) . "...', '" . md5(basename($filename)) . "');\r\n";
                flush();
                $mailed = $mailed & mail($to, $subj, $addHeads, $head);
                if (!$mailed) {
                    return false;
                }
            }
            echo '</script>';
        }
    } else {
        return mail($to, $subj, $zag . $file, $head) ? TRUE : FALSE;
    }
    return $mailed ? TRUE : FALSE;
}
示例#8
0
        ?>
<td><b class='sorttable_nosort'>&nbsp;<?php 
        echo $L->say['act_del'];
        ?>
<\/b><\/td><?php 
    }
    ?>
<\/tr>";
tfoot = "<tfoot>";
tfoot+= "<tr class='filelist_title'><td><input type='checkbox' id='chksAll' onclick='javascript:sAll(this.checked);' \/><\/td>";
tfoot+= "<td id='totfile'><?php 
    echo "Total : <b class='y'>" . $c . "<\\/b> file(s)";
    ?>
<\/td>";
tfoot+= "<td align='right' id='totsz'><?php 
    echo '<b class=\\"y\\">' . bytesToKbOrMbOrGb($total_size) . '<\\/b>';
    ?>
 <\/td>";
tfoot+= "<td align='right'><\/td><?php 
    if ($lynx_del) {
        ?>
<td><\/td><?php 
    }
    ?>
<td><\/td><\/tr><\/tfoot>";

var dtemplate = "<tr id='brs((chkidx))' class='rowlist' onmousedown='clk(\"chkfL-((chkidx))\")' ";
dtemplate+= "onmouseout='if(d.getElementById(\"chkfL-((chkidx))\").checked){this.className=\"rowlist_checked\";}else{this.className=\"rowlist\";}'>";
dtemplate+= "<td><input type='checkbox' id='chkfL-((chkidx))' onclick='clk(\"chkfL-((chkidx))\")' \/><\/td>";
dtemplate+= "<td align='right'><span id='fN-((chkidx))'>((filename))<\/span><\/td>";
dtemplate+= "<td align='left'><a id='fL-((chkidx))' href='((filelink))' title='((filename))'>";
示例#9
0
function _create_list()
{
    $glist = array();
    if ($GLOBALS['options']['show_all'] === true && (isset($_COOKIE['showAll']) && $_COOKIE['showAll'] == 1)) {
        $dir = dir(DOWNLOAD_DIR);
        while (false !== ($file = $dir->read())) {
            if (($tmp = file_data_size_time(DOWNLOAD_DIR . $file)) === false) {
                continue;
            }
            list($size, $time) = $tmp;
            if ($file != '.' && $file != '..' && (!is_array($GLOBALS['options']['forbidden_filetypes']) || !in_array(strtolower(strrchr($file, '.')), $GLOBALS['options']['forbidden_filetypes']))) {
                $file = DOWNLOAD_DIR . $file;
                while (isset($glist[$time])) {
                    $time++;
                }
                $glist[$time] = array('name' => realpath($file), 'size' => bytesToKbOrMbOrGb($size), 'date' => $time);
            }
        }
        $dir->close();
        @uasort($glist, '_cmp_list_enums');
    } else {
        if (@file_exists(CONFIG_DIR . 'files.lst') && ($glist = file(CONFIG_DIR . 'files.lst')) !== false) {
            foreach ($glist as $key => $record) {
                foreach (unserialize($record) as $field => $value) {
                    switch ($field) {
                        case 'date':
                            $date = $value;
                        default:
                            $listReformat[$key][$field] = $value;
                            break;
                        case 'comment':
                            $listReformat[$key][$field] = htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
                            break;
                    }
                }
                $glist[$date] = $listReformat[$key];
                unset($glist[$key], $listReformat[$key]);
            }
        }
    }
    $GLOBALS['list'] = $glist;
}
示例#10
0
function _create_list($lynx = false, $medic = false, $d_showall = false)
{
    global $list, $_COOKIE, $options;
    $glist = array();
    $showall = $options['show_all'] && (isset($_COOKIE['showAll']) && $_COOKIE['showAll'] || $d_showall) || $medic ? true : false;
    //	if (!$d_showall) $d_showall = (isset($_COOKIE["showAll"]) ? $_COOKIE["showAll"] : false);
    //	if (($options["show_all"] && ($d_showall == 1)) || $medic) {
    if ($showall) {
        // Show Everything
        $totsize = 0;
        $cnt = 0;
        $dir = @dir(DOWNLOAD_DIR);
        while (false !== ($file = $dir->read())) {
            if ($file != "." && $file != ".." && is_array($options["forbidden_filetypes"]) && !in_array("." . get_extension($file), $options["forbidden_filetypes"]) && is_file(DOWNLOAD_DIR . $file) && basename($file) != basename(FILES_LST) && basename($file) != 'index.html' && basename($file) != 'index.php') {
                $file = DOWNLOAD_DIR . $file;
                if (($tmp = file_data_size_time($file)) === false) {
                    continue;
                }
                list($size, $time) = $tmp;
                $time = getNowzone($time);
                while (isset($glist[$time])) {
                    $time++;
                }
                $agefile = TIME_NOW - $time;
                $glist[$time] = array("name" => realpath($file), "size" => bytesToKbOrMbOrGb($size), "date" => $time, "age" => count_age($agefile));
                if ($options["show_column_sfile"]["md5"] && !$lynx) {
                    $glist[$time]["md5"] = md5_file($file);
                }
                $totsize += $size;
                $cnt++;
            }
        }
        $dir->close();
        @uasort($glist, "_cmp_list_enums");
        if ($cnt > 0) {
            $glist["files"]["totalsize"] = $totsize;
            $glist["files"]["totalfile"] = $cnt;
            $glist["files"]["misc"] = "files";
        }
    } else {
        // Show Downloaded
        if (@file_exists(FILES_LST)) {
            $glist = file(FILES_LST);
            $glistReformat = null;
            foreach ($glist as $key => $record) {
                $recfile = @unserialize($record);
                if (is_array($recfile)) {
                    foreach ($recfile as $field => $value) {
                        if (in_array($field, array("date", "age", "misc"))) {
                            $time = @filemtime($recfile["name"]);
                            $time = getNowzone($time);
                            //$unix_zone = ($time != $value ? $time - date("Z") + (3600 * $options["timezone"]) : $value);
                            if ($field == "age") {
                                $agefile = TIME_NOW - $time;
                                $listReformat[$key]["age"] = count_age($agefile);
                            }
                            if ($field == "date") {
                                $listReformat[$key][$field] = $time;
                                $date = $time;
                            }
                        }
                        if ($field != "age" && $field != "date") {
                            $listReformat[$key][$field] = $value;
                        }
                    }
                    $glist[$date] = $listReformat[$key];
                    unset($glist[$key], $glistReformat[$key]);
                }
            }
            @uasort($glist, "_cmp_list_enums");
        }
    }
    $list = $glist;
}
        ?>
">&nbsp;<b class="g">day<small>(s)</small></b> Reset Traffic</div>
</div>
</td>
<td class="tdacc" id="limittraf2" style="display:<?php 
        echo $limitbytrafficchk ? 'none' : '';
        ?>
">
<div id="curtrafic" align="center" style="position:absolute;float:left;width:200px;padding-left:270px; margin-top:-10px; display:<?php 
        echo $limitbytraffic ? "" : "none;";
        ?>
"><div id="trafwaiting" align="left" style="display:none;"></div></div>
<div style="padding-left:20px; margin-top: 0px;">
<span>Quota Traffic allowed. Currently traffic:&nbsp;<span id="cur_traffic"><b class="g" style="position:absolute;"><span id="trafshowresults" style="position:float:center;display:;"><?php 
        $cur_trf = get_traffic(TRAFFIC_LST);
        echo bytesToKbOrMbOrGb($cur_trf[0]);
        ?>
</span>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="<?php 
        echo $ajax_serverfiles ? 'if(confirm(\'This will reset Current Traffic, proceed?\')){trafst();}' : 'alert(\'Ajax Disabled\');';
        ?>
;"><small>reset</small></a></b></span></span> 
<div style="height:3px;">&nbsp;</div>
<div style="float:left;">The D-Day traffic quota will expired</div><br><div style="height:3px;">&nbsp;</div>
<div style="float:left;">Auto-Reset traffic. set to 0 or blank to disable.
<?php 
        if ($day_reset_trafic > 0) {
            echo "<small class='g'>remain: " . sec2time(timeremain_traffic($day_reset_trafic, $cur_trf[1])) . "</small>";
        }
        ?>
</div>
<?php 
示例#12
0
function UploadToYoutube($host, $port, $url, $dkey, $uauth, $XMLReq, $file, $filename)
{
    global $nn, $lastError, $sleep_time, $sleep_count;
    if (!is_readable($file)) {
        $lastError = sprintf(lang(65), $file);
        return FALSE;
    }
    $fileSize = getSize($file);
    $bound = "--------" . md5(microtime());
    $saveToFile = 0;
    $postdata = "--" . $bound . $nn;
    $postdata .= 'Content-Type: application/atom+xml; charset=UTF-8' . $nn . $nn;
    $postdata .= $XMLReq . $nn;
    $postdata .= "--" . $bound . $nn;
    $postdata .= "Content-Type: application/octet-stream" . $nn . $nn;
    $zapros = "POST " . str_replace(" ", "%20", $url) . " HTTP/1.1{$nn}Host: {$host}{$nn}Authorization: GoogleLogin auth={$uauth}{$nn}GData-Version: 2.1{$nn}X-GData-Key: key={$dkey}{$nn}Slug: {$filename}{$nn}Content-Type: multipart/related; boundary={$bound}{$nn}Content-Length: " . (strlen($postdata) + strlen($nn . "--{$bound}--{$nn}") + $fileSize) . "{$nn}Connection: Close{$nn}{$nn}{$postdata}";
    $errno = 0;
    $errstr = "";
    $fp = @stream_socket_client("{$host}:{$port}", $errno, $errstr, 120, STREAM_CLIENT_CONNECT);
    if (!$fp) {
        html_error(sprintf(lang(88), $host, $port));
    }
    if ($errno || $errstr) {
        html_error($errstr);
    }
    echo "<p>";
    printf(lang(90), $host, $port);
    echo "</p>";
    echo lang(104) . ' <b>' . $filename . '</b>, ' . lang(56) . ' <b>' . bytesToKbOrMbOrGb($fileSize) . '</b>...<br />';
    global $id;
    $id = md5(time() * rand(0, 10));
    require TEMPLATE_DIR . '/uploadui.php';
    flush();
    $timeStart = getmicrotime();
    $chunkSize = GetChunkSize($fileSize);
    fputs($fp, $zapros);
    fflush($fp);
    $fs = fopen($file, 'r');
    $local_sleep = $sleep_count;
    $totalsend = $time = $lastChunkTime = 0;
    while (!feof($fs) && !$errno && !$errstr) {
        $data = fread($fs, $chunkSize);
        if ($data === false) {
            fclose($fs);
            fclose($fp);
            html_error(lang(112));
        }
        if ($sleep_count !== false && $sleep_time !== false && is_numeric($sleep_time) && is_numeric($sleep_count) && $sleep_count > 0 && $sleep_time > 0) {
            $local_sleep--;
            if ($local_sleep == 0) {
                usleep($sleep_time);
                $local_sleep = $sleep_count;
            }
        }
        $sendbyte = @fputs($fp, $data);
        fflush($fp);
        if ($sendbyte === false || strlen($data) > $sendbyte) {
            fclose($fs);
            fclose($fp);
            html_error(lang(113));
        }
        $totalsend += $sendbyte;
        $time = getmicrotime() - $timeStart;
        $chunkTime = $time - $lastChunkTime;
        $chunkTime = $chunkTime ? $chunkTime : 1;
        $chunkTime = !($chunkTime < 0) && $chunkTime > 0 ? $chunkTime : 1;
        $lastChunkTime = $time;
        $speed = round($sendbyte / 1024 / $chunkTime, 2);
        $percent = round($totalsend / $fileSize * 100, 2);
        echo "<script type='text/javascript'>pr('{$percent}', '" . bytesToKbOrMbOrGb($totalsend) . "', '{$speed}');</script>\n";
        flush();
    }
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    fclose($fs);
    fputs($fp, $nn . "--" . $bound . "--" . $nn);
    fflush($fp);
    $page = '';
    while (!feof($fp)) {
        $data = fgets($fp, 16384);
        if ($data === false) {
            break;
        }
        $page .= $data;
    }
    fclose($fp);
    return $page;
}
 private function get_inf($url = '')
 {
     if (!val('url', $url)) {
         return '["get_inf", "erro", "' . $this->msgs['url_invalido'] . '"]';
     }
     $inf = getheader($url);
     if (is_array($inf)) {
         if ($inf['http_code'] == 200) {
             $rpt = '<li><b>' . $this->msgs['tipo'] . ':</b> ' . $inf['content_type'] . '</li>';
             if ($inf['download_content_length']) {
                 $rpt .= '<li><b>' . $this->msgs['tamanho'] . ':</b> ' . bytesToKbOrMbOrGb($inf['download_content_length']) . '</li>';
             }
             $rpt .= '<br>';
             return '["get_inf", "' . $rpt . '"]';
         } elseif (isset($this->__config['http_code'][$inf['http_code']])) {
             $erro = str_replace('%file%', '<b>' . $url . '</b>', $this->__config['http_code'][$inf['http_code']]);
             return '["get_inf", "erro", "' . $erro . '"]';
         } else {
             return '["get_inf", "erro", "' . $this->msgs['erro_desconhecido'] . '"]';
         }
     }
     return '["get_inf", "erro", "' . $this->msgs['erro_desconhecido'] . '"]';
 }
示例#14
0
function T8_mega_upload($link, $ul_key, $file, $filename, &$mac_str = '')
{
    global $nn, $fp, $fs, $errno, $errstr, $fsize, $pbChunkSize, $T8, $chunk_UL, $calcMacEachChunk, $zapros;
    $pbChunkSize = GetChunkSize($fsize);
    $_link = parse_url($link);
    $scheme = $_link['scheme'] . '://';
    $host = $_link['host'];
    $port = defport($_link);
    $url = $_link['path'] . (!empty($_link['query']) ? '?' . $_link['query'] : '');
    unset($_link);
    $key = a32_to_str(array_slice($ul_key, 0, 4));
    $_td = mcrypt_module_open('rijndael-128', '', 'ctr', '');
    $init = mcrypt_generic_init($_td, $key, a32_to_str(array($ul_key[4], $ul_key[5], 0, 0)));
    if ($init === false || $init < 0) {
        html_error('Cannot init mcrypt');
    }
    if (!is_readable($file)) {
        html_error(sprintf(lang(65), $file));
    }
    echo "\n<p id='ul_con'></p>\n<p id='ul_fname' style='display:none'>" . lang(104) . " <b>{$filename}</b>, " . lang(56) . ' <b>' . bytesToKbOrMbOrGb($fsize) . "</b>...<br /></p><p id='T8' style='display:none'></p>\n";
    flush();
    if ($chunk_UL) {
        global $chunkSize, $timeStart, $data, $totalsend, $time, $lastChunkTime;
    } else {
        chunk_ul($scheme, $host, $port, $url, true);
    }
    $fs = fopen($file, 'rb');
    $chunkSize = 131072;
    $totalsend = $time = $lastChunkTime = 0;
    $_data = '';
    if ($calcMacEachChunk) {
        global $m_td1, $m_td2;
        $m_td1 = mcrypt_module_open('rijndael-128', '', 'cbc', '');
        $m_td2 = mcrypt_module_open('rijndael-128', '', 'cbc', '');
        $init = mcrypt_generic_init($m_td1, $key, "");
        if ($init === false || $init < 0) {
            html_error('Cannot init mcrypt');
        }
        $c_mac = a32_to_str(array($ul_key[4], $ul_key[5], $ul_key[4], $ul_key[5]));
    }
    $timeStart = microtime(true);
    while (!feof($fs) && !$errno && !$errstr) {
        $data = fread($fs, $chunkSize);
        if ($data === false) {
            if (isset($GLOBALS['T8DEBUG'])) {
                textarea("UPLOAD\nRAW Request:\n" . $zapros . "[Incomplete File Content]", 200, 15);
            }
            //Debug
            fclose($fs);
            if (!$chunk_UL) {
                fclose($fp);
            }
            html_error(lang(112));
        }
        if ($_data !== '') {
            $data = $_data . $data;
            $_data = '';
        }
        if (strlen($data) < $chunkSize && !feof($fs)) {
            $_data .= $data;
            continue;
        }
        if (strlen($data) > $chunkSize) {
            $_data .= substr($data, $chunkSize);
            $data = substr($data, 0, $chunkSize);
        }
        if ($calcMacEachChunk) {
            $mac_str = calcChunkMac($data, $key, $c_mac);
        }
        if ($chunkSize < 1048576) {
            $chunkSize = getNextChunkLength($chunkSize);
        }
        $data = mcrypt_generic($_td, $data);
        if ($chunk_UL) {
            $page = chunk_ul($scheme, $host, $port, "{$url}/{$totalsend}-" . ($totalsend + strlen($data) - 1));
        } else {
            $dlen = strlen($data);
            $sended = 0;
            for ($s = 0; $s < $dlen - 1; $s += $pbChunkSize) {
                $chunk = $pbChunkSize >= $dlen - $s ? substr($data, $s) : substr($data, $s, $pbChunkSize);
                $sendbyte = @fputs($fp, $chunk);
                fflush($fp);
                if ($sendbyte === false || strlen($chunk) > $sendbyte) {
                    if (isset($GLOBALS['T8DEBUG'])) {
                        textarea("UPLOAD\n{$errstr}\n" . print_r(stream_get_meta_data($fp), true) . "\nRAW Request:\n" . $zapros . "[Incomplete File Content]", 200, 15);
                    }
                    //Debug
                    fclose($fs);
                    fclose($fp);
                    html_error(lang(113));
                }
                $totalsend += $sendbyte;
                $sended += $sendbyte;
                $time = getmicrotime() - $timeStart;
                $chunkTime = $time - $lastChunkTime;
                if ($s + $sendbyte <= $dlen - 1 && $chunkTime < 1) {
                    continue;
                }
                $chunkTime = !($chunkTime < 0) && $chunkTime > 0 ? $chunkTime : 1;
                $lastChunkTime = $time;
                $speed = round($sended / 1024 / $chunkTime, 2);
                $percent = round($totalsend / $fsize * 100, 2);
                echo "<script type='text/javascript'>pr('{$percent}', '" . bytesToKbOrMbOrGb($totalsend) . "', '{$speed}');</script>\n";
                flush();
                $sended = 0;
            }
        }
    }
    mcrypt_generic_deinit($_td);
    mcrypt_module_close($_td);
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    if (!$chunk_UL) {
        fflush($fp);
        $page = '';
        while (!feof($fp)) {
            $data = fgets($fp, 16384);
            if ($data === false) {
                break;
            }
            $page .= $data;
        }
        fclose($fp);
    }
    fclose($fs);
    if (isset($GLOBALS['T8DEBUG']) && !$chunk_UL) {
        textarea("UPLOAD\nResponse:\n{$page}\nRAW Request:\n" . $zapros . "[Encrypted Uploaded File Content]", 200, 15);
    }
    //Debug
    return $page;
}
示例#15
0
function unrar_go_go()
{
    global $options, $list, $L;
    ?>
<script type="text/javascript">
/* <![CDATA[ */
function rar_st(elementid, st){
  document.getElementById(elementid).innerHTML = st;
  return true;
}
/* ]]> */
</script>
<?php 
    for ($i = 0; $i < count($_GET["files"]); $i++) {
        $file = $list[$_GET["files"][$i]];
        if (count($_GET['filestounrar'][$i]) == 0) {
            continue;
        }
        foreach ($_GET['filestounrar'][$i] as $rar_item) {
            flush();
            $rar = new rlRar($file["name"], $options['check_these_before_unzipping'] ? $options['forbidden_filetypes'] : array('.xxx'));
            if ($rar->rar_return === false) {
                ?>
<script type="text/javascript">rar_st('<?php 
                echo 'unrar' . $_GET["files"][$i] . '-' . str_replace('=', '-', $rar_item);
                ?>
', '<?php 
                echo $L->say['rar_disappear'];
                ?>
');</script>
<?php 
            } else {
                $rar_result = $rar->extract(base64_decode($rar_item), $options['download_dir'], $_GET['passwords'][$i], 'unrar' . $_GET["files"][$i] . '-' . str_replace('=', '-', $rar_item), $i);
                echo $rar_result;
                if (strpos($rar_result, ", 'OK')") !== false) {
                    _create_list();
                    $rar_tolist = realpath($options['download_dir']) . '/' . basename(base64_decode($rar_item));
                    $time = getNowzone(@filemtime($rar_tolist));
                    while (isset($list[$time])) {
                        $time++;
                    }
                    $list[$time] = array("name" => $rar_tolist, "size" => bytesToKbOrMbOrGb(filesize($rar_tolist)), "date" => $time);
                    if (!updateListInFile($list)) {
                        ?>
<script type="text/javascript">var tmp = document.getElementById('rar_finished'); tmp.innerHTML = "<?php 
                        echo $L->say['couldnt_upd_list'];
                        ?>
<br /><br />" + tmp.innerHTML</script>;
<?php 
                    }
                }
            }
        }
    }
    ?>
<script type="text/javascript">document.getElementById('unrar_finished').style.display = '';</script>
<?php 
}
示例#16
0
function pack_go()
{
    global $list, $options, $L;
    $arc_name = basename($_POST["arc_name"] . '.' . $_POST["arc_ext"]);
    $saveTo = ($options['download_dir_is_changeable'] ? stripslashes($_POST["saveTo"][$i]) : realpath($options['download_dir'])) . '/';
    $v_list = array();
    if (!$_POST["arc_name"] || !$_POST["arc_ext"]) {
        echo $L->say['enter_arc_name'] . "<br /><br />";
    } elseif (file_exists($saveTo . $arc_name)) {
        echo $L->sprintf($L->say['err_output_file_exist'], $arc_name) . "<br /><br />";
    } else {
        for ($i = 0; $i < count($_POST["files"]); $i++) {
            $file = $list[$_POST["files"][$i]];
            if (file_exists($file["name"])) {
                $v_list[] = $file["name"];
            } else {
                echo $L->sprintf($L->say['not_found'], $file['name']) . "<br /><br />";
            }
        }
        if (count($v_list) < 1) {
            echo "<b class=\"r\">" . $L->say['error_occur'] . "</b><br /><br />";
        } else {
            $arc_name = $saveTo . $arc_name;
            require_once CLASS_DIR . "tar.php";
            $tar = new Archive_Tar($arc_name);
            if ($tar->error != '') {
                echo $tar->error . "<br /><br />";
            } else {
                $remove_path = realpath($options['download_dir']) . '/';
                $tar->createModify($v_list, '', $remove_path);
                if (!file_exists($arc_name)) {
                    echo "<b class=\"r\">" . $L->say['_error'] . "</b> " . $L->say['arcv_not_created'] . "<br /><br />";
                } else {
                    if (count($v_list = $tar->listContent()) > 0) {
                        for ($i = 0; $i < sizeof($v_list); $i++) {
                            echo $L->sprintf($L->say['was_pack'], $v_list[$i]['filename']) . " <br />";
                        }
                        echo $L->sprintf($L->say['pack_in_arcv'], $arc_name) . "<br />";
                        $stmp = strtolower($arc_name);
                        $arc_method = "Tar";
                        if (!$options['disable_to']['act_archive_compression']) {
                            if (strrchr($stmp, "tar.gz") + 5 == strlen($stmp)) {
                                $arc_method = "Tar.gz";
                            } elseif (strrchr($stmp, "tar.bz2") + 6 == strlen($stmp)) {
                                $arc_method = "Tar.bz2";
                            }
                        }
                        unset($stmp);
                        $time = explode(" ", microtime());
                        $time = str_replace("0.", $time[1], $time[0]);
                        $list[$time] = array("name" => $arc_name, "size" => bytesToKbOrMbOrGb(filesize($arc_name)), "date" => $time, "link" => "", "comment" => "archive " . $arc_method);
                    } else {
                        echo "<b class=\"r\">" . $L->say['_error'] . "</b> " . $L->say['arcv_empty'] . "<br /><br />";
                    }
                    if (!updateListInFile($list)) {
                        echo $L->say['couldnt_upd'] . '<br /><br />';
                    }
                }
            }
        }
    }
}
示例#17
0
function ftp_go()
{
    global $list, $options, $FtpUpload, $FtpBytesTotal, $FtpChunkSize, $FtpTimeStart, $FtpUploadBytesSent, $FtpLastChunkTime, $FtpLast;
    require_once CLASS_DIR . "ftp.php";
    $ftp = new ftp();
    if (!$ftp->SetServer($_POST["host"], (int) $_POST["port"])) {
        $ftp->quit();
        printf(lang(79), $_POST["host"] . ":" . $_POST["port"]);
        echo '<br /><a href="javascript:history.back(-1);">' . lang(78) . '</a><br /><br />';
    } else {
        if (!$ftp->connect()) {
            $ftp->quit();
            echo "<br />";
            printf(lang(79), $_POST["host"] . ":" . $_POST["port"]);
            echo '<br /><a href="javascript:history.back(-1);">' . lang(78) . '</a><br /><br />';
        } else {
            printf(lang(81), 'ftp://' . $_POST['host'] . ':' . $_POST['port']);
            if (!$ftp->login($_POST["login"], $_POST["password"])) {
                $ftp->quit();
                echo "<br />";
                echo lang(80);
                echo '<br /><a href="javascript:history.back(-1);">' . lang(78) . '</a><br /><br />';
            } else {
                //$ftp->Passive(FALSE);
                if (!$ftp->chdir($_POST["dir"])) {
                    $ftp->quit();
                    echo "<br />";
                    printf(lang(159), $_POST['dir']);
                    echo '<br /><a href="javascript:history.back(-1);">' . lang(78) . '</a><br /><br />';
                } else {
                    ?>
<br />
				<div id="status"></div>
				<br />
				<table cellspacing="0" cellpadding="0">
					<tr>
						<td></td>
						<td>
						<div class="progressouter">
						<div style="width:298px">
							<div id="progress" class="ftpprogress"></div>
						</div>
						</div>
						</td>
						<td></td>
					</tr>
					<tr>
						<td align="left" id="received">0 KB</td>
						<td align="center" id="percent">0%</td>
						<td align="right" id="speed">0 KB/s</td>
					</tr>
				</table>
				<br />
				<script type="text/javascript">switchCell(3);</script>
<?php 
                    for ($i = 0; $i < count($_POST["files"]); $i++) {
                        $file = $list[$_POST["files"][$i]];
                        echo '<script type="text/javascript">pr(0,0,0);changeStatus(' . "'" . addslashes(basename($file["name"])) . "', '" . $file["size"] . "');</script>";
                        $FtpUpload = true;
                        $FtpBytesTotal = filesize($file['name']);
                        $FtpChunkSize = round($FtpBytesTotal / 333);
                        $FtpTimeStart = getmicrotime();
                        $FtpUploadBytesSent = $FtpLastChunkTime = $FtpLast = 0;
                        if ($ftp->put($file["name"], basename($file["name"]))) {
                            $time = round(getmicrotime() - $FtpTimeStart);
                            $speed = @round($FtpBytesTotal / 1024 / $time, 2);
                            echo '<script type="text/javascript">pr(100, ' . "'" . bytesToKbOrMbOrGb($FtpBytesTotal) . "', " . $speed . ")</script>\r\n";
                            flush();
                            if (@$_POST["del_ok"] && !$options['disable_deleting']) {
                                if (@unlink($file["name"])) {
                                    unset($list[$_POST["files"][$i]]);
                                }
                            }
                            printf(lang(160), '<a href="ftp://' . $_POST["login"] . ':' . $_POST["password"] . '@' . $_POST["host"] . ':' . $_POST["port"] . $_POST["dir"] . (substr($_POST["dir"], -1) != '/' ? '/' : '') . basename($file["name"]) . '"><b>' . basename($file["name"]) . '</b></a>');
                            echo "<br />" . lang(161) . ": <b>" . sec2time($time) . "</b><br />" . lang(162) . ": <b>" . $speed . " KB/s</b><br /><br />";
                        } else {
                            printf(lang(163), basename($file['name']));
                            echo "<br />";
                        }
                    }
                    $ftp->quit();
                }
            }
        }
    }
}
示例#18
0
        echo STATIC_DIR;
        ?>
date.css" />
<div class="div_left_ndot"><ul>
<li class="ndot"><div style="padding-left:5px;"><input id="opt_max_trafic" type="text" name="opt_max_trafic" size="5" value="" />&nbsp;<b class="g">MB</b> Quota Traffic</div></li>
<li class="ndot"><div style="padding-left:5px;"><div class="pngDate" onclick="displayDatePicker('opt_date_trafic', false, 'dmy', '/');"><img title="pick date" src="<?php 
        echo STATIC_DIR;
        ?>
images/calendar.png" height="15">&nbsp;</div><input id="opt_date_trafic" name="opt_date_trafic" type="text" size="10" maxlength="10" value="" />&nbsp;<b class="g" title="Day/Month/Year">DMY</b> Expire Due-date</div></li>
<li class="ndot"><div style="padding-left:5px;"><input type="text" id="opt_day_reset_trafic" name="opt_day_reset_trafic" size="5" maxlength="2" value="" />&nbsp;<b class="g">day<small>(s)</small></b> Reset Traffic</div></li>
</ul></div></td>
<td class="tdacc">
<div id="curtrafic" align="center" style="position:absolute;float:left;width:200px;padding-left:270px; margin-top:-10px;"><div id="trafwaiting" align="left" style="display:none;"></div></div>
<div class="div_right_ndot"><ul>
<li class="ndot"><span>Quota Traffic allowed. Currently traffic:&nbsp;<span id="cur_traffic"><b class="g" style="position:absolute;"><span id="trafshowresults"><?php 
        echo bytesToKbOrMbOrGb($traffic->total);
        ?>
</span>&nbsp;&nbsp;<a href="javascript:;" onclick="<?php 
        echo $ajax_serverfiles ? 'if(confirm(\'This will reset Current Traffic, proceed?\')){trafst();}' : 'alert(\'Ajax Disabled\');';
        ?>
;"><small>reset</small></a></b></span></span></li>
<li class="ndot"><span>The D-Day traffic quota will expired</span></li>
<li class="ndot"><span>Auto-Reset traffic. set to 0 or blank to disable.
<?php 
        if ($options['day_reset_trafic'] > 0) {
            echo "<small class='g'>remain: " . sec2time($traffic->timeremain()) . "</small>";
        }
        ?>
</span></li></ul>
<?php 
        if ($ajax_serverfiles) {
示例#19
0
         $sz = explode(' ', strtoupper($sz));
         switch ($sz[1]) {
             // KbOrMbOrGbToBytes :D
             case 'GB':
                 $sz[0] *= 1024;
             case 'MB':
                 $sz[0] *= 1024;
             case 'KB':
                 $sz[0] *= 1024;
         }
         $fsize += $sz[0];
     } else {
         $afhs = false;
     }
 }
 $fsize = explode(' ', bytesToKbOrMbOrGb($fsize));
 $fsize[0] = round($fsize[0], 2);
 $fsize = implode(' ', $fsize);
 $fsize = (!$afhs ? '&gt;' : '') . $fsize;
 echo "<div style='text-align:center;'>\n";
 echo "<br /><form action='" . (($pos = strrpos($_SERVER['SCRIPT_NAME'], '/')) !== false ? substr($_SERVER['SCRIPT_NAME'], 0, $pos + 1) . 'audl.php?GO=GO' : 'audl.php?GO=GO') . "' method='POST' >\n";
 echo "<input type='hidden' name='links' value='" . $links . "'>\n";
 //$key_array = array("useproxy", "proxy", "proxyuser", "proxypass", "premium_acc", "premium_user", "premium_pass", "cookieuse", "cookie");
 //foreach ($key_array as $v) if (array_key_exists($v, $_GET)) echo "<input type='hidden' name='".$v."' value='".$_GET[$v]."' />\n";
 if ($x == $x2) {
     $btext = "Send links to AUDL ({$fsize})";
 } else {
     $btext = "Send working links to AUDL ({$fsize})";
 }
 echo "<input type='submit' value='{$btext}' />\n";
 echo "</form>\n";
示例#20
0
function rar_go_go()
{
    global $options, $list, $L;
    ?>
<script type="text/javascript">
/* <![CDATA[ */
function rar_st(elementid, st){
  document.getElementById(elementid).innerHTML = st;
  return true;
}
/* ]]> */
</script>
<?php 
    flush();
    require_once CLASS_DIR . "rar.php";
    if ($options['disable_to']['act_del']) {
        $_GET['rar_opts']['delete'] = 0;
    }
    if ($options['disable_to']['act_archive_compression']) {
        $_GET['rar_opts']['comp_lvl'] = 0;
    }
    if ($_GET['rar_opts']['separated']) {
        $am = count($_GET['rar_opts']['filestorar']);
    } else {
        $am = 1;
    }
    for ($i = 0; $i < $am; $i++) {
        $name = $_GET['rar_opts']['separated'] ? basename($list[$_GET['rar_opts']['filestorar'][$i]]['name']) . '.rar' : $_GET['rar_opts']['rarfilename'];
        $rar = new rlRar($name, $options['check_these_before_unzipping'] ? $options['forbidden_filetypes'] : array('.xxx'));
        if ($rar->rar_return !== 'rar') {
            ?>
<script type="text/javascript">rar_st('rar_status<?php 
            echo $i;
            ?>
', '<?php 
            echo $L->say['rar_disappear'];
            ?>
');</script>
<?php 
        } else {
            $rar_opts_tmp = $_GET['rar_opts'];
            if ($_GET['rar_opts']['separated']) {
                $rar_opts_tmp['filestorar'] = array($_GET['rar_opts']['filestorar'][$i]);
            }
            $rar_result = $rar->addtoarchive($rar_opts_tmp, $options['download_dir'], 'rar_status' . $i, $i);
            echo $rar_result;
            if (strpos($rar_result, ", 'Done')") !== false) {
                _create_list();
                clearstatcache();
                if ($_GET['rar_opts']['delete'] == true) {
                    foreach ($_GET['rar_opts']['filestorar'] as $rar_tounlist) {
                        $rar_tounlist = basename($list[$rar_tounlist]['name']);
                        if (empty($rar_tounlist)) {
                            continue;
                        }
                        $rar_tounlist = realpath($options['download_dir']) . '/' . $rar_tounlist;
                        if (is_file($rar_tounlist)) {
                            continue;
                        }
                        foreach ($list as $list_key => $list_item) {
                            if ($list_item['name'] === $rar_tounlist) {
                                unset($list[$list_key]);
                            }
                        }
                    }
                }
                $rar_tolist = realpath($options['download_dir']) . '/' . basename($rar->filename);
                if ($_GET['rar_opts']['vols'] && !is_file($rar_tolist)) {
                    if (substr(strtolower($rar_tolist), -4) == '.rar') {
                        $rar_tolist = substr($rar_tolist, 0, -4);
                    }
                    $tmp = basename(strtolower($rar_tolist)) . '.part';
                    $rar_dir = opendir(realpath($options['download_dir']) . '/');
                    while (false !== ($rar_f_dd = readdir($rar_dir))) {
                        $rar_f_dd_ = basename(strtolower($rar_f_dd));
                        if ($tmp == substr($rar_f_dd_, 0, strlen($tmp)) && is_numeric(substr($rar_f_dd_, strlen($tmp), -4))) {
                            $rar_f_dd = realpath($options['download_dir']) . '/' . basename($rar_f_dd);
                            $time = getNowzone(@filemtime($rar_f_dd));
                            while (isset($list[$time])) {
                                $time++;
                            }
                            $list[$time] = array("name" => $rar_f_dd, "size" => bytesToKbOrMbOrGb(filesize($rar_f_dd)), "date" => $time);
                        }
                    }
                    closedir($rar_dir);
                } elseif (is_file($rar_tolist)) {
                    $time = getNowzone(@filemtime($rar_tolist));
                    while (isset($list[$time])) {
                        $time++;
                    }
                    $list[$time] = array("name" => $rar_tolist, "size" => bytesToKbOrMbOrGb(filesize($rar_tolist)), "date" => $time);
                }
                if (!updateListInFile($list)) {
                    ?>
<script type="text/javascript">var tmp = document.getElementById('rar_finished'); tmp.innerHTML = "<?php 
                    echo $L->say['couldnt_upd_list'];
                    ?>
<br /><br />" + tmp.innerHTML</script>;
<?php 
                }
            }
        }
    }
    ?>
<script type="text/javascript">document.getElementById('rar_finished').style.display = '';</script>
<?php 
}
示例#21
0
function unzip_go()
{
    global $list, $options;
    require_once CLASS_DIR . "unzip.php";
    $any_file_unzippped = false;
    for ($i = 0; $i < count($_POST["files"]); $i++) {
        $file = $list[$_POST["files"][$i]];
        if (file_exists($file["name"])) {
            $zip = new dUnzip2($file["name"]);
            $allf = $zip->getList();
            $file_inside_zip_exists = false;
            $forbidden_inside_zip = false;
            foreach ($allf as $k => $properties) {
                if (file_exists($options['download_dir'] . basename($properties['file_name']))) {
                    $file_inside_zip_exists = true;
                    break;
                }
            }
            if ($options['check_these_before_unzipping']) {
                foreach ($allf as $k => $property) {
                    $zfiletype = strrchr($property['file_name'], ".");
                    if (is_array($options['forbidden_filetypes']) && in_array(strtolower($zfiletype), $options['forbidden_filetypes'])) {
                        $forbidden_inside_zip = true;
                        break;
                    }
                }
            }
            if ($file_inside_zip_exists) {
                echo 'Some file(s) inside <b>' . htmlentities(basename($file["name"])) . '</b> already exist on download directory';
                echo "<br /><br />";
            } elseif ($forbidden_inside_zip) {
                printf(lang(181), $zfiletype);
                echo "<br /><br />";
            } else {
                $zip->unzipAll($options['download_dir']);
                if ($zip->getList() != false) {
                    $any_file_unzippped = true;
                    echo '<b>' . htmlentities(basename($file["name"])) . '</b>&nbsp;unzipped successfully<br /><br />';
                    foreach ($allf as $k => $properties) {
                        $efile = realpath($options['download_dir']) . '/' . basename($properties['file_name']);
                        if (is_file($efile)) {
                            $time = filemtime($efile);
                            while (isset($list[$time])) {
                                $time++;
                            }
                            $list[$time] = array("name" => $efile, "size" => bytesToKbOrMbOrGb(filesize($efile)), "date" => $time);
                        }
                    }
                    if (!updateListInFile($list)) {
                        echo lang(146) . "<br /><br />";
                    }
                } else {
                    echo "File <b>" . $file["name"] . "</b> not found!<br /><br />";
                }
            }
        }
    }
}
示例#22
0
function zip_go()
{
    global $list, $options, $L;
    $saveTo = realpath($options['download_dir']) . '/';
    $_POST["archive"] = strlen(trim(urldecode($_POST["archive"]))) > 4 && substr(trim(urldecode($_POST["archive"])), -4) == ".zip" ? trim(urldecode($_POST["archive"])) : "archive.zip";
    $_POST["archive"] = $saveTo . basename($_POST["archive"]);
    for ($i = 0; $i < count($_POST["files"]); $i++) {
        $files[] = $list[$_POST["files"][$i]];
    }
    foreach ($files as $file) {
        $CurrDir = ROOT_DIR;
        $inCurrDir = stristr(dirname($file["name"]), $CurrDir) ? TRUE : FALSE;
        if ($inCurrDir) {
            $add_files[] = substr($file["name"], strlen($CurrDir));
        }
    }
    require_once CLASS_DIR . "pclzip.php";
    $archive = new PclZip($_POST["archive"]);
    $no_compression = $options['disable_to']['act_archive_compression'] || isset($_POST["no_compression"]);
    if (file_exists($_POST["archive"])) {
        if ($no_compression) {
            $v_list = $archive->add($add_files, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_OPT_NO_COMPRESSION);
        } else {
            $v_list = $archive->add($add_files, PCLZIP_OPT_REMOVE_ALL_PATH);
        }
    } else {
        if ($no_compression) {
            $v_list = $archive->create($add_files, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_OPT_NO_COMPRESSION);
        } else {
            $v_list = $archive->create($add_files, PCLZIP_OPT_REMOVE_ALL_PATH);
        }
    }
    if ($v_list == 0) {
        echo $L->say['_error'] . ": " . $archive->errorInfo(true) . "<br /><br />";
        return;
    } else {
        echo $L->say['_arcv'] . " <b>" . $_POST["archive"] . "</b> " . $L->say['success_created'] . "<br /><br />";
    }
    if (is_file($_POST['archive'])) {
        $time = getNowzone(@filemtime($_POST['archive']));
        while (isset($list[$time])) {
            $time++;
        }
        $list[$time] = array("name" => $_POST['archive'], "size" => bytesToKbOrMbOrGb(filesize($_POST['archive'])), "date" => $time);
        if (!updateListInFile($list)) {
            echo $L->say['couldnt_upd_list'] . "<br /><br />";
        }
    }
}
示例#23
0
    if ($file != ".") {
        if ($file != "..") {
            if ($file != "index.html") {
                if (!is_dir($path . "/" . $file)) {
                    ?>
    
  <tr>
    <td align="right"><b> &nbsp; <a href='md5.php?file=<?php 
                    echo $file;
                    ?>
'><?php 
                    echo $file;
                    ?>
</a> &nbsp; </b></td>
    <td align="center"> &nbsp; <?php 
                    echo bytesToKbOrMbOrGb(filesize($path . "/" . $file));
                    ?>
 <small>bytes</small> &nbsp; </td>
    <td><b> &nbsp; <?php 
                    echo md5_file($path . "/" . $file);
                    ?>
 &nbsp; </b></td>
  </tr>
<?php 
                }
            }
        }
    }
}
closedir($handle);
?>
示例#24
0
function merge_go()
{
    global $list, $options;
    if (count($_POST["files"]) !== 1) {
        echo lang(167) . "<br /><br />";
    } else {
        $file = $list[$_POST["files"][0]];
        if (substr($file["name"], -4) == '.001' && is_file(substr($file["name"], 0, -4) . '.crc')) {
            echo lang(168) . "<br /><br />";
        } elseif (substr($file["name"], -4) !== '.crc' && substr($file["name"], -4) !== '.001') {
            echo lang(169) . "<br /><br />";
        } else {
            $usingcrcfile = substr($file["name"], -4) === '.001' ? false : true;
            if (!$usingcrcfile) {
                $data = array('filename' => basename(substr($file["name"], 0, -4)), 'size' => -1, 'crc32' => '00111111');
            } else {
                $fs = @fopen($file["name"], "rb");
            }
            if ($usingcrcfile && !$fs) {
                echo lang(178) . "<br /><br />";
            } else {
                if ($usingcrcfile) {
                    $data = array();
                    while (!feof($fs)) {
                        $data_ = explode('=', trim(fgets($fs)), 2);
                        $data[$data_[0]] = $data_[1];
                    }
                    fclose($fs);
                }
                $path = realpath(DOWNLOAD_DIR) . PATH_SPLITTER;
                $filename = basename($data['filename']);
                $partfiles = array();
                $partsSize = 0;
                for ($j = 1; $j < 10000; $j++) {
                    if (!is_file($path . $filename . '.' . sprintf("%03d", $j))) {
                        if ($j == 1) {
                            $partsSize = -1;
                        }
                        break;
                    }
                    $partfiles[] = $path . $filename . '.' . sprintf("%03d", $j);
                    $partsSize += filesize($path . $filename . '.' . sprintf("%03d", $j));
                }
                if (file_exists($path . $filename)) {
                    printf(lang(179), $path . $filename);
                    echo "<br /><br />";
                } elseif ($usingcrcfile && $partsSize != $data['size']) {
                    echo lang(180) . "<br /><br />";
                } elseif ($options['check_these_before_unzipping'] && is_array($options['forbidden_filetypes']) && in_array(strtolower(strrchr($filename, ".")), $options['forbidden_filetypes'])) {
                    printf(lang(181), strrchr($filename, "."));
                    echo "<br /><br />";
                } else {
                    $merge_buffer_size = 2 * 1024 * 1024;
                    $merge_dest = @fopen($path . $filename, "wb");
                    if (!$merge_dest) {
                        printf(lang(182), $path . $filename);
                        echo "<br /><br />";
                    } else {
                        $merge_ok = true;
                        foreach ($partfiles as $part) {
                            $merge_source = @fopen($part, "rb");
                            while (!feof($merge_source)) {
                                $merge_buffer = fread($merge_source, $merge_buffer_size);
                                if ($merge_buffer === false) {
                                    printf(lang(65), $part);
                                    echo "<br /><br />";
                                    $merge_ok = false;
                                    break;
                                }
                                if (fwrite($merge_dest, $merge_buffer) === false) {
                                    printf(lang(183), $path . $filename);
                                    echo "<br /><br />";
                                    $merge_ok = false;
                                    break;
                                }
                            }
                            fclose($merge_source);
                            if (!$merge_ok) {
                                break;
                            }
                        }
                        fclose($merge_dest);
                        if ($merge_ok) {
                            $fc = $_POST['crc_mode'] == 'file_read' ? dechex(crc32(read_file($path . $filename))) : ($_POST['crc_mode'] == 'hash_file' && function_exists('hash_file') ? hash_file('crc32b', $path . $filename) : '111111');
                            $fc = str_repeat("0", 8 - strlen($fc)) . strtoupper($fc);
                            if ($fc != strtoupper($data["crc32"])) {
                                echo lang(184) . "<br /><br />";
                            } else {
                                printf(lang(185), $filename);
                                echo '!<br /><br />';
                                if ($usingcrcfile && $fc != '00111111' && $_POST["del_ok"] && !$options['disable_deleting']) {
                                    if ($usingcrcfile) {
                                        $partfiles[] = $file["name"];
                                    }
                                    foreach ($partfiles as $part) {
                                        if (@unlink($part)) {
                                            foreach ($list as $list_key => $list_file) {
                                                if ($list_file["name"] === $part) {
                                                    unset($list[$list_key]);
                                                }
                                            }
                                            echo "<b>" . basename($part) . "</b> " . lang(186) . ".<br />";
                                        } else {
                                            echo "<b>" . basename($part) . "</b> " . lang(187) . ".<br />";
                                        }
                                    }
                                    echo "<br />";
                                }
                                $time = filemtime($path . $filename);
                                while (isset($list[$time])) {
                                    $time++;
                                }
                                $list[$time] = array("name" => $path . $filename, "size" => bytesToKbOrMbOrGb($partsSize), "date" => $time);
                                if (!updateListInFile($list)) {
                                    echo lang(146) . "<br /><br />";
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
示例#25
0
function putfile($host, $port, $url, $referer, $cookie, $file, $filename, $proxy = 0, $pauth = 0, $upagent = 0, $scheme = 'http')
{
    global $nn, $lastError, $fp, $fs;
    if (empty($upagent)) {
        $upagent = rl_UserAgent;
    }
    $scheme = strtolower("{$scheme}://");
    if (!is_readable($file)) {
        $lastError = sprintf(lang(65), $file);
        return FALSE;
    }
    $fileSize = getSize($file);
    if (!empty($cookie)) {
        if (is_array($cookie)) {
            $cookies = count($cookie) > 0 ? CookiesToStr($cookie) : 0;
        } else {
            $cookies = trim($cookie);
        }
    }
    if ($scheme == 'https://') {
        if (!extension_loaded('openssl')) {
            html_error('You need to install/enable PHP\'s OpenSSL extension to support uploading via HTTPS.');
        }
        $scheme = 'tls://';
        if ($port == 0 || $port == 80) {
            $port = 443;
        }
    }
    if (!empty($referer) && ($pos = strpos("\r\n", $referer)) !== 0) {
        $origin = parse_url($pos ? substr($referer, 0, $pos) : $referer);
        $origin = strtolower($origin['scheme']) . '://' . strtolower($origin['host']) . (!empty($origin['port']) && $origin['port'] != defport(array('scheme' => $origin['scheme'])) ? ':' . $origin['port'] : '');
    } else {
        $origin = ($scheme == 'tls://' ? 'https://' : $scheme) . $host . ($port != 80 && ($scheme != 'tls://' || $port != 443) ? ':' . $port : '');
    }
    if ($proxy) {
        list($proxyHost, $proxyPort) = explode(':', $proxy, 2);
        $host = $host . ($port != 80 && ($scheme != 'tls://' || $port != 443) ? ':' . $port : '');
        $url = "{$scheme}{$host}{$url}";
    }
    if ($scheme != 'tls://') {
        $scheme = '';
    }
    $request = array();
    $request[] = 'PUT ' . str_replace(' ', '%20', $url) . ' HTTP/1.1';
    $request[] = "Host: {$host}";
    $request[] = "User-Agent: {$upagent}";
    $request[] = 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
    $request[] = 'Accept-Language: en-US,en;q=0.9';
    $request[] = 'Accept-Charset: utf-8,windows-1251;q=0.7,*;q=0.7';
    if (!empty($referer)) {
        $request[] = "Referer: {$referer}";
    }
    if (!empty($cookies)) {
        $request[] = "Cookie: {$cookies}";
    }
    if (!empty($pauth)) {
        $request[] = "Proxy-Authorization: Basic {$pauth}";
    }
    $request[] = "X-File-Name: {$filename}";
    $request[] = "X-File-Size: {$fileSize}";
    $request[] = "Origin: {$origin}";
    $request[] = 'Content-Disposition: attachment';
    $request[] = 'Content-Type: multipart/form-data';
    $request[] = "Content-Length: {$fileSize}";
    $request[] = 'Connection: Close';
    $request = implode($nn, $request) . $nn . $nn;
    $errno = 0;
    $errstr = '';
    $hosts = (!empty($proxyHost) ? $scheme . $proxyHost : $scheme . $host) . ':' . (!empty($proxyPort) ? $proxyPort : $port);
    $fp = @stream_socket_client($hosts, $errno, $errstr, 120, STREAM_CLIENT_CONNECT);
    if (!$fp) {
        if (!function_exists('stream_socket_client')) {
            html_error('[ERROR] stream_socket_client() is disabled.');
        }
        $dis_host = !empty($proxyHost) ? $proxyHost : $host;
        $dis_port = !empty($proxyPort) ? $proxyPort : $port;
        html_error(sprintf(lang(88), $dis_host, $dis_port));
    }
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    if ($proxy) {
        echo '<p>' . sprintf(lang(89), $proxyHost, $proxyPort) . '<br />PUT: <b>' . htmlspecialchars($url) . "</b>...<br />\n";
    } else {
        echo '<p>' . sprintf(lang(90), $host, $port) . '</p>';
    }
    echo lang(104) . ' <b>' . htmlspecialchars($filename) . '</b>, ' . lang(56) . ' <b>' . bytesToKbOrMbOrGb($fileSize) . '</b>...<br />';
    $GLOBALS['id'] = md5(time() * rand(0, 10));
    require TEMPLATE_DIR . '/uploadui.php';
    flush();
    $timeStart = microtime(true);
    $chunkSize = GetChunkSize($fileSize);
    fwrite($fp, $request);
    fflush($fp);
    $fs = fopen($file, 'r');
    $totalsend = $time = $lastChunkTime = 0;
    while (!feof($fs) && !$errno && !$errstr) {
        $data = fread($fs, $chunkSize);
        if ($data === false) {
            fclose($fs);
            fclose($fp);
            html_error(lang(112));
        }
        $sendbyte = @fwrite($fp, $data);
        fflush($fp);
        if ($sendbyte === false || strlen($data) > $sendbyte) {
            fclose($fs);
            fclose($fp);
            html_error(lang(113));
        }
        $totalsend += $sendbyte;
        $time = microtime(true) - $timeStart;
        $chunkTime = $time - $lastChunkTime;
        $chunkTime = $chunkTime > 0 ? $chunkTime : 1;
        $lastChunkTime = $time;
        $speed = round($sendbyte / 1024 / $chunkTime, 2);
        $percent = round($totalsend / $fileSize * 100, 2);
        echo "<script type='text/javascript'>pr('{$percent}', '" . bytesToKbOrMbOrGb($totalsend) . "', '{$speed}');</script>\n";
        flush();
    }
    if ($errno || $errstr) {
        $lastError = $errstr;
        return false;
    }
    fclose($fs);
    fflush($fp);
    $llen = 0;
    $header = '';
    do {
        $header .= fgets($fp, 16384);
        $len = strlen($header);
        if (!$header || $len == $llen) {
            $lastError = lang(91);
            stream_socket_shutdown($fp, STREAM_SHUT_RDWR);
            fclose($fp);
            return false;
        }
        $llen = $len;
    } while (strpos($header, $nn . $nn) === false);
    // Array for active stream filters
    $sFilters = array();
    if (stripos($header, "\nTransfer-Encoding: chunked") !== false && in_array('dechunk', stream_get_filters())) {
        $sFilters['dechunk'] = stream_filter_append($fp, 'dechunk', STREAM_FILTER_READ);
    }
    // Add built-in dechunk filter
    $page = '';
    do {
        $data = @fread($fp, 16384);
        if ($data == '') {
            break;
        }
        $page .= $data;
    } while (!feof($fp) && strlen($data) > 0);
    stream_socket_shutdown($fp, STREAM_SHUT_RDWR);
    fclose($fp);
    if (stripos($header, "\nTransfer-Encoding: chunked") !== false && empty($sFilters['dechunk']) && function_exists('http_chunked_decode')) {
        $dechunked = http_chunked_decode($page);
        if ($dechunked !== false) {
            $page = $dechunked;
        }
        unset($dechunked);
    }
    $page = $header . $page;
    return $page;
}
示例#26
0
function updateFtpProgress($bytesReceived)
{
    global $FtpBytesTotal, $FtpBytesReceived, $FtpTimeStart, $FtpLastChunkTime, $FtpChunkSize, $FtpLast, $FtpUpload, $FtpUploadBytesSent;
    if ($FtpUpload) {
        $FtpUploadBytesSent += $bytesReceived;
        $bytesReceived = $FtpUploadBytesSent;
    }
    $FtpBytesReceived = $bytesReceived;
    if ($bytesReceived > $FtpLast + $FtpChunkSize) {
        $time = getmicrotime() - $FtpTimeStart;
        $chunkTime = $time - $FtpLastChunkTime;
        $FtpLastChunkTime = $time;
        $speed = round($FtpChunkSize / 1024 / $chunkTime, 2);
        # $FtpBytesReceived = $bytesReceived;
        if ($bytesReceived > $FtpBytesTotal) {
            $percent = 100;
        } else {
            $percent = round($bytesReceived / $FtpBytesTotal * 100, 2);
        }
        $FtpLast = $bytesReceived;
        echo "<script type='text/javascript'>pr({$percent}, '" . bytesToKbOrMbOrGb($bytesReceived) . "', {$speed})</script>\r\n";
    }
}
示例#27
0
    foreach ($uploads as $file => $hosts) {
        // If file does not exist
        if (!file_exists($file)) {
            html_error($L->sprintf($L->say['file_not_exists'], $file));
        }
        // If file is not readable
        if (is_readable($file)) {
            $lfile = $file;
            $lname = basename($lfile);
        } else {
            html_error($L->sprintf($L->say['error_read_file'], $file));
        }
        // Get the size of the file
        $fsize = getSize($lfile);
        // Start uploading this file
        echo "Uploading <b>" . basename($file) . "</b>&nbsp[<b class='g'>" . bytesToKbOrMbOrGb($fsize) . "</b>]<br />";
        // Upload to different hosts
        foreach ($hosts as $host => $value) {
            echo "Transload destination: <b style='color:#FFFF00'>" . $host . "</b><br/>";
            ?>
<script type="text/javascript">
var orlink='<?php 
            echo basename($file);
            ?>
 to <?php 
            echo $host;
            ?>
';
</script>
<?php 
            //ob_start("callback");
示例#28
0
      $result = curl_exec($ch);
      curl_close($ch);
      $apiresult = parseResult($result);
     */
     /* END OF AMBIL EXPDATE, ditambah gara2 ada rule rapid 25 May 2010 */
     $loginfunc = "cz";
     if (!$czone) {
         $loginfunc = "";
         $szGb = '&nbsp;GB';
         $slipOut = $traffic[1] . ":" . $valid[1] . ":" . $trafficlft . ":";
     }
     $ret_acc = "";
     $frpoints[1] = "-";
     //$rapids[1] = "-";
     $rfpoints = "-";
     $accauth = "<td><a href=\"javascript:;\" onclick=\"login('" . $User . "','" . $Pass . "','" . $loginfunc . "');\">" . $User . "</a></td>" . "<td>" . $Pass . "</td><td align=center>" . $frpoints[1] . "</td><td align=center>" . $rapids[1] . "</td><td align=center>" . $rfpoints . "</td>" . "<td align=right>" . bytesToKbOrMbOrGb($traffic[1] * 1024) . "</td>" . "<td align=right>" . $valid[1] . "</td>";
     $rpu = "<td align=center><span title='Security&nbsp;Lock'>" . $slocktext . "</span></td><td><span>" . $emailnye[1] . "</span></td>";
     $trhead = "<tr class=\"acc_chk\"";
     $ret_acc = $User . ":" . $Pass . ":" . $rapids[1] . ":" . $slipOut . $emailnye[1] . ":";
     $ret_acc .= $slock[1] == "1" ? "secured" : "UNSECURE";
 } else {
     $detil = "<td align=right><span title='Expiration date'>" . $valid[1] . "</span></td>";
     $pjgusr = strlen($User);
     $star = "********************************************";
     $detilusr = $pjgusr > 3 ? ($pjgusr - 3 > 6 ? '*****' : substr($star, 0, $pjgusr - 3)) . substr($User, -3) : $User;
     if ($authorized == 0) {
         $detil = "";
     }
     $accauth = "<td align=center>" . $detilusr . "</td>" . $detil;
     $trhead = "<tr class=\"accnfo\"";
 }
示例#29
0
function split_go()
{
    global $list, $options;
    for ($i = 0; $i < count($_POST['files']); $i++) {
        $split_ok = true;
        $file = $list[$_POST['files'][$i]];
        $partSize = round($_POST['partSize'][$i] * 1024 * 1024);
        $saveTo = $options['download_dir_is_changeable'] ? stripslashes($_POST['saveTo'][$i]) : realpath(DOWNLOAD_DIR) . '/';
        if (substr($saveTo, -1) != '/') {
            $saveTo .= '/';
        }
        $dest_name = basename($file['name']);
        $fileSize = filesize($file['name']);
        $totalParts = ceil($fileSize / $partSize);
        $crc = $_POST['crc_mode'][$i] == 'file_read' ? dechex(crc32(read_file($file['name']))) : ($_POST['crc_mode'][$i] == 'hash_file' && function_exists('hash_file') ? hash_file('crc32b', $file['name']) : '111111');
        $crc = str_repeat('0', 8 - strlen($crc)) . strtoupper($crc);
        echo "Started to split file <b>{$dest_name}</b> parts of " . bytesToKbOrMbOrGb($partSize) . ", Using Method - Total Commander...<br />";
        echo "Total Parts: <b>{$totalParts}</b><br /><br />";
        for ($j = 1; $j <= $totalParts; $j++) {
            if (file_exists("{$saveTo}{$dest_name}." . sprintf('%03d', $j))) {
                echo "It is not possible to split the file. A piece already exists <b>{$dest_name}." . sprintf('%03d', $j) . '</b> !<br /><br />';
                continue 2;
            }
        }
        if (file_exists("{$saveTo}{$dest_name}.crc")) {
            echo "It is not possible to split the file. CRC file already exists <b>{$dest_name}.crc</b> !<br /><br />";
        } elseif (!is_file($file['name'])) {
            echo "It is not possible to split the file. Source file not found <b>{$file['name']}</b> !<br /><br />";
        } elseif (!is_dir($saveTo)) {
            echo "It is not possible to split the file. Directory doesn't exist<b>{$saveTo}</b> !<br /><br />";
        } elseif (!@write_file("{$saveTo}{$dest_name}.crc", "filename={$dest_name}\r\nsize={$fileSize}\r\ncrc32={$crc}\r\n")) {
            echo "It is not possible to split the file. CRC Error<b>{$dest_name}.crc" . "</b> !<br /><br />";
        } else {
            $time = filemtime("{$saveTo}{$dest_name}.crc");
            while (isset($list[$time])) {
                $time++;
            }
            $list[$time] = array('name' => realpath("{$saveTo}{$dest_name}.crc"), 'size' => bytesToKbOrMbOrGb(filesize("{$saveTo}{$dest_name}.crc")), 'date' => $time);
            $split_buffer_size = 2 * 1024 * 1024;
            $split_source = @fopen($file['name'], 'rb');
            if (!$split_source) {
                echo "It is not possible to open source file <b>{$file['name']}</b> !<br /><br />";
                continue;
            }
            for ($j = 1; $j <= $totalParts; $j++) {
                $part = sprintf('%03d', $j);
                $part_name = "{$dest_name}.{$part}";
                $dest_file = $saveTo . $part_name;
                $split_dest = @fopen($dest_file, 'wb');
                if (!$split_dest) {
                    echo "Error openning file <b>{$part_name}</b> !<br /><br />";
                    $split_ok = false;
                    break;
                }
                $split_write_times = floor($partSize / $split_buffer_size);
                for ($k = 0; $k < $split_write_times; $k++) {
                    $split_buffer = fread($split_source, $split_buffer_size);
                    $split_written = fwrite($split_dest, $split_buffer);
                    if ($split_written === false || $split_written != strlen($split_buffer)) {
                        echo "Error writing the file <b>{$part_name}</b> !<br /><br />";
                        $split_ok = false;
                        break;
                    }
                }
                $split_rest = $partSize - $split_write_times * $split_buffer_size;
                if ($split_ok && $split_rest > 0) {
                    $split_buffer = fread($split_source, $split_rest);
                    $split_written = fwrite($split_dest, $split_buffer);
                    if ($split_written === false || $split_written != strlen($split_buffer)) {
                        echo "Error writing the file <b>{$part_name}</b> !<br /><br />";
                        $split_ok = false;
                    }
                }
                fclose($split_dest);
                if ($split_ok) {
                    $time = filemtime($dest_file);
                    while (isset($list[$time])) {
                        $time++;
                    }
                    $list[$time] = array('name' => realpath($dest_file), 'size' => bytesToKbOrMbOrGb(filesize($dest_file)), 'date' => $time);
                }
            }
            fclose($split_source);
            if ($split_ok && $_POST['del_ok'] && !$options['disable_deleting']) {
                if (@unlink($file['name'])) {
                    unset($list[$_POST['files'][$i]]);
                    echo 'Source file deleted.<br /><br />';
                } else {
                    echo 'Source file is<b>not deleted!</b><br /><br />';
                }
            }
            if (!updateListInFile($list)) {
                echo "Couldn't update file list. Problem writing to file!<br /><br />";
            }
        }
    }
}
示例#30
0
function ftp_go()
{
    global $list, $options, $L;
    require_once CLASS_DIR . "ftp.php";
    $ftp = new ftp();
    if (!$ftp->SetServer($_POST["host"], (int) $_POST["port"])) {
        $ftp->quit();
        echo $L->sprintf($L->say['couldnt_establish_con'], $_POST["host"] . ":" . $_POST["port"]);
        echo '<br /><a href="javascript:history.back(-1);">' . $L->say['_back'] . '</a><br /><br />';
    } else {
        if (!$ftp->connect()) {
            $ftp->quit();
            echo "<br />";
            echo $L->sprintf($L->say['couldnt_establish_con'], $_POST["host"] . ":" . $_POST["port"]);
            echo '<br /><a href="javascript:history.back(-1);">' . $L->say['_back'] . '</a><br /><br />';
        } else {
            $L->sprintf($L->say['_con'], 'ftp://' . $_POST['host'] . ':' . $_POST['port']);
            if (!$ftp->login($_POST["login"], $_POST["password"])) {
                $ftp->quit();
                echo "<br />";
                echo $L->say['incorrect_userpass'];
                echo '<br /><a href="javascript:history.back(-1);">' . $L->say['_back'] . '</a><br /><br />';
            } else {
                //$ftp->Passive(FALSE);
                if (!$ftp->chdir($_POST["dir"])) {
                    $ftp->quit();
                    echo "<br />";
                    echo $L->sprintf($L->say['_cant_locatefold'], $_POST['dir']);
                    echo '<br /><a href="javascript:history.back(-1);">' . $L->say['_back'] . '</a><br /><br />';
                } else {
                    ?>
<br />
				<div id="status"></div>
				<br />
				<table cellspacing="0" cellpadding="0">
					<tr>
						<td></td>
						<td>
						<div class="progressouter">
						<div style="width:298px">
							<div id="progress" class="ftpprogress"></div>
						</div>
						</div>
						</td>
						<td></td>
					</tr>
					<tr>
						<td align="left" id="received">0 KB</td>
						<td align="center" id="percent">0%</td>
						<td align="right" id="speed">0 KB/s</td>
					</tr>
				</table>
				<br />
<?php 
                    for ($i = 0; $i < count($_POST["files"]); $i++) {
                        $file = $list[$_POST["files"][$i]];
                        echo '<script type="text/javascript">changeStatus(' . "'" . addslashes(basename($file["name"])) . "', '" . $file["size"] . "');</script>";
                        $FtpBytesTotal = filesize($file["name"]);
                        $FtpTimeStart = getmicrotime();
                        if ($ftp->put($file["name"], basename($file["name"]))) {
                            $time = round(getmicrotime() - $FtpTimeStart);
                            $speed = @round($FtpBytesTotal / 1024 / $time, 2);
                            echo '<script type="text/javascript">pr(100, ' . "'" . bytesToKbOrMbOrGb($FtpBytesTotal) . "', " . $speed . ")</script>\r\n";
                            flush();
                            if ($_POST["del_ok"] && !$options['disable_to']['act_del']) {
                                if (@unlink($file["name"])) {
                                    unset($list[$_POST["files"][$i]]);
                                }
                            }
                            echo $L->sprintf($L->say['_successupl'], '<a href="ftp://' . $_POST["login"] . ':' . $_POST["password"] . '@' . $_POST["host"] . ':' . $_POST["port"] . $_POST["dir"] . '/' . basename($file["name"]) . '"><b>' . basename($file["name"]) . '</b></a>');
                            echo "<br />" . $L->say['_time'] . ": <b>" . sec2time($time) . "</b><br />" . $L->say['_avg_spd'] . ": <b>" . $speed . " KB/s</b><br /><br />";
                        } else {
                            echo $L->sprintf($L->say['couldnt_upl_file'], basename($file['name'])) . "<br />";
                        }
                    }
                    $ftp->quit();
                }
            }
        }
    }
}