'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('
'.FmtNewUploadList('$pagename',\$m[1]).'
')");
}
else { # old format
Markup('attachlist', ''.FmtNewUploadList('$pagename',PSS('$1')).'')");
}
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
Delete Result
";
if(count(@$_REQUEST['files']) == 0) {
$out[] = "$[ULdelnofiles]
";
}
else {
foreach(@$_REQUEST['files'] as $fn) {
$fn = urldecode(preg_replace('/^[.\\/\\\\]*/', '', $fn));
if (@unlink($uploaddir . "/" . $fn)) {
$out[] = "$fn ... $[ULdelsuccess]
";
}
else {
$out[] = "$fn ... $[ULdelfail]
";
}
}
}
$out[] = "
";
SDV($PageDeleteFmt,array(FmtPageName($out, $pagename),
$PageUploadFmt,array("
$[Attachments for] {\$FullName}
"),
"wiki:$[Site.UploadQuickReference]"));
SDV($HandleDeleteFmt,array(&$PageStartFmt,&$PageDeleteFmt,&$PageEndFmt));
PrintFmt($pagename,$HandleDeleteFmt);
}
function FmtNewUploadList($pagename, $args) {
global $UploadDir, $UploadPrefixFmt, $UploadUrlFmt, $EnableUploadOverwrite,
$TimeFmt, $EnableDirectDownload, $HandleAuth;
$opt = ParseArgs($args);
if (@$opt[''][0]) $pagename = MakePageName($pagename, $opt[''][0]);
if (@$opt['ext'])
$matchext = '/\\.('
. implode('|', preg_split('/\\W+/', $opt['ext'], -1, PREG_SPLIT_NO_EMPTY))
. ')$/i';
$uploaddir = FmtPageName("$UploadDir$UploadPrefixFmt", $pagename);
$uploadurl = FmtPageName(IsEnabled($EnableDirectDownload, 1)
? "$UploadUrlFmt$UploadPrefixFmt/"
: "\$PageUrl?action=download&upname=",
$pagename);
$dirp = @opendir($uploaddir);
if (!$dirp) return '';
$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("";
}
return implode("\n",$out);
}
?>