You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/11/01 20:36:29 UTC
svn commit: r470047 - in
/incubator/roller/trunk/src/org/apache/roller/business:
FileManagerImpl.java ThemeManagerImpl.java
Author: agilliland
Date: Wed Nov 1 11:36:29 2006
New Revision: 470047
URL: http://svn.apache.org/viewvc?view=rev&rev=470047
Log:
fixing a bug when importing theme resources to paths in subdirectories.
Modified:
incubator/roller/trunk/src/org/apache/roller/business/FileManagerImpl.java
incubator/roller/trunk/src/org/apache/roller/business/ThemeManagerImpl.java
Modified: incubator/roller/trunk/src/org/apache/roller/business/FileManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/FileManagerImpl.java?view=diff&rev=470047&r1=470046&r2=470047
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/FileManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/FileManagerImpl.java Wed Nov 1 11:36:29 2006
@@ -150,15 +150,20 @@
InputStream is)
throws FileNotFoundException, FilePathException, FileIOException {
+ String savePath = path;
+ if(path.startsWith("/")) {
+ savePath = path.substring(1);
+ }
+
// make sure we are allowed to save this file
RollerMessages msgs = new RollerMessages();
- if (!canSave(weblog, path, contentType, size, msgs)) {
+ if (!canSave(weblog, savePath, contentType, size, msgs)) {
throw new FileIOException(msgs.toString());
}
// make sure uploads area exists for this weblog
File dirPath = this.getRealFile(weblog, null);
- File saveFile = new File(dirPath.getAbsolutePath() + File.separator + path);
+ File saveFile = new File(dirPath.getAbsolutePath() + File.separator + savePath);
byte[] buffer = new byte[8192];
int bytesRead = 0;
@@ -192,13 +197,18 @@
// get path to weblog's uploads area
File weblogDir = this.getRealFile(weblog, null);
- if(path != null && path.indexOf('/') != -1) {
+ String savePath = path;
+ if(path.startsWith("/")) {
+ savePath = path.substring(1);
+ }
+
+ if(savePath != null && savePath.indexOf('/') != -1) {
throw new FilePathException("Invalid path ["+path+"], "+
"trying to use nested directories.");
}
// now construct path to new directory
- File dir = new File(weblogDir.getAbsolutePath() + File.separator + path);
+ File dir = new File(weblogDir.getAbsolutePath() + File.separator + savePath);
// check if it already exists
if(dir.exists() && dir.isDirectory() && dir.canRead()) {
Modified: incubator/roller/trunk/src/org/apache/roller/business/ThemeManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/ThemeManagerImpl.java?view=diff&rev=470047&r1=470046&r2=470047
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/ThemeManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/ThemeManagerImpl.java Wed Nov 1 11:36:29 2006
@@ -228,6 +228,11 @@
String path = resourceFile.getAbsolutePath().substring(
this.themeDir.length()+theme.getName().length()+1);
+ // make sure path isn't prefixed with a /
+ if(path.startsWith("/")) {
+ path = path.substring(1);
+ }
+
log.debug("Importing resource "+resourceFile.getAbsolutePath()+" to "+path);
try {