Apache-DAV
view release on metacpan or search on metacpan
eg/props.epl view on Meta::CPAN
}
}
eval
{
my $subr ;
my $resource ;
if ($fdat{'*uri'})
{
# get sub request actual document
$subr = $req_rec->lookup_uri($fdat{'*uri'});
die 'ERROR in lookup_uri. Cannot create subrequest' if (!$subr) ;
my $err ;
($err, $resource) = $subr->get_resource;
die 'ERROR in get_resource(' . $err->status . '): ' . $err->desc if ($err) ;
}
if ($resource)
{
if ($fdat{'*add'})
{
%set = ($fdat{addname} => $fdat{addvalue}) ;
%remove = () ;
$fdat{'*patch'} = 1 ;
}
elsif ($fdat{'*remove'})
{
%remove = ($fdat{rmname} => 1) ;
%set = () ;
$fdat{'*patch'} = 1 ;
}
if ($fdat{'*patch'})
{
($status, $patchtext) = $resource -> proppatch ($subr, \%set, \%remove) ;
$fdat{'*find'} = 1 if (!$status) ;
}
elsif ($fdat{'*info'})
{
$resource -> info ($subr) ;
}
if ($fdat{'*find'})
{
($status, $props) = $resource -> propfind_hash ($subr) ;
}
}
} ;
if ($@)
{
print OUT $@ ;
}
-]
<html>
<head>
<style type="text/css">
.cBody {font-family: Geneva,Arial,Helvetica; font-size: 12px; }
.cInputTable {font-family: Geneva,Arial,Helvetica; font-size: 12px; margin: 4px 4px 4px 4px;}
</style>
</head>
<body>
[$if $patchtext $]
<h2>PROPPATCH status</h2>
<pre>
[+ $patchtext +]
</pre>
[$endif$]
<form>
Enter path of URI for which you want to show/change properties: <input type=text name="*uri" size=50><br>
<table class="cInputTable">
[$ if $props $]
[- @props = sort keys %$props -]
[$ foreach $prop (@props) $]
<tr>
<td>[+ $prop +]</td>
<td><input type=text name="[+ $prop +]" value="[+ $props -> {$prop} +]" size=70></td>
</tr>
[$endforeach$]
[$endif$]
</table>
<input type="submit" name="*find" value="Show">
<input type="submit" name="*patch" value="Update">
<br>
Name <input type=text name="addname">
Value <input type=text name="addvalue">
<input type="submit" name="*add" value="Add">
<br>
Name <select name="rmname">
<option value="[+ $props[$row] +]">[+ $props[$row] +]</option>
</select>
<input type="submit" name="*remove" value="Remove">
</form>
</body>
( run in 1.742 second using v1.01-cache-2.11-cpan-5735350b133 )