function process($file)
{
    global $TVDIR, $MVDIR, $RMBIN, $autoDelete, $verbose, $moveCount;
    if (strpos($file, '/') !== 0) {
        $value = realpath(getcwd() . '/' . $file);
    } else {
        $value = realpath($file);
    }
    if (!$value) {
        return;
    }
    if ($verbose) {
        echo "Processing: {$value}\n";
    }
    chdir(dirname($value));
    $extensions = 'avi|mkv|mp4';
    if (is_dir($value)) {
        $moveCount[$value] = 0;
        processDir($value);
        if ($autoDelete && $moveCount[$value]) {
            $f = escapeshellarg($value);
            `{$RMBIN} -rf {$f}`;
            echo "Deleted: {$value}\n";
        }
        return;
    } else {
        if (preg_match('/.*\\.part[0]+1\\.rar/i', $value, $m) || !preg_match('/.*\\.part[0-9]+\\.rar/i', $value) && preg_match('/.*\\.rar/i', $value, $m)) {
            if ($verbose) {
                echo "Extract: {$value}\n";
            }
            $files = extractRar($value);
            if ($verbose) {
                echo "\n";
                print_r($files);
                echo "\n";
            }
            foreach ($files as $f) {
                if ($verbose) {
                    echo "Process Extracted: {$f}\n";
                }
                process("{$f}");
            }
        } else {
            if (stripos($value, 'sample') !== false) {
                // TV in format: name.S01E01.tag.avi
            } else {
                if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\. -](s[0-9]{2}e[0-9]{2})[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                    moveto($value, $TVDIR . '/' . folder($m[2]) . '/' . filename($m[2], $m[3]) . '.' . $m[4]);
                    // TV in format: name 1x14 episode title.avi
                } else {
                    if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\. -]([0-9]{1,2}x[0-9]{2})[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                        moveto($value, $TVDIR . '/' . folder($m[2]) . '/' . filename($m[2], $m[3]) . '.' . $m[4]);
                        // TV in format: name.2010.10.06.tag.avi
                    } else {
                        if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\. -](20[0-9]{2}[\\.\\-][0-9]{2}[\\.\\-][0-9]{2})[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                            moveto($value, $TVDIR . '/' . folder($m[2]) . '/' . filename($m[2], $m[3]) . '.' . $m[4]);
                            // TV with path in form /name.S01E01.tag/name...avi
                        } else {
                            if (preg_match('#/([a-z0-9\\- \\._]+)[\\. \\-](s[0-9]{2}e[0-9]{2})[^/]*/[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                                moveto($value, $TVDIR . '/' . folder($m[1]) . '/' . filename($m[1], $m[2]) . '.' . $m[3]);
                                // Movie parent in format: Movie.2010.dvd/CD1/tag-snom.avi
                            } else {
                                if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\ .-\\[\\(]((19|20)[0-9]{2})[^/]*/CD(1|2)/[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                                    moveto($value, $MVDIR . '/' . movie($m[2]) . ".{$m[3]}.part{$m[5]}.{$m[6]}");
                                    // Movie in format: movie.2010.dvd.avi (1900-2099) I don't have old movies
                                } else {
                                    if (preg_match("#(/)([a-z0-9\\- \\._]+)[\\ .-\\[\\(]((19|20)[0-9]{2})[^/]*\\.({$extensions})\$#i", $value, $m)) {
                                        moveto($value, $MVDIR . '/' . movie($m[2]) . ".{$m[3]}.{$m[5]}");
                                        // Movie parent in format: Movie.2010.dvd/tag-snom.avi
                                    } else {
                                        if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\ .-\\[\\(]((19|20)[0-9]{2})[^/]*/[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                                            moveto($value, $MVDIR . '/' . movie($m[2]) . ".{$m[3]}.{$m[5]}");
                                            // Movie in format: movie.dvdrip.tag.avi (1900-2099) I don't have old movies
                                        } else {
                                            if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\ .-\\[\\(](dvdrip|bdrip)[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                                                moveto($value, $MVDIR . '/' . movie($m[2]) . ".{$m[4]}");
                                                // Movie parent in format: Movie.dvdrip.tag/tag-snom.avi
                                            } else {
                                                if (preg_match('#(/)([a-z0-9\\- \\._]+)[\\ .-\\[\\(](dvdrip|bdrip)[^/]*/[^/]*\\.(avi|mkv)$#i', $value, $m)) {
                                                    moveto($value, $MVDIR . '/' . movie($m[2]) . ".{$m[4]}");
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
Ejemplo n.º 2
0
//-------------------- $entered IS FILTERED ---------------------\\
$taresplit = explode("TW", $entered);
if ($_SESSION["msg"] == "0") {
    lastpage();
    $_SESSION["msg"] = 99;
    $_SESSION["unlock"] = 0;
} elseif ($_SESSION["plainmsg"] && strlen($_SESSION["plainmsg"]) > 0) {
    printheaderb();
    plainmsg($_SESSION["plainmsg"]);
    $_SESSION["plainmsg"] = 0;
    $_SESSION["msg"] = 99;
} else {
    if ($entered == "stop") {
        inputUnknown();
    } elseif ($entered == "LOCK") {
        $away = moveto("login3.php");
    } elseif ($entered == "WAKEUP") {
        lastpage();
        rePoll();
        if ($_SESSION["OS"] != "win32") {
            exec("echo -e 'S11\\r' > /dev/ttyS0");
            exec("echo -e 'S14\\r' > /dev/ttyS0");
        }
    } elseif ($entered == "WAKEUP2") {
        lastpage();
        $_SESSION["beep"] = "wgtrequest";
    } elseif ($entered == "cdInvalid") {
        boxMsg($dt[0] . "% case discount invalid");
    } elseif ($entered == "cdStaffNA") {
        boxMsg("case discount not applicable to staff");
    } elseif ($entered == "cdSSINA") {