'successfully deleted', 'ULdelfail' => 'failed to delete', 'ULdelaction' => 'Delete Checked Files', 'ULdelnofiles' => 'No files marked to delete')); /* if(function_exists('Markup_e')) { # new format, no /e Markup_e('newattachlist', 'directives', '/\\(:newattachlist\\s*(.*?):\\)/i', "Keep('')"); } else { # old format Markup('attachlist', ''.FmtNewUploadList('$pagename',PSS('$1')).'')"); } */ Markup('newattachlist', 'directives', '/\\(:newattachlist\\s*(.*?):\\)/i', "MarkupFmtNewUploadList"); function MarkupFmtNewUploadList($m) { extract($GLOBALS["MarkupToHTML"]); # get $pagename return Keep(''); } SDVA($HandleActions, array('postdelattach' => 'HandleAttachmentDelete')); SDVA($HandleAuth, array('postdelattach' => 'upload')); function HandleAttachmentDelete($pagename, $auth = 'upload') { global $UploadDir, $UploadPrefixFmt, $PageStartFmt, $PageEndFmt; $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); if (!$page) Abort("?cannot delete from $pagename"); PCache($pagename,$page); $uploaddir = FmtPageName("$UploadDir$UploadPrefixFmt", $pagename); $out = array(); $out[] = "

$[Attachments for] \$FullName

"; if(count(@$_REQUEST['files']) == 0) { $out[] = "$[ULdelnofiles]
"; } else { foreach(@$_REQUEST['files'] as $fn) { $fn = urldecode(preg_replace('/^[.\\/\\\\]*/', '', $fn)); if (@unlink($uploaddir . "/" . $fn)) { $out[] = FmtPageName("$fn ... $[ULdelsuccess]
",$pagename); // changed } else { $out[] = FmtPageName("$fn ... $[ULdelfail]
",$pagename); // changed } } } $out[] = "

"; //SDV($PageDeleteFmt,array(FmtPageName($out, $pagename), SDV($PageDeleteFmt,array(&$out, &$PageUploadFmt,array("
$[File to upload:]
$[Name attachment as:]
"), "wiki:$[Site.UploadQuickReference]")); SDV($HandleDeleteFmt,array(&$PageStartFmt,&$PageDeleteFmt,&$PageEndFmt)); PrintFmt($pagename,$HandleDeleteFmt); } function FmtNewUploadList($pagename, $args) { global $UploadDir, $UploadPrefixFmt, $UploadUrlFmt, $EnableUploadOverwrite, $TimeFmt, $EnableDirectDownload, $HandleAuth, $IMapLinkFmt, $UrlLinkFmt, $FmtV; $opt = ParseArgs($args); if (@$opt[''][0]) $pagename = MakePageName($pagename, $opt[''][0]); $matchfnames = ''; if (@$opt['names'] ) $matchfnames = $opt['names']; if (@$opt['ext']) $matchfnames .= FixGlob($opt['ext'], '$1.$2'); $uploaddir = FmtPageName("$UploadDir$UploadPrefixFmt", $pagename); $uploadurl = FmtPageName(IsEnabled($EnableDirectDownload, 1) ? "$UploadUrlFmt$UploadPrefixFmt/" : "\$PageUrl?action=download&upname=", $pagename); $dirp = @opendir($uploaddir); if (!$dirp) return 'Ups! '.$upldir; $filelist = array(); while (($file=readdir($dirp)) !== false) { if ($file[0] == '.') continue; if (@$matchext && !preg_match(@$matchext, $file)) continue; $filelist[$file] = $file; } closedir($dirp); $page = RetrieveAuthPage($pagename, $HandleAuth['postdelattach'], false, READPAGE_CURRENT); $out = array(); if($page) { $out[] = FmtPageName("
", $pagename); $out[] = FmtPageName("", $pagename); $out[] = ""; } asort($filelist); $overwrite = ''; foreach($filelist as $file=>$x) { $name = PUE("$uploadurl$file"); $stat = stat("$uploaddir/$file"); if ($EnableUploadOverwrite) $overwrite = FmtPageName(" Δ", $pagename); $delete = ""; if($page) { $delete = FmtPageName("", $pagename); } $out[] = "
  • $delete$file$overwrite ... ". number_format($stat['size']) . " bytes ... " . strftime($TimeFmt, $stat['mtime']) . "
  • "; } if($page) { if (count($filelist) > 0) { $out[] = FmtPageName("
    ", $pagename); } $out[] = "
    "; } return implode("\n",$out); }