Example #1
0
function add_dir($base, $subdir = "")
{
    global $page;
    if (!is_dir($base)) {
        print "Error: {$base} is not a directory\n";
        return;
    }
    print "Adding {$subdir}\n";
    $dir = opendir("{$base}/{$subdir}");
    while ($filename = readdir($dir)) {
        $fullpath = "{$base}/{$subdir}/{$filename}";
        if (is_link($fullpath)) {
            // ignore
        } else {
            if (is_dir($fullpath)) {
                if ($filename[0] != ".") {
                    add_dir($base, "{$subdir}/{$filename}");
                }
            } else {
                $tmpfile = $fullpath;
                $tags = $subdir;
                $tags = str_replace("/", " ", $tags);
                $tags = str_replace("__", " ", $tags);
                print "{$subdir}/{$filename} (" . str_replace(" ", ",", $tags) . ")... ";
                $error = add_image($tmpfile, $filename, $tags);
                if (is_null($error)) {
                    print "ok\n";
                } else {
                    print "failed: {$error}\n";
                }
            }
        }
    }
    closedir($dir);
}
Example #2
0
 public function onBulkAdd(BulkAddEvent $event)
 {
     if (is_dir($event->dir) && is_readable($event->dir)) {
         $event->results = add_dir($event->dir);
     } else {
         $h_dir = html_escape($event->dir);
         $event->results[] = "Error, {$h_dir} is not a readable directory";
     }
 }
Example #3
0
 public function onDataUpload(DataUploadEvent $event)
 {
     if ($this->supported_ext($event->type)) {
         global $config;
         $tmp = sys_get_temp_dir();
         $tmpdir = "{$tmp}/shimmie-archive-{$event->hash}";
         $cmd = $config->get_string('archive_extract_command');
         $cmd = str_replace('%f', $event->tmpname, $cmd);
         $cmd = str_replace('%d', $tmpdir, $cmd);
         exec($cmd);
         $results = add_dir($tmpdir);
         if (count($results) > 0) {
             // FIXME no theme?
             $this->theme->add_status("Adding files", $results);
         }
         deltree($tmpdir);
         $event->image_id = -2;
         // default -1 = upload wasn't handled
     }
 }
Example #4
0
}
if ($NATS_Session->userlevel < 9) {
    UL_Error("Filemanager Interface");
}
$dirs = array();
$dircount = 0;
function add_dir($name, $path)
{
    global $dirs, $dircount;
    $dirs[$dircount]['name'] = $name;
    $dirs[$dircount]['path'] = $path;
    $dircount++;
    return $dircount - 1;
}
add_dir("Site Tests", $BaseDir . "site/tests/");
add_dir("Site Events", $BaseDir . "site/events/");
// Actions Here
if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
        case "save":
            $fp = @fopen($dirs[$dirindex]['path'] . $filename, "w");
            if ($fp <= 0) {
                $msg = "Failed to Open File to Save";
            } else {
                $size = strlen($_REQUEST['content']);
                fputs($fp, $_REQUEST['content'], $size);
                fclose($fp);
                $msg = "File Saved";
            }
            break;
        case "delete":