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>'; } }
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 . " (" . 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} (" . trim($fsize[1]) . ")</span>\n"; } elseif (!$_POST['d'] && preg_match("/{$regex}/i", $page)) { echo "<span class=\"g\">{$picGood} (" . 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 . " (" . trim($fsize[1]) . ")</span>\n"; } else { echo "<span class=\"r\">{$picEror}</span>\n"; } }
</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> ' . lang(283) . '</span>'; } else { $ddelay = round($delete_delay / 60); print '<span class="autodel">' . lang(282) . ': <b>' . $ddelay . '</b> ' . lang(284) . '</span>'; } }
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; }
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); }
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; }
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; }
?> <td><b class='sorttable_nosort'> <?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))'>";
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; }
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; }
?> "> <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: <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> <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;"> </div> <div style="float:left;">The D-Day traffic quota will expired</div><br><div style="height:3px;"> </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
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'] . '"]'; }
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; }
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 }
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 />'; } } } } } }
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(); } } } } }
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="" /> <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"> </div><input id="opt_date_trafic" name="opt_date_trafic" type="text" size="10" maxlength="10" value="" /> <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="" /> <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: <span id="cur_traffic"><b class="g" style="position:absolute;"><span id="trafshowresults"><?php echo bytesToKbOrMbOrGb($traffic->total); ?> </span> <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) {
$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 ? '>' : '') . $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";
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 }
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> 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 />"; } } } } }
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 />"; } } }
if ($file != ".") { if ($file != "..") { if ($file != "index.html") { if (!is_dir($path . "/" . $file)) { ?> <tr> <td align="right"><b> <a href='md5.php?file=<?php echo $file; ?> '><?php echo $file; ?> </a> </b></td> <td align="center"> <?php echo bytesToKbOrMbOrGb(filesize($path . "/" . $file)); ?> <small>bytes</small> </td> <td><b> <?php echo md5_file($path . "/" . $file); ?> </b></td> </tr> <?php } } } } } closedir($handle); ?>
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 />"; } } } } } } } } }
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; }
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"; } }
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> [<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");
$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 = ' 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 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\""; }
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 />"; } } } }
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(); } } } } }