Beispiel #1
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 
}
Beispiel #2
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 
}