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); }
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"; } }
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 } }
} 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":