Index: temp/trunk/data/lib/slib.php
===================================================================
--- temp/trunk/data/lib/slib.php	(revision 5582)
+++ temp/trunk/data/lib/slib.php	(revision 5595)
@@ -2417,4 +2417,51 @@
 }
 
+// ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë¥³¥Ô¡¼
+function sfCopyDir($src, $des, $mess, $override = false){
+	if(!is_dir($src)){
+		return false;
+	}
+
+	$oldmask = umask(0);
+	$mod= stat($src);
+	
+	// ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë
+	if(!file_exists($des)) {
+		mkdir($des, $mod[2]);
+	}
+	
+	$fileArray=glob( $src."*" );
+	foreach( $fileArray as $key => $data_ ){
+		// CVS´ÉÍý¥Õ¥¡¥¤¥ë¤Ï¥³¥Ô¡¼¤·¤Ê¤¤
+		if(ereg("/CVS/Entries", $data_)) {
+			break;
+		}
+		if(ereg("/CVS/Repository", $data_)) {
+			break;
+		}
+		if(ereg("/CVS/Root", $data_)) {
+			break;
+		}
+		
+		mb_ereg("^(.*[\/])(.*)",$data_, $matches);
+		$data=$matches[2];
+		if( is_dir( $data_ ) ){
+			$mess = lfCopyDir( $data_.'/', $des.$data.'/', $mess);
+		}else{
+			if(!$override && file_exists($des.$data)) {
+				$mess.= $des.$data . "¡§¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹\n";
+			} else {
+				if(@copy( $data_, $des.$data)) {
+					$mess.= $des.$data . "¡§¥³¥Ô¡¼À®¸ù\n";
+				} else {
+					$mess.= $des.$data . "¡§¥³¥Ô¡¼¼ºÇÔ\n";
+				}
+			}
+			$mod=stat($data_ );
+		}
+	}
+	umask($oldmask);
+	return $mess;
+}
 
 /* ¥Ç¥Ð¥Ã¥°ÍÑ ------------------------------------------------------------------------------------------------*/
