[pmwiki-users] Upload Enhancement for file deletion

Dan Weber webmaster at drwhosting.net
Wed Dec 14 10:46:45 CST 2005


Hi,
This is my first attempt in writing a modification to PmWiki.

I am always missing a way to delete uploaded files from a Wiki but there was 
no built-in function for it. I looked at the upload.php script and 
"borrowed" some code to create the attached script attachdel.php.

If you use the (:newattachlist:) directive in a wiki page it will show a 
list of files like the (:attachlist:) does but it also adds a <del> link 
that allows you to delete a file (with confirmation). If you a change the 
Site.UploadQuickReference page to use (:newattachlist:) then you get this 
new functionality for every upload page.

The changes are quite minimal and the cleanest would be if they could be 
included in the standard upload.php script. Maybe use a config variable 
$EnableUploadDelete to control it?

Comments welcome!



begin 666 attachdel.php
M/#]P:' @:68@*"%D969I;F5D*"=0;5=I:VDG*2D at 97AI="@I.PHO*B @5&AI
M<R!S8W)I<'0 at 861D<R!T:&4 at 86)I;&ET>2!T;R!D96QE=&4@=7!L;V%D960@
M871T86-H;65N="!F:6QE<PH*(" @($EN(&]R9&5R(&9O<B!I="!T;R!W;W)K
M('1H92 H.F%T=&%C:&QI<W0Z*2!M87)K=7 @:6X at 4VET92Y5<&QO8611=6EC
M:U)E9F5R96YC90H@(" @8V%N(&)E(&-H86YG960@=&\@*#IN97=A='1A8VAL
M:7-T.BDL('=H:6-H('=I;&P at 861D(&$@9&5L971E(&]P=&EO;B!T;R *(" @
M(&%L;"!E>&ES=&EN9R!F:6QE<RX**B\*"EA,4T16*"=E;B<L87)R87DH"B @
M)U5,9&5L<W5C8V5S<R<@/3X@)W-U8V-E<W-F=6QL>2!D96QE=&5D)RP*(" G
M54QD96QF86EL)R ]/B G9F%I;&5D('1O(&1E;&5T92<I*3L*"DUA<FMU<"@G
M;F5W871T86-H;&ES="<L("<\8FQO8VLG+" *(" G+UQ<*#IN97=A='1A8VAL
M:7-T7%QS*B at N*C\I.EQ<*2]E:2<L"B @(DME97 H)SQU;#XG+D9M=$YE=U5P
M;&]A9$QI<W0H)R1P86=E;F%M92<L4%-3*"<D,2<I*2XG/"]U;#XG*2(I.PI3
M1%9!*"1(86YD;&5!8W1I;VYS+"!A<G)A>2 at G9&5L871T86-H)R ]/B G2&%N
M9&QE071T86-H;65N=$1E;&5T92<I*3L*4T1602 at D2&%N9&QE075T:"P at 87)R
M87DH)V1E;&%T=&%C:"<@/3X@)W5P;&]A9"<I*3L*"@IF=6YC=&EO;B!(86YD
M;&5!='1A8VAM96YT1&5L971E*"1P86=E;F%M92P@)&%U=&@@/2 G=7!L;V%D
M)RD@>PH@(&=L;V)A;" D57!L;V%D1&ER+" D57!L;V%D4')E9FEX1FUT.PH@
M("1P86=E(#T at 4F5T<FEE=F5!=71H4&%G92 at D<&%G96YA;64L("1A=71H+"!T
M<G5E+"!214%$4$%'15]#55)214Y4*3L*("!I9B H(21P86=E*2!!8F]R="@B
M/V-A;FYO="!D96QE=&4 at 9G)O;2 D<&%G96YA;64B*3L*("!00V%C:&4H)'!A
M9V5N86UE+"1P86=E*3L*(" D9FEL96YA;64@/2! )%]215%515-46R=F:6QE
M;F%M92==.R *(" D=7!L;V%D9&ER(#T at 1FUT4&%G94YA;64H(B15<&QO861$
M:7(D57!L;V%D4')E9FEX1FUT(BP@)'!A9V5N86UE*3L*("!I9BAU;FQI;FLH
M)'5P;&]A9&1I<B N("(O(B N("1F:6QE;F%M92DI('L*(" @("1R97-U;'0@
M/2 B=7!R97-U;'0]9&5L<W5C8V5S<R(["B @?0H@(&5L<V4@>PH@(" @)')E
M<W5L=" ](")U<')E<W5L=#UD96QF86EL(CL*("!]"B @4F5D:7)E8W0H)'!A
M9V5N86UE+")<)%!A9V55<FP_86-T:6]N/75P;&]A9"9U<')N86UE/21F:6QE
M;F%M928D<F5S=6QT(BD["GT*"@H*9G5N8W1I;VX at 1FUT3F5W57!L;V%D3&ES
M="@D<&%G96YA;64L("1A<F=S*2!["B @9VQO8F%L("15<&QO861$:7(L("15
M<&QO8610<F5F:7A&;70L("15<&QO8615<FQ&;70L("1%;F%B;&55<&QO861/
M=F5R=W)I=&4L"B @(" D5&EM949M="P@)$5N86)L941I<F5C=$1O=VYL;V%D
M.PH*(" D;W!T(#T at 4&%R<V5!<F=S*"1A<F=S*3L*("!I9B H0"1O<'1;)R==
M6S!=*2 D<&%G96YA;64@/2!-86ME4&%G94YA;64H)'!A9V5N86UE+" D;W!T
M6R<G75LP72D["B @:68@*$ D;W!T6R=E>'0G72D@"B @(" D;6%T8VAE>'0@
M/2 G+UQ<+B at G( H@(" @(" N(&EM<&QO9&4H)WPG+"!P<F5G7W-P;&ET*"<O
M7%Q7*R\G+" D;W!T6R=E>'0G72P at +3$L(%!214=?4U!,251?3D]?14U05%DI
M*0H@(" @(" N("<I)"]I)SL*"B @)'5P;&]A9&1I<B ]($9M=%!A9V5.86UE
M*"(D57!L;V%D1&ER)%5P;&]A9%!R969I>$9M="(L("1P86=E;F%M92D["B @
M)'5P;&]A9'5R;" ]($9M=%!A9V5.86UE*$ES16YA8FQE9"@D16YA8FQE1&ER
M96-T1&]W;FQO860L(#$I( H@(" @(" @(" @(" @(" @(" @(" @(" @(#\@
M(B15<&QO8615<FQ&;70D57!L;V%D4')E9FEX1FUT+R(*(" @(" @(" @(" @
M(" @(" @(" @(" @(" Z(")<)%!A9V55<FP_86-T:6]N/61O=VYL;V%D)F%M
M<#MU<&YA;64](BP*(" @(" @(" @(" @(" @(" @(" @("1P86=E;F%M92D[
M"@H@("1D:7)P(#T at 0&]P96YD:7(H)'5P;&]A9&1I<BD["B @:68@*"$D9&ER
M<"D@<F5T=7)N("<G.PH@("1F:6QE;&ES=" ](&%R<F%Y*"D["B @=VAI;&4@
M*"@D9FEL93UR96%D9&ER*"1D:7)P*2D@(3T](&9A;'-E*2!["B @("!I9B H
M)&9I;&5[,'T@/3T@)RXG*2!C;VYT:6YU93L*(" @(&EF("A )&UA=&-H97AT
M("8F("%P<F5G7VUA=&-H*$ D;6%T8VAE>'0L("1F:6QE*2D at 8V]N=&EN=64[
M"B @(" D9FEL96QI<W1;)&9I;&5=(#T@)&9I;&4["B @?0H@(&-L;W-E9&ER
M*"1D:7)P*3L*(" D;W5T(#T at 87)R87DH*3L*(" D;W5T6UT@/2 B/'-C<FEP
M=#YF=6YC=&EO;B!D96QC;VYF:7)M*&YA;64I('L@<F5T=7)N(&-O;F9I<FTH
M)T%R92!Y;W4@<W5R92!Y;W4@=V%N="!T;R!D96QE=&4@)R K(&YA;64@*R G
M/R<I.R!]/"]S8W)I<'0^(CL*("!A<V]R="@D9FEL96QI<W0I.PH@("1O=F5R
M=W)I=&4@/2 G)SL*("!F;W)E86-H*"1F:6QE;&ES="!A<R D9FEL93T^)'@I
M('L*(" @("1N86UE(#T at 4%5%*"(D=7!L;V%D=7)L)&9I;&4B*3L*(" @("1S
M=&%T(#T@<W1A="@B)'5P;&]A9&1I<B\D9FEL92(I.PH@(" @:68@*"1%;F%B
M;&55<&QO861/=F5R=W)I=&4I( H@(" @(" D;W9E<G=R:71E(#T at 1FUT4&%G
M94YA;64H(CQA(&-L87-S/2=C<F5A=&5L:6YK)PH@(" @(" @(&AR968])UPD
M4&%G955R;#]A8W1I;VX]=7!L;V%D)F%M<#MU<&YA;64])&9I;&4G/B9N8G-P
M.R9$96QT83L\+V$^(BP@"B @(" @(" @)'!A9V5N86UE*3L*(" @("1D96QE
M=&4@/2!&;71086=E3F%M92 at B/&$@8VQA<W,])V-R96%T96QI;FLG(&AR968]
M)UPD4&%G955R;#]A8W1I;VX]9&5L871T86-H)F%M<#MF:6QE;F%M93TD9FEL
M92<@;VYC;&EC:STG<F5T=7)N(&1E;&-O;F9I<FTH7"(D9FEL95PB*2<^)FQT
M.V1E;"9G=#L\+V$^(BP@)'!A9V5N86UE*3L@(" @(" @( H@(" @)&]U=%M=
M(#T@(CQL:3XD9&5L971E/&$@:')E9CTG)&YA;64G/B1F:6QE/"]A/B1O=F5R
M=W)I=&4 at +BXN("(N"B @(" @(&YU;6)E<E]F;W)M870H)'-T871;)W-I>F4G
M72D at +B B(&)Y=&5S("XN+B B("X@"B @(" @('-T<F9T:6UE*"14:6UE1FUT
M+" D<W1A=%LG;71I;64G72D at +B B/"]L:3XB.PH@('T*("!R971U<FX@:6UP
8;&]D92 at B7&XB+"1O=70I.PI]"@H*"C\^
`
end






More information about the pmwiki-users mailing list