[evolvis-commits] r16264: prepare storage API

mirabilos at evolvis.org mirabilos at evolvis.org
Tue Mar 1 01:05:41 CET 2011


Author: mirabilos
Date: 2011-03-01 01:05:41 +0100 (Tue, 01 Mar 2011)
New Revision: 16264

Modified:
   trunk/gforge_base/evolvisforge-5.1/src/common/docman/include/webdav.php
   trunk/gforge_base/evolvisforge-5.1/src/common/include/Group.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/docman/view.php
Log:
prepare storage API

Modified: trunk/gforge_base/evolvisforge-5.1/src/common/docman/include/webdav.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/docman/include/webdav.php	2011-03-01 00:05:39 UTC (rev 16263)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/docman/include/webdav.php	2011-03-01 00:05:41 UTC (rev 16264)
@@ -27,7 +27,7 @@
 
 require_once "HTTP/WebDAV/Server.php";
 
-class HTTP_WebDAV_Server_Docman extends HTTP_WebDAV_Server {
+class HTTP_WebDAV_Server_Docman_DB extends HTTP_WebDAV_Server {
 
 	function GET(&$options) {
 		$arr_path = explode('/',$options['path']);

Modified: trunk/gforge_base/evolvisforge-5.1/src/common/include/Group.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/include/Group.class.php	2011-03-01 00:05:39 UTC (rev 16263)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/include/Group.class.php	2011-03-01 00:05:41 UTC (rev 16264)
@@ -4,6 +4,7 @@
  *
  * Copyright 1999-2001, VA Linux Systems, Inc.
  * Copyright 2009, Roland Mas
+ * Copyright 2010, Franck Villaume - Capgemini
  *
  * This file is part of FusionForge.
  *
@@ -2839,6 +2840,14 @@
 			return true;
 		}
 	}
+
+	function setStorageAPI($type) {
+		return true;
+	}
+
+	function getStorageAPI() {
+		return 1;
+	}
 }
 
 /**

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/docman/view.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/docman/view.php	2011-03-01 00:05:39 UTC (rev 16263)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/docman/view.php	2011-03-01 00:05:41 UTC (rev 16264)
@@ -39,16 +39,16 @@
 $group_id=$arr[3];
 $docid=$arr[4];
 
+$g =& group_get_object($group_id);
+if (!$g || !is_object($g)) {
+	exit_no_group();
+} elseif ($g->isError()) {
+	exit_error($g->getErrorMessage(),'docman');
+}
+
 if ($docid != 'backup' && $docid != 'webdav' ) {
 	$docname=urldecode($arr[5]);
 
-	$g =& group_get_object($group_id);
-	if (!$g || !is_object($g)) {
-		exit_no_group();
-	} elseif ($g->isError()) {
-		exit_error($g->getErrorMessage(),'docman');
-	}
-
 	$d = new Document($g,$docid);
 	if (!$d || !is_object($d)) {
 		exit_error(_('Document is not available.'),'docman');
@@ -80,12 +80,6 @@
 	echo $d->getFileData();
 
 } else if ( $docid == 'backup' ) {
-	$g =& group_get_object($group_id);
-	if (!$g || !is_object($g)) {
-		exit_no_group();
-	} elseif ($g->isError()) {
-		exit_error($g->getErrorMessage(),'docman');
-	}
 
 	$df = new DocumentFactory($g);
 	if ($df->isError())
@@ -125,7 +119,13 @@
 	}
 } else if ( $docid == 'webdav' ) {
 	$_SERVER['SCRIPT_NAME'] = '';
-	$server = new HTTP_WebDAV_Server_Docman;
+	switch ($g->getStorageAPI()) {
+	case '1':
+		$server = new HTTP_WebDAV_Server_Docman_DB;
+		break;
+	default:
+		exit_error(_('Webdav Storage API not implemented'),'docman');
+	}
 	$server->ServeRequest();
 	exit;
 } else {



More information about the evolvis-commits mailing list