function processDir($baseDir, $dirName, $ns, $processMethod, $useLibPath)
{
    global $ignoredClasses;
    $dir = $baseDir . '/' . $dirName;
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if (substr($entry, 0, 1) != '.') {
                if (!is_dir($dir . '/' . $entry)) {
                    $nameParts = explode('.', $entry);
                    if (!in_array($nameParts[0], $ignoredClasses)) {
                        call_user_func($processMethod, $ns, $nameParts[0], $dir, $useLibPath);
                    }
                } else {
                    $newNS = $ns;
                    if ($ns != '') {
                        $newNS = $ns . '\\' . $entry;
                    }
                    processDir($dir, $entry, $newNS, $processMethod, $useLibPath);
                }
            }
        }
    } else {
        print "ERROR: Cannot open " . $dir;
    }
}
Ejemplo n.º 2
0
function processDir($dirResource, $root)
{
    global $mysqli;
    while (false !== ($entry = readdir($dirResource))) {
        if ($entry != '.' && $entry != '..') {
            if (is_dir($root . '/' . $entry)) {
                $dirToProcess = opendir($root . '/' . $entry);
                processDir($dirToProcess, $root . '/' . $entry);
            } elseif (is_file($root . '/' . $entry)) {
                $filedata = stat($root . '/' . $entry);
                if (!fileEntryExists($root . '/' . $entry, $filedata, $mysqli)) {
                    createFileEntry($root . '/' . $entry, $filedata, $mysqli);
                    $mysqli->query("INSERT INTO dicom_file_queue (filename, detected_date, last_modified_date, status_id) VALUES ('" . $root . '/' . $entry . "', now(), now(), (SELECT id FROM dicom_process_status WHERE name = 'new'))");
                }
            }
        }
    }
}
Ejemplo n.º 3
0
function processDir($dirResource, $root, $logger)
{
    global $mysqli;
    global $newfile;
    //echo "Processing: ".$root."\n";
    while (false !== ($entry = readdir($dirResource))) {
        if ($entry != '.' && $entry != '..') {
            if (is_dir($root . '/' . $entry)) {
                $dirToProcess = opendir($root . '/' . $entry);
                processDir($dirToProcess, $root . '/' . $entry, $logger);
            } elseif (is_file($root . '/' . $entry)) {
                $filedata = stat($root . '/' . $entry);
                if (!fileEntryExists($root . '/' . $entry, $filedata, $mysqli)) {
                    echo 'New file arrived: ' . $entry . "\n";
                    $newfile = true;
                    createFileEntry($root . '/' . $entry, $filedata, $mysqli);
                    $mysqli->query("INSERT INTO dicom_file_queue (filename, detected_date, last_modified_date, status_id) VALUES ('" . $root . '/' . $entry . "', now(), now(), (SELECT id FROM dicom_process_status WHERE name = 'new'))");
                    $logger->addLogEntry($root . '/' . $entry, 'new', basename($_SERVER['SCRIPT_FILENAME']));
                }
            }
        }
    }
}
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.º 5
0
<?php

define(BASE_DIR, "/mine/Pictures");
processDir(BASE_DIR);
function processDir($dir)
{
    $files = glob($dir . "/*");
    foreach ($files as $file) {
        $thumbnailer = new Thumbnailer(BASE_DIR);
        if (!$thumbnailer->generateThumb($file)) {
            echo "Failed to generate thumbnail" . PHP_EOL;
            exit;
        }
    }
}