Index: class.vfs_dav.inc.php
===================================================================
RCS file: /cvsroot/phpgwapi/phpgwapi/inc/class.vfs_dav.inc.php,v
retrieving revision 1.1.2.11
diff -u -d -r1.1.2.11 class.vfs_dav.inc.php
--- class.vfs_dav.inc.php	30 Mar 2004 20:58:58 -0000	1.1.2.11
+++ class.vfs_dav.inc.php	27 Oct 2004 13:07:39 -0000
@@ -1189,27 +1222,43 @@
 			return $this->dav_client->lock($p->real_full_url, $this->dav_user, 0, $data['timeout']);
 
 		}
-		function lock_token ($data)
+		function lock_token ($data,$dontcareowner=True)
 		{
 			$default_values = array
 				(
 					'relatives'	=> array (RELATIVE_CURRENT),
 					'token' => ''
 				);
-
-			$data = array_merge ($this->default_values ($data, $default_values), $data);
 			
+			$data = array_merge ($this->default_values ($data, $default_values), $data);
 			$ls_array = $GLOBALS['phpgw']->vfs->ls (array (
 			'string'	=> $data['string'],
-			'relatives'	=> $data['relatives']
+			'relatives'	=> $data['relatives'],
+			'nofiles'	=> True,
+			'checksubdirs'  => False,
 			)
-			);	
+			);
+			
 			 $lock = @end($ls_array[0]['locks']);
-			 $token = @end($lock['lock_tokens']);
-			 return $token['full_name'];
+			 if ( !$dontcareowner )
+			 {
+			 	if ($lock['owner'][0]['data'] == $GLOBALS['phpgw']->accounts->data['account_lid'] )
+				{
+					 $token = @end($lock['lock_tokens']);
+					 return $token['full_name'];
+				}
+				else
+				{
+					return False;
+				}
+			}
+			else
+			{
+				$token = @end($lock['lock_tokens']);
+				return $token['full_name'];
+			}
 		}
-		
-		
+
 		/*
 		@function add_lock_override
 		@abstract override a lock
@@ -1236,14 +1285,7 @@
 			
 			if (!strlen($data['token']))
 			{
-				$ls_array = $GLOBALS['phpgw']->vfs->ls (array (
-				'string'	=> $data['string'],
-				'relatives'	=> $data['relatives']
-				)
-				);	
-				 $lock = @end($ls_array[0]['locks']);
-				 $token_array = @end($lock['lock_tokens']);
-				 $token =  $token_array['full_name'];
+				 $token = $this->lock_token($data);
 			}
 			else
 			{
@@ -1278,14 +1320,7 @@
 			
 			if (!strlen($data['token']))
 			{
-				$ls_array = $GLOBALS['phpgw']->vfs->ls (array (
-				'string'	=> $data['string'],
-				'relatives'	=> $data['relatives']
-				)
-				);	
-				 $lock = @end($ls_array[0]['locks']);
-				 $token_array = @end($lock['lock_tokens']);
-				 $token =  $token_array['full_name'];
+				 $token = $this->lock_token($data);
 			}
 			else
 			{
