Hello All

I'm trying to get a WebDAV server set up using PEAR::HTTP_WebDAV_Server, but
so far I'm having little success.

All I could get from the 11 Slides was that the Class had to be subclassed,
and the methods overloaded, to provide the functionality.

I gathered from the source-code, that I had to instigate the object, and
call the ServeRequest method - This works OK for GET requests via the
Browser, but when I try it in MSWord or OOo, it opens whatever it marked
read only, as opposed to read/write.

I've written the following so far in an attempt to help me understand the
procedure. Any suggestions?

#!/usr/local/php51/bin/php
<?php

include_once("HTTP/WebDAV/Server.php");

function wlog($msg){
       $logfile = "/tmp/webdav.log";
       $fp = fopen($logfile, "a");
       fwrite($fp, $msg . "\n");
       fclose($fp);
}

class My_DAV_Server extends HTTP_WebDAV_Server {
       function GET(&$p){
               wlog("GET: $_SERVER[REQUEST_URI]");

               // for some reason the $_SERVER['PATH_INFO'] is empty....
               $path_info = substr($_SERVER['REQUEST_URI'],
strlen($_SERVER['SCRIPT_NAME']));

               $str = "You called: $path_info";

               header("Content-Type: text/plain");
               header("Last-Modified: " . date("D, j M Y H:m:s ") . "GMT");
               header("Content-Length: " . strlen($str));

               echo $str;

               return true;
       }


       function PUT(&$p){
               wlog("PUT: $_SERVER[REQUEST_URI]");



       }


       function PROPFIND(&$p){}

/*
       function COPY(&$p){}


       function MOVE(&$p){}


       function DELETE(&$p){}


       function PROPPATCH(&$p){}


       function LOCK(&$p){}


       function UNLOCK(&$p){}


       function CHECKLOCK(&$p){}
*/
}

$s = new My_DAV_Server();
$s->ServeRequest();

Reply via email to