You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2009/06/07 19:47:42 UTC
svn commit: r782416 - in /roller/trunk: ./ apps/weblogger/src/java/META-INF/
apps/weblogger/src/java/org/apache/roller/weblogger/business/
apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/
apps/weblogger/src/java/org/apache/roller/weblo...
Author: snoopdave
Date: Sun Jun 7 17:47:40 2009
New Revision: 782416
URL: http://svn.apache.org/viewvc?rev=782416&view=rev
Log:
Merging media blogging work into trunk.
This applies to ROL-1765, but there is a little more work to do (see bug comments)
https://issues.apache.org/jira/browse/ROL-1765
NOTE: table names were changed as part of the merge, all new tables now have "roller_" prefix.
Added:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/FileContentManager.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/business/FileContentManager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/FileContentManagerImpl.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/business/FileContentManagerImpl.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MediaFileManager.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/business/MediaFileManager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MediaFileManagerImpl.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/business/MediaFileManagerImpl.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/FileContent.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/FileContent.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml
- copied, changed from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileComparator.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileComparator.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml
- copied, changed from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectoryComparator.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectoryComparator.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileFilter.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileFilter.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml
- copied, changed from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileType.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileType.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/MediaFilesPager.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/pagers/MediaFilesPager.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/MediaResourceServlet.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/servlets/MediaResourceServlet.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd-validation.xml
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd-validation.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBean.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBean.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit-validation.xml
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit-validation.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileSearch.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileSearch.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileSearchBean.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileSearchBean.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/pagers/MediaFilePager.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/pagers/MediaFilePager.java
roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/business/CoreMediaFileServicesTestSuite.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/test/java/org/apache/roller/weblogger/business/CoreMediaFileServicesTestSuite.java
roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/business/FileContentManagerTest.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/test/java/org/apache/roller/weblogger/business/FileContentManagerTest.java
roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/business/MediaFileTest.java
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/test/java/org/apache/roller/weblogger/business/MediaFileTest.java
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddExternalInclude.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddExternalInclude.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddSuccessInclude.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAddSuccessInclude.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEditSuccess.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEditSuccess.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileHierarchicalView.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileHierarchicalView.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileImageDimension.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileImageDimension.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileSearch.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileSearch.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileSidebar.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileSidebar.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileViewLight.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileViewLight.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/tiles/tiles-popuppage.jsp
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/jsps/tiles/tiles-popuppage.jsp
roller/trunk/apps/weblogger/web/WEB-INF/velocity/templates/feeds/weblog-files-atom.vm
- copied unchanged from r782269, roller/branches/roller_mediablogging/apps/weblogger/web/WEB-INF/velocity/templates/feeds/weblog-files-atom.vm
Modified:
roller/trunk/ (props changed)
roller/trunk/apps/weblogger/src/java/META-INF/persistence.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MultiWeblogURLStrategy.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/URLStrategy.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerModule.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/FeedModel.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/URLModel.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml
roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm (contents, props changed)
roller/trunk/apps/weblogger/src/sql/createdb.vm
roller/trunk/apps/weblogger/src/sql/droptables.sql
roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/ant/StartDerbyTask.java
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
roller/trunk/apps/weblogger/web/WEB-INF/classes/struts.xml
roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml
roller/trunk/apps/weblogger/web/WEB-INF/velocity/feeds.vm
roller/trunk/apps/weblogger/web/WEB-INF/web.xml
roller/trunk/apps/weblogger/web/roller-ui/authoring/editors/editor-text.jsp
roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css
Propchange: roller/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sun Jun 7 17:47:40 2009
@@ -3,3 +3,4 @@
tomcat
classes.eclipse
build
+.settings
Propchange: roller/trunk/
------------------------------------------------------------------------------
svn:mergeinfo = /roller/branches/roller_mediablogging:713070-782269
Modified: roller/trunk/apps/weblogger/src/java/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/META-INF/persistence.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/META-INF/persistence.xml (original)
+++ roller/trunk/apps/weblogger/src/java/META-INF/persistence.xml Sun Jun 7 17:47:40 2009
@@ -30,6 +30,9 @@
<mapping-file>org/apache/roller/weblogger/pojos/UserAttribute.orm.xml </mapping-file>
<mapping-file>org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml </mapping-file>
<mapping-file>org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml </mapping-file>
+ <mapping-file>org/apache/roller/weblogger/pojos/MediaFile.orm.xml </mapping-file>
+ <mapping-file>org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml </mapping-file>
+ <mapping-file>org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml </mapping-file>
</persistence-unit>
</persistence>
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MultiWeblogURLStrategy.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MultiWeblogURLStrategy.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MultiWeblogURLStrategy.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/MultiWeblogURLStrategy.java Sun Jun 7 17:47:40 2009
@@ -96,6 +96,32 @@
/**
+ * Get url for a single weblog media file on a given weblog.
+ */
+ public String getMediaFileURL(
+ String fileAnchor,
+ boolean absolute) {
+
+ if(fileAnchor == null) {
+ return null;
+ }
+
+ StringBuffer url = new StringBuffer();
+
+ if(absolute) {
+ url.append(WebloggerRuntimeConfig.getAbsoluteContextURL());
+ } else {
+ url.append(WebloggerRuntimeConfig.getRelativeContextURL());
+ }
+
+ url.append("/roller-ui/rendering/media-resources/").append(URLUtilities.encode(fileAnchor));
+
+ return url.toString();
+ }
+
+
+
+ /**
* Get url for a single weblog entry comments on a given weblog.
*/
public String getWeblogCommentsURL(Weblog weblog,
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/URLStrategy.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/URLStrategy.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/URLStrategy.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/URLStrategy.java Sun Jun 7 17:47:40 2009
@@ -150,6 +150,12 @@
/**
+ * Get url for a single mediafile on a given weblog.
+ */
+ public String getMediaFileURL(String entryAnchor,
+ boolean absolute);
+
+ /**
* Get url for a collection of entries on a given weblog.
*/
public String getWeblogCollectionURL(Weblog weblog,
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java Sun Jun 7 17:47:40 2009
@@ -139,13 +139,21 @@
*/
public PluginManager getPluginManager();
+ /**
+ * Get MediaFileManager associated with this Weblogger instance.
+ */
+ public MediaFileManager getMediaFileManager();
/**
+ * Get FileContentManager associated with this Weblogger instance.
+ */
+ public FileContentManager getFileContentManager();
+
+ /**
* Get the URLStrategy used to build all urls in the system.
*/
public URLStrategy getUrlStrategy();
-
/**
* Flush object states.
*/
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java Sun Jun 7 17:47:40 2009
@@ -51,6 +51,8 @@
private final BookmarkManager bookmarkManager;
private final FileManager fileManager;
private final IndexManager indexManager;
+ private final MediaFileManager mediaFileManager;
+ private final FileContentManager fileContentManager;
private final PingQueueManager pingQueueManager;
private final PingTargetManager pingTargetManager;
private final PluginManager pluginManager;
@@ -79,6 +81,8 @@
BookmarkManager bookmarkManager,
FileManager fileManager,
IndexManager indexManager,
+ MediaFileManager mediaFileManager,
+ FileContentManager fileContentManager,
PingQueueManager pingQueueManager,
PingTargetManager pingTargetManager,
PluginManager pluginManager,
@@ -97,6 +101,8 @@
this.bookmarkManager = bookmarkManager;
this.fileManager = fileManager;
this.indexManager = indexManager;
+ this.mediaFileManager = mediaFileManager;
+ this.fileContentManager = fileContentManager;
this.pingQueueManager = pingQueueManager;
this.pingTargetManager = pingTargetManager;
this.pluginManager = pluginManager;
@@ -197,6 +203,25 @@
/**
*
*
+ * @see org.apache.roller.weblogger.modelWebloggerr#getMediaFileManager()
+ */
+ public MediaFileManager getMediaFileManager() {
+ return mediaFileManager;
+ }
+
+ /**
+ *
+ *
+ * @see org.apache.roller.weblogger.modelWebloggerr#getFileContentManager()
+ */
+ public FileContentManager getFileContentManager() {
+ return fileContentManager;
+ }
+
+
+ /**
+ *
+ *
* @see org.apache.roller.weblogger.modelWebloggerr#getWeblogEntryManager()
*/
public WeblogEntryManager getWeblogEntryManager() {
@@ -300,6 +325,8 @@
autoPingManager.release();
bookmarkManager.release();
fileManager.release();
+ mediaFileManager.release();
+ fileContentManager.release();
pingTargetManager.release();
pingQueueManager.release();
pluginManager.release();
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.java Sun Jun 7 17:47:40 2009
@@ -21,8 +21,10 @@
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.BookmarkManager;
+import org.apache.roller.weblogger.business.FileContentManager;
import org.apache.roller.weblogger.business.FileManager;
import org.apache.roller.weblogger.business.OAuthManager;
+import org.apache.roller.weblogger.business.MediaFileManager;
import org.apache.roller.weblogger.business.PropertiesManager;
import org.apache.roller.weblogger.business.URLStrategy;
import org.apache.roller.weblogger.business.WebloggerImpl;
@@ -64,6 +66,8 @@
BookmarkManager bookmarkManager,
FileManager fileManager,
IndexManager indexManager,
+ MediaFileManager mediaFileManager,
+ FileContentManager fileContentManager,
PingQueueManager pingQueueManager,
PingTargetManager pingTargetManager,
PluginManager pluginManager,
@@ -83,6 +87,8 @@
bookmarkManager,
fileManager,
indexManager,
+ mediaFileManager,
+ fileContentManager,
pingQueueManager,
pingTargetManager,
pluginManager,
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerModule.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerModule.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerModule.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAWebloggerModule.java Sun Jun 7 17:47:40 2009
@@ -23,8 +23,12 @@
import net.oauth.OAuthValidator;
import net.oauth.SimpleOAuthValidator;
import org.apache.roller.weblogger.business.BookmarkManager;
+import org.apache.roller.weblogger.business.FileContentManager;
+import org.apache.roller.weblogger.business.FileContentManagerImpl;
import org.apache.roller.weblogger.business.FileManager;
import org.apache.roller.weblogger.business.FileManagerImpl;
+import org.apache.roller.weblogger.business.MediaFileManager;
+import org.apache.roller.weblogger.business.MediaFileManagerImpl;
import org.apache.roller.weblogger.business.MultiWeblogURLStrategy;
import org.apache.roller.weblogger.business.OAuthManager;
import org.apache.roller.weblogger.business.PropertiesManager;
@@ -76,6 +80,8 @@
binder.bind(ReferrerQueueManager.class).to(ReferrerQueueManagerImpl.class);
binder.bind(FileManager.class).to( FileManagerImpl.class);
+ binder.bind(MediaFileManager.class).to( MediaFileManagerImpl.class);
+ binder.bind(FileContentManager.class).to( FileContentManagerImpl.class);
binder.bind(IndexManager.class).to( IndexManagerImpl.class);
binder.bind(PluginManager.class).to( PluginManagerImpl.class);
binder.bind(ThemeManager.class).to( ThemeManagerImpl.class);
Copied: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml (from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml)
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml?p2=roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml&p1=roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml&r1=782269&r2=782416&rev=782416&view=diff
==============================================================================
--- roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFile.orm.xml Sun Jun 7 17:47:40 2009
@@ -11,7 +11,7 @@
<package>org.apache.roller.weblogger.pojos</package>
<entity metadata-complete="true" name="MediaFile"
class="org.apache.roller.weblogger.pojos.MediaFile">
- <table name="media_file"/>
+ <table name="roller_mediafile"/>
<attributes>
<id name="id">
<column name="id"/>
Copied: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml (from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml)
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml?p2=roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml&p1=roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml&r1=782269&r2=782416&rev=782416&view=diff
==============================================================================
--- roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml Sun Jun 7 17:47:40 2009
@@ -11,7 +11,7 @@
<package>org.apache.roller.weblogger.pojos</package>
<entity metadata-complete="true" name="MediaFileDirectory"
class="org.apache.roller.weblogger.pojos.MediaFileDirectory">
- <table name="media_file_directory"/>
+ <table name="roller_mediafiledir"/>
<named-query name="MediaFileDirectory.getByWeblog">
<query>SELECT d FROM MediaFileDirectory d WHERE d.weblog = ?1</query>
</named-query>
Copied: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml (from r782269, roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml)
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml?p2=roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml&p1=roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml&r1=782269&r2=782416&rev=782416&view=diff
==============================================================================
--- roller/branches/roller_mediablogging/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml Sun Jun 7 17:47:40 2009
@@ -11,7 +11,7 @@
<package>org.apache.roller.weblogger.pojos</package>
<entity metadata-complete="true" name="MediaFileTag"
class="org.apache.roller.weblogger.pojos.MediaFileTag">
- <table name="media_file_tag"/>
+ <table name="roller_mediafiletag"/>
<named-query name="MediaFileTag.getByMediaFile">
<query>SELECT w FROM MediaFileTag w WHERE w.mediaFile = ?1</query>
</named-query>
@@ -23,7 +23,7 @@
<column name="name" insertable="true" updatable="true" unique="false" nullable="false"/>
</basic>
<many-to-one name="mediaFile" target-entity="org.apache.roller.weblogger.pojos.MediaFile">
- <join-column name="media_file_id" insertable="true" updatable="true" nullable="false"/>
+ <join-column name="mediafile_id" insertable="true" updatable="true" nullable="false"/>
</many-to-one>
</attributes>
</entity>
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml Sun Jun 7 17:47:40 2009
@@ -11,7 +11,7 @@
<package>org.apache.roller.weblogger.pojos</package>
<entity metadata-complete="true" name="OAuthAccessorRecord"
class="org.apache.roller.weblogger.pojos.OAuthAccessorRecord">
- <table name="rol_oauthaccessor"/>
+ <table name="roller_oauthaccessor"/>
<named-query name="OAuthAccessorRecord.getByKey">
<query>SELECT p FROM OAuthAccessorRecord p WHERE p.consumerKey = ?1</query>
</named-query>
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml Sun Jun 7 17:47:40 2009
@@ -11,7 +11,7 @@
<package>org.apache.roller.weblogger.pojos</package>
<entity metadata-complete="true" name="OAuthConsumerRecord"
class="org.apache.roller.weblogger.pojos.OAuthConsumerRecord">
- <table name="rol_oauthconsumer"/>
+ <table name="roller_oauthconsumer"/>
<named-query name="OAuthConsumerRecord.getByConsumerKey">
<query>SELECT p FROM OAuthConsumerRecord p WHERE p.consumerKey = ?1</query>
</named-query>
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/FeedModel.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/FeedModel.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/FeedModel.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/FeedModel.java Sun Jun 7 17:47:40 2009
@@ -30,6 +30,7 @@
import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.pojos.wrapper.WeblogWrapper;
import org.apache.roller.weblogger.ui.rendering.pagers.CommentsPager;
+import org.apache.roller.weblogger.ui.rendering.pagers.MediaFilesPager;
import org.apache.roller.weblogger.ui.rendering.pagers.Pager;
import org.apache.roller.weblogger.ui.rendering.pagers.WeblogEntriesListPager;
import org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest;
@@ -134,6 +135,14 @@
}
/**
+ * Gets most recently uploaded media files limited by: weblog specified
+ * in request and the weblog.entryDisplayCount.
+ */
+ public Pager getMediaFilesPager() {
+ return new FeedFilesPager(feedRequest);
+ }
+
+ /**
* Returns the list of tags specified in the request /?tags=foo+bar
* @return
*/
@@ -205,4 +214,36 @@
return createURL(super.getUrl(), new HashMap());
}
}
+
+ public class FeedFilesPager extends MediaFilesPager {
+
+ private WeblogFeedRequest feedRequest;
+
+ public FeedFilesPager(WeblogFeedRequest feedRequest) {
+ super(urlStrategy, urlStrategy.getWeblogFeedURL(feedRequest.getWeblog(),
+ feedRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), null, null,
+ null, false, true), feedRequest.getWeblog(), -1, feedRequest.getPage(), 10);
+ this.feedRequest = feedRequest;
+ }
+
+ protected String createURL(String url, Map params) {
+ List tags = feedRequest.getTags();
+ if(tags != null && tags.size() > 0) {
+ params.put("tags", URLUtilities.getEncodedTagsString(tags));
+ }
+ String category = feedRequest.getWeblogCategoryName();
+ if(category != null && category.trim().length() > 0) {
+ params.put("cat", URLUtilities.encode(category));
+ }
+ if(feedRequest.isExcerpts()) {
+ params.put("excerpts", "true");
+ }
+ return super.createURL(url, params);
+ }
+
+ public String getUrl() {
+ return createURL(super.getUrl(), new HashMap());
+ }
+ }
}
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/URLModel.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/URLModel.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/URLModel.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/rendering/model/URLModel.java Sun Jun 7 17:47:40 2009
@@ -321,6 +321,10 @@
public CommentFeedURLS getComments() {
return new CommentFeedURLS();
}
+
+ public MediaFileFeedURLS getMediaFiles() {
+ return new MediaFileFeedURLS();
+ }
}
public class EntryFeedURLS {
@@ -374,4 +378,23 @@
}
+ public class MediaFileFeedURLS {
+
+ public String getRss() {
+ return urlStrategy.getWeblogFeedURL(weblog, locale, "files", "rss", null, null, null, false, true);
+ }
+
+ public String rss(String catPath, boolean excerpts) {
+ return urlStrategy.getWeblogFeedURL(weblog, locale, "files", "rss", catPath, null, null, excerpts, true);
+ }
+
+ public String getAtom() {
+ return urlStrategy.getWeblogFeedURL(weblog, locale, "files", "atom", null, null, null, false, true);
+ }
+
+ public String atom(String catPath, boolean excerpts) {
+ return urlStrategy.getWeblogFeedURL(weblog, locale, "files", "atom", catPath, null, null, excerpts, true);
+ }
+
+ }
}
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml Sun Jun 7 17:47:40 2009
@@ -53,11 +53,17 @@
weblogPerms="post"
subactions="bookmarkAdd,bookmarkEdit,folderAdd,folderEdit,bookmarksImport" />
- <menu-item action="resources"
- name="tabbedmenu.website.files"
+ <menu-item action="resources"
+ name="tabbedmenu.website.files"
globalPerms="login"
perms="post"/>
-
+
+ <menu-item action="mediaFileAdd"
+ name="tabbedmenu.weblog.mediaFiles"
+ globalPerms="login"
+ perms="post"
+ subactions="mediaFileView,mediaFileHierarchicalView,mediaFileSearch" />
+
<menu-item action="referrers"
name="tabbedmenu.weblog.referers"
globalPerms="login"
Modified: roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm (original)
+++ roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm Sun Jun 7 17:47:40 2009
@@ -4,6 +4,9 @@
DON'T RUN THIS, IT'S NOT A DATABASE CREATION SCRIPT!!!
**#
+
+-- NEW PERMISSIONS SYSTEM
+
-- We are replacing roller_user_permissions with this new table
-- actions: comma separated list of actions permitted by permission
-- objectid: for now this will always store weblogid
@@ -58,6 +61,9 @@
time = time,
creator = (select u.username from rolleruser as u where u.id = w.userid);
+
+-- USER ATTRIBUTE
+
create table roller_userattribute(
id varchar(48) not null primary key,
username varchar(255) not null,
@@ -68,24 +74,73 @@
create index ua_attrname_idx on roller_userattribute( attrname$!db.INDEXSIZE );
create index ua_attrvalue_idx on roller_userattribute( attrvalue$!db.INDEXSIZE );
+
+-- OAUTH SUPPORT
+
-- each record is an OAuth consumer key and secret, can be tied to just one user
-create table rol_oauthconsumer (
- consumerkey varchar(48) not null primary key,
+create table roller_oauthconsumer (
+ consumerkey varchar(48) not null primary key,
consumersecret varchar(48) not null,
- username varchar(48)
+ username varchar(48)
);
-create index oc_username_idx on rol_oauthconsumer( username$!db.INDEXSIZE );
-create index oc_consumerkey_idx on rol_oauthconsumer( consumerkey$!db.INDEXSIZE );
+create index oc_username_idx on roller_oauthconsumer( username$!db.INDEXSIZE );
+create index oc_consumerkey_idx on roller_oauthconsumer( consumerkey$!db.INDEXSIZE );
-- each record is an OAuth accessor, always tied to just one user
-create table rol_oauthaccessor (
- consumerkey varchar(48) not null primary key,
+create table roller_oauthaccessor (
+ consumerkey varchar(48) not null primary key,
requesttoken varchar(48),
- accesstoken varchar(48),
- tokensecret varchar(48),
- created $db.TIMESTAMP_SQL_TYPE not null,
- updated $db.TIMESTAMP_SQL_TYPE not null,
- username varchar(48),
- authorized $db.BOOLEAN_SQL_TYPE_FALSE
+ accesstoken varchar(48),
+ tokensecret varchar(48),
+ created $db.TIMESTAMP_SQL_TYPE not null,
+ updated $db.TIMESTAMP_SQL_TYPE not null,
+ username varchar(48),
+ authorized $db.BOOLEAN_SQL_TYPE_FALSE
+);
+
+
+-- MEDIA BLOGGING
+
+create table roller_mediafile (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ content_type varchar(50) not null,
+ copyright_text varchar(1023),
+ directory_id varchar(48),
+ size_in_bytes integer,
+ date_uploaded $db.TIMESTAMP_SQL_TYPE not null,
+ last_updated $db.TIMESTAMP_SQL_TYPE,
+ anchor varchar(255),
+ creator varchar(255),
+ is_public $db.BOOLEAN_SQL_TYPE_FALSE not null
);
-create index oa_consumerkey_idx on rol_oauthaccessor( consumerkey$!db.INDEXSIZE );
+
+create table roller_mediafiletag (
+ id varchar(48) not null primary key,
+ mediafile_id varchar(48) not null,
+ name varchar(30) not null
+);
+
+create table roller_mediafiledir (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ websiteid varchar(48) not null,
+ parentid varchar(48),
+ path varchar(255)
+);
+
+-- media files
+alter table roller_mediafile add constraint roller_mediafiledir_id_fk
+ foreign key (directory_id) references roller_mediafiledir(id) $!db.ADDL_FK_PARAMS ;
+
+alter table roller_mediafiletag add constraint roller_mediafile_id_tag_fk
+ foreign key (mediafile_id) references roller_mediafile(id) $!db.ADDL_FK_PARAMS ;
+
+alter table roller_mediafiledir add constraint mf_websiteid_fk
+ foreign key ( websiteid ) references website( id ) $!db.ADDL_FK_PARAMS ;
+
+alter table roller_mediafiledir add constraint mf_parentid_fk
+ foreign key ( parentid ) references roller_mediafiledir( id ) $!db.ADDL_FK_PARAMS ;
+
Propchange: roller/trunk/apps/weblogger/src/sql/400-to-500-migration.vm
('svn:mergeinfo' removed)
Modified: roller/trunk/apps/weblogger/src/sql/createdb.vm
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/sql/createdb.vm?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/sql/createdb.vm (original)
+++ roller/trunk/apps/weblogger/src/sql/createdb.vm Sun Jun 7 17:47:40 2009
@@ -435,27 +435,27 @@
create index ea_entryid_idx on entryattribute( entryid );
alter table entryattribute add constraint ea_name_uq unique ( entryid, name$!db.INDEXSIZE );
+
+-- OAUTH SUPPORT
+
-- each record is an OAuth consumer key and secret, can be tied to just one user
-create table rol_oauthconsumer (
- consumerkey varchar(48) not null primary key,
+create table roller_oauthconsumer (
+ consumerkey varchar(48) not null primary key,
consumersecret varchar(48) not null,
- username varchar(48)
+ username varchar(48)
);
-create index oc_username_idx on rol_oauthconsumer( username$!db.INDEXSIZE );
-create index oc_consumerkey_idx on rol_oauthconsumer( consumerkey$!db.INDEXSIZE );
-- each record is an OAuth accessor, always tied to just one user
-create table rol_oauthaccessor (
- consumerkey varchar(48) not null primary key,
+create table roller_oauthaccessor (
+ consumerkey varchar(48) not null primary key,
requesttoken varchar(48),
- accesstoken varchar(48),
- tokensecret varchar(48),
- created $db.TIMESTAMP_SQL_TYPE not null,
- updated $db.TIMESTAMP_SQL_TYPE not null,
- username varchar(48),
- authorized $db.BOOLEAN_SQL_TYPE_FALSE
+ accesstoken varchar(48),
+ tokensecret varchar(48),
+ created $db.TIMESTAMP_SQL_TYPE not null,
+ updated $db.TIMESTAMP_SQL_TYPE not null,
+ username varchar(48),
+ authorized $db.BOOLEAN_SQL_TYPE_FALSE
);
-create index oa_consumerkey_idx on rol_oauthaccessor( consumerkey$!db.INDEXSIZE );
create table rag_properties (
name varchar(255) not null primary key,
@@ -463,6 +463,8 @@
);
+-- PLANET FEED AGGREGATOR
+
create table rag_planet (
id varchar(48) not null primary key,
handle varchar(32) not null,
@@ -527,6 +529,39 @@
insert into rag_group (id, planet_id, handle, title) values ('zzz_all_group_zzz', 'zzz_default_planet_zzz', 'all', 'Default Group');
+-- MEDIA BLOGGING
+
+create table roller_mediafile (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ content_type varchar(50) not null,
+ copyright_text varchar(1023),
+ directory_id varchar(48),
+ size_in_bytes integer,
+ date_uploaded $db.TIMESTAMP_SQL_TYPE not null,
+ last_updated $db.TIMESTAMP_SQL_TYPE,
+ anchor varchar(255),
+ creator varchar(255),
+ is_public $db.BOOLEAN_SQL_TYPE_FALSE not null
+);
+
+create table roller_mediafiletag (
+ id varchar(48) not null primary key,
+ mediafile_id varchar(48) not null,
+ name varchar(30) not null
+);
+
+create table roller_mediafiledir (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ websiteid varchar(48) not null,
+ parentid varchar(48),
+ path varchar(255)
+);
+
+
-- *****************************************************
-- Now add the foreign key relationships
@@ -571,6 +606,19 @@
alter table bookmark add constraint bm_folderid_fk
foreign key ( folderid ) references folder( id ) $!db.ADDL_FK_PARAMS ;
+-- media files
+alter table media_file add constraint media_file_directory_id_fk
+ foreign key (directory_id) references media_file_directory(id) $!db.ADDL_FK_PARAMS ;
+
+alter table media_file_tag add constraint media_file_id_tag_fk
+ foreign key (media_file_id) references media_file(id) $!db.ADDL_FK_PARAMS ;
+
+alter table media_file_directory add constraint mf_websiteid_fk
+ foreign key ( websiteid ) references website( id ) $!db.ADDL_FK_PARAMS ;
+
+alter table media_file_directory add constraint mf_parentid_fk
+ foreign key ( parentid ) references media_file_directory( id ) $!db.ADDL_FK_PARAMS ;
+
-- newsfeed
alter table newsfeed add constraint nf_websiteid_fk
@@ -600,15 +648,23 @@
-- alter table webpage add constraint webpage_websiteid_fk foreign key ( websiteid ) references website( id );
+-- media blogging indexes
+alter table roller_mediafile add constraint roller_mediafiledir_id_fk
+ foreign key (directory_id) references roller_mediafiledir(id) $!db.ADDL_FK_PARAMS ;
+alter table roller_mediafiletag add constraint roller_mediafile_id_tag_fk
+ foreign key (mediafile_id) references roller_mediafile(id) $!db.ADDL_FK_PARAMS ;
+alter table roller_mediafiledir add constraint mf_websiteid_fk
+ foreign key ( websiteid ) references website( id ) $!db.ADDL_FK_PARAMS ;
+alter table roller_mediafiledir add constraint mf_parentid_fk
+ foreign key ( parentid ) references roller_mediafiledir( id ) $!db.ADDL_FK_PARAMS ;
+-- oauth indexes
-
-
-
-
+create index oc_username_idx on roller_oauthconsumer( username$!db.INDEXSIZE );
+create index oc_consumerkey_idx on roller_oauthconsumer( consumerkey$!db.INDEXSIZE );
Modified: roller/trunk/apps/weblogger/src/sql/droptables.sql
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/sql/droptables.sql?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/src/sql/droptables.sql (original)
+++ roller/trunk/apps/weblogger/src/sql/droptables.sql Sun Jun 7 17:47:40 2009
@@ -39,6 +39,11 @@
drop table bookmark;
drop table folder;
drop table folderassoc;
+drop table roller_userattribute;
+drop table media_file_tag;
+drop table media_file;
+drop table media_file_directory;
+
-- core services tables
drop table roller_hitcounts;
Modified: roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/ant/StartDerbyTask.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/ant/StartDerbyTask.java?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/ant/StartDerbyTask.java (original)
+++ roller/trunk/apps/weblogger/test/java/org/apache/roller/weblogger/ant/StartDerbyTask.java Sun Jun 7 17:47:40 2009
@@ -32,7 +32,7 @@
public void execute() throws BuildException {
try {
- System.out.println("Stopping Derby");
+ System.out.println("Starting Derby");
System.setProperty("derby.system.home", database);
System.setProperty("derby.drda.portNumber", port);
System.setProperty("derby.drda.host", "localhost");
Modified: roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties Sun Jun 7 17:47:40 2009
@@ -952,6 +952,40 @@
maintenance.message.flushed=Successfully flushed the page cache of your \
Roller weblog
+# ----------------------------------------------------------- Media file management
+mediaFile.add.title=Add new media file
+mediaFile.edit.title=Edit media file
+mediaFile.search.title=Search media files
+mediaFile.delete.confirm=Delete selected media files?
+mediaFile.move.confirm=Move selected media files?
+mediaFile.view.title=View uploaded files
+mediaFile.directoryCreate.success=New directory succesfully created.
+
+
+mediaFile.includeInGallery.success = Media file(s) successfully included in gallery.
+mediaFile.delete.success = Media file(s) successfully deleted.
+mediaFile.move.success = Media file(s) successfully moved.
+
+mediaFile.update.success = Media file successfully updated.
+
+
+
+# errors from validation
+MediaFile.error.nameNull=Name is a required field
+MediaFile.error.nameSize=Name cannot be more than 255 characters
+MediaFile.error.descriptionSize=Description cannot be more than 255 characters
+MediaFile.error.copyrightTextSize=Copyright text cannot be more than 1023 characters
+MediaFile.error.duplicateName=The file name {0} is already in use, you will need to choose another
+MediaFile.error.search.empty=Please enter one or more criteria for search.
+MediaFile.error.search.noResults=No results found.
+mediaFile.error.search.dirPathEmpty=Directory path is empty.
+mediaFile.error.search.dirPathInvalid=Directory path is invalid.
+mediaFile.error.view.dirNameEmpty=Directory name is empty.
+mediaFile.error.view.dirNameInvalid=Directory name is invalid.
+mediaFile.error.noneSelectedForMove=Please select one or more files to be moved.
+mediaFile.error.noneSelectedForDelete=Please select one or more files to be deleted.
+
+
# ----------------------------------------------------------- Member permissions
memberPermissions.title=Weblog Member Permissions
@@ -1449,6 +1483,9 @@
tabbedmenu.weblog.import=Import
tabbedmenu.weblog.flushCache=Flush Cache
+tabbedmenu.weblog.mediaFiles=Media Files
+tabbedmenu.weblog.tabularView=Media Files
+
tabbedmenu.admin=Server Admin
tabbedmenu.admin.config=Configuration
tabbedmenu.admin.userAdmin=User Admin
Modified: roller/trunk/apps/weblogger/web/WEB-INF/classes/struts.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/struts.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/classes/struts.xml (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/classes/struts.xml Sun Jun 7 17:47:40 2009
@@ -228,6 +228,55 @@
<result name="success" type="chain">entryEdit</result>
</action>
+ <action name="entryAddWithMediaFile!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.EntryAddWithMediaFile">
+ <result name="success" type="chain">entryAdd</result>
+ </action>
+
+
+ <action name="mediaFileAdd!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileAdd">
+ <result name="input" type="tiles">.MediaFileAdd</result>
+ <result name="success" type="tiles">.MediaFileAddSuccess</result>
+ <result name="error" type="tiles">.MediaFileAdd</result>
+ </action>
+
+ <action name="mediaFileEdit!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileEdit">
+ <result name="input" type="tiles">.MediaFileEdit</result>
+ <result name="success" type="tiles">.MediaFileEditSuccess</result>
+ </action>
+
+ <action name="mediaFileAddExternalInclude!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileEdit">
+ <result name="input" type="tiles">.MediaFileAddExternalInclude</result>
+ <result name="success" type="tiles">.MediaFileAddExternalInclude</result>
+ <result name="error" type="tiles">.MediaFileAddExternalInclude</result>
+ </action>
+
+ <action name="mediaFileView!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileView">
+ <result name="success" type="tiles">.MediaFileView</result>
+ <result name="success.json" type="dispatcher">/WEB-INF/jsps/editor/MediaFileViewLight.jsp</result>
+ </action>
+
+ <action name="mediaFileHierarchicalView!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileView">
+ <result name="success" type="tiles">.MediaFileHierarchicalView</result>
+ </action>
+
+ <action name="mediaFileSearch!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileSearch">
+ <result name="input" type="tiles">.MediaFileSearch</result>
+ <result name="error" type="tiles">.MediaFileSearch</result>
+ <result name="success" type="tiles">.MediaFileSearch</result>
+ </action>
+
+ <action name="mediaFileImageDim!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileImageDim">
+ <result name="success" type="tiles">.MediaFileImageDimension</result>
+ </action>
+
<action name="entryEdit!*" method="{1}"
class="org.apache.roller.weblogger.ui.struts2.editor.EntryEdit">
<result name="input" type="tiles">.EntryEdit</result>
@@ -413,7 +462,30 @@
</action>
-->
</package>
+
+
+ <!-- Weblogger Authoring UI - overlay pages-->
+ <package name="weblogger-authoring-overlay" namespace="/roller-ui/authoring/overlay" extends="weblogger-authoring">
+
+ <action name="mediaFileAdd!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileAdd">
+ <param name="overlayMode">true</param>
+ <result name="input" type="tiles">.MediaFileAddInclude</result>
+ <result name="success" type="tiles">.MediaFileAddSuccessInclude</result>
+ <result name="error" type="tiles">.MediaFileAddInclude</result>
+ </action>
+
+ <action name="mediaFileSearch!*" method="{1}"
+ class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileSearch">
+ <param name="overlayMode">true</param>
+ <result name="input" type="tiles">.MediaFileSearchInclude</result>
+ <result name="error" type="tiles">.MediaFileSearchInclude</result>
+ <result name="success" type="tiles">.MediaFileSearchInclude</result>
+ </action>
+
+ </package>
+
<!-- MOBILE BEGIN
<package name="mobile-authoring" namespace="/roller-ui/mobile" extends="weblogger">
Modified: roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml Sun Jun 7 17:47:40 2009
@@ -68,6 +68,18 @@
<put-attribute name="footer" value="/WEB-INF/jsps/tiles/footer.jsp" />
</definition>
+ <definition name=".tiles-popuppage" template="/WEB-INF/jsps/tiles/tiles-popuppage.jsp">
+ <put-attribute name="banner" value="/WEB-INF/jsps/tiles/empty.jsp" />
+ <put-attribute name="messages" value="/WEB-INF/jsps/tiles/messages.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/empty.jsp" />
+ <put-attribute name="content" value="${content}" />
+
+ </definition>
+ <definition name=".tiles-popuppage-only-content" template="/WEB-INF/jsps/tiles/tiles-popuppage.jsp">
+
+ <put-attribute name="content" value="${content}" />
+
+ </definition>
<!-- error pages -->
<definition name=".denied" extends=".tiles-errorpage" >
@@ -209,6 +221,84 @@
<put-attribute name="sidebar" value="/WEB-INF/jsps/editor/EntrySidebar.jsp" />
<put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
</definition>
+
+ <definition name=".MediaFileAdd" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileAdd.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
+
+ <definition name=".MediaFileEdit" extends=".tiles-popuppage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileEdit.jsp" />
+ </definition>
+
+ <definition name=".MediaFileAddExternalInclude" extends=".tiles-popuppage-only-content" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileAddExternalInclude.jsp" />
+ </definition>
+
+ <definition name=".MediaFileImageDimension" extends=".tiles-popuppage-only-content" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileImageDimension.jsp" />
+ </definition>
+
+
+ <definition name=".MediaFileSearchInclude" extends=".tiles-popuppage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileSearch.jsp" />
+ </definition>
+
+ <definition name=".MediaFileAddInclude" extends=".tiles-popuppage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileAdd.jsp" />
+ </definition>
+
+ <definition name=".MediaFileAddSuccessInclude" extends=".tiles-popuppage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileAddSuccessInclude.jsp" />
+ </definition>
+
+ <definition name=".MediaFileEditSuccess" extends=".tiles-popuppage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileEditSuccess.jsp" />
+ </definition>
+
+ <definition name=".MediaFileView" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileView.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
+
+ <definition name=".MediaFileHierarchicalView" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileHierarchicalView.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
+
+ <definition name=".MediaFileAddSuccess" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
+
+ <definition name=".MediaFileSearch" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/MediaFileSearch.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
+
+ <definition name=".TabularView" extends=".tiles-tabbedpage" >
+ <put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
+ <put-attribute name="content" value="/WEB-INF/jsps/editor/TabularView.jsp" />
+ <put-attribute name="sidebar" value="/WEB-INF/jsps/editor/MediaFileSidebar.jsp" />
+ <put-attribute name="styles" value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
+ </definition>
<definition name=".EntryEdit" extends=".tiles-tabbedpage" >
<put-attribute name="head" value="/WEB-INF/jsps/tiles/head-ajax.jsp" />
Modified: roller/trunk/apps/weblogger/web/WEB-INF/velocity/feeds.vm
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/velocity/feeds.vm?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/velocity/feeds.vm (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/velocity/feeds.vm Sun Jun 7 17:47:40 2009
@@ -23,6 +23,7 @@
#showEntriesRSS20()
#showCommentsAtom10()
#showCommentsRSS20()
+ #showFilesAtom10()
*#
#macro(showEntriesAtom10 $entries)
@@ -112,6 +113,26 @@
#end
#end
+#macro(showFilesAtom10 $mediaFiles)
+#foreach($file in $mediaFiles)
+ <entry>
+ <id>$file.permalink</id>
+ <title type="html">$utils.escapeXML($file.name)</title>
+ <author><name>$file.creator.screenName</name></author>
+ <link rel="alternate" type="text/html" href="$file.permalink"/>
+ <published>$utils.formatIso8601Date($file.dateUploaded)</published>
+ <updated>$utils.formatIso8601Date($file.lastUpdated)</updated>
+#foreach($tag in $file.tags)
+ <category term="$utils.escapeXML($tag.name)" scheme="http://roller.apache.org/ns/tags/" />
+#end
+#if( $utils.isNotEmpty($file.description))
+ <summary type="html">$utils.escapeXML($file.description)</summary>
+#end
+ <link rel="enclosure" type="$file.contentType" href="$utils.escapeXML($file.permalink)"/>
+ </entry>
+#end
+#end
+
#macro(showFeedHistory $pager)
<link rel="first" type="application/atom+xml" href="$utils.escapeXML($pager.url)" />
#if($pager.hasMoreItems())
Modified: roller/trunk/apps/weblogger/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/web.xml?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/web.xml (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/web.xml Sun Jun 7 17:47:40 2009
@@ -220,6 +220,12 @@
</servlet>
<servlet>
+ <servlet-name>MediaResourceServlet</servlet-name>
+ <servlet-class>org.apache.roller.weblogger.ui.rendering.servlets.MediaResourceServlet</servlet-class>
+ <load-on-startup>5</load-on-startup>
+ </servlet>
+
+ <servlet>
<servlet-name>SearchServlet</servlet-name>
<servlet-class>org.apache.roller.weblogger.ui.rendering.servlets.SearchServlet</servlet-class>
<load-on-startup>5</load-on-startup>
@@ -381,6 +387,11 @@
</servlet-mapping>
<servlet-mapping>
+ <servlet-name>MediaResourceServlet</servlet-name>
+ <url-pattern>/roller-ui/rendering/media-resources/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
<servlet-name>CommentServlet</servlet-name>
<url-pattern>/roller-ui/rendering/comment/*</url-pattern>
</servlet-mapping>
Modified: roller/trunk/apps/weblogger/web/roller-ui/authoring/editors/editor-text.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/roller-ui/authoring/editors/editor-text.jsp?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/roller-ui/authoring/editors/editor-text.jsp (original)
+++ roller/trunk/apps/weblogger/web/roller-ui/authoring/editors/editor-text.jsp Sun Jun 7 17:47:40 2009
@@ -17,6 +17,171 @@
--%>
<%-- This page is designed to be included in edit-weblog.jsp --%>
<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
+<script type="text/javascript" src="<s:url value='/roller-ui/scripts/yui/yahoo-dom-event.js'/>"></script>
+<script type="text/javascript" src="<s:url value='/roller-ui/scripts/yui/container-min.js'/>"></script>
+
+<style>
+a:link, a:visited, a:hover, a:active { text-decoration:underline; }
+body {
+ margin:0;
+ padding:0;
+ text-align:left;
+ }
+h1 {
+ font-size:20px;
+ font-weight:bold;
+ }
+.yui-overlay {
+ position:fixed;
+ background: #ffffff;
+ z-index: 112;
+ color:#000000;
+ border: 4px solid #525252;
+ text-align:left;
+ top: 50%;
+ left: 50%;
+ }
+</style>
+<script type="text/javascript">
+
+YAHOO.example = function() {
+ var $D = YAHOO.util.Dom;
+ var $E = YAHOO.util.Event;
+ return {
+ init : function() {
+ var overlay_img = new YAHOO.widget.Overlay("overlay_img", { fixedcenter:true,
+ visible:false,
+ width:"577px",height:"530px"
+ });
+ overlay_img.render();
+ var overlay = document.createElement('div');
+ overlay.id = 'overlay';
+ // Assign 100% height and width
+ overlay.style.width = '100%';
+ overlay.style.height = '100%';
+
+ document.getElementsByTagName('body')[0].appendChild(overlay);
+ overlay.style.display = 'none';
+ }
+ };
+
+}();
+
+YAHOO.util.Event.addListener(window, "load", YAHOO.example.init);
+
+function onClose(textForInsertion)
+{
+ document.getElementById('overlay').style.display = 'none';
+ document.getElementById('overlay_img').style.visibility = 'hidden';
+ if (textForInsertion && textForInsertion.length > 0) {
+ insertAtCursor(document.getElementById('EntryText'), textForInsertion);
+ }
+}
+
+function insertAtCursor(textAreaElement, valueForInsertion) {
+ if (document.selection) {
+ textAreaElement.focus();
+ var range = document.selection.createRange();
+ range.text = valueForInsertion;
+ }
+ else if (textAreaElement.selectionStart || textAreaElement.selectionStart == '0') {
+
+ var preText;
+ var postText;
+ if (textAreaElement.selectionStart == 0) {
+ preText = '';
+ postText = '';
+ }
+ else {
+ preText = textAreaElement.value.substring(0, textAreaElement.selectionStart);
+ postText = textAreaElement.value.substring(textAreaElement.selectionEnd, textAreaElement.value.length);
+ }
+ textAreaElement.value = preText + valueForInsertion + postText;
+ textAreaElement.selectionStart = preText.length + valueForInsertion.length;
+ textAreaElement.selectionEnd = textAreaElement.selectionStart;
+ textAreaElement.focus();
+ } else {
+ textAreaElement.value += valueForInsertion;
+ textAreaElement.focus();
+ }
+}
+
+
+function onClickAdd(){
+ var browser=navigator.appName;
+ document.getElementById("overlay_img").style.visibility = "visible";
+ document.getElementById('overlay').style.display = 'block';
+ document.getElementById("overlay_img").style.width = "650px";
+ document.getElementById("overlay_img").style.height = "550px";
+ document.getElementById("overlay_img").style.top = "40px";
+
+
+ var frame = document.createElement('iframe');
+ frame.setAttribute("id","myframe");
+ frame.setAttribute("frameborder","no");
+ frame.setAttribute("scrolling","auto");
+
+ frame.setAttribute('src','<s:url action="mediaFileAdd" namespace="overlay"><s:param name="weblog" value="%{actionWeblog.handle}" /></s:url>' );
+ frame.style.width="100%";
+ frame.style.height="100%";
+ if (browser=="Microsoft Internet Explorer")
+ {
+ document.getElementById("overlay_img").style.top= "40px";
+ document.getElementById("overlay_img").style.left= "170px";
+ }
+ document.getElementById("overlay_img").innerHTML = '<div ><a href="#" class="container-close" onclick="onClose()"></a></div>';
+ document.getElementById("overlay_img").appendChild(frame);
+}
+
+function onClickAddFromUpload(){
+ var browser=navigator.appName;
+ document.getElementById("overlay_img").style.visibility = "visible";
+ document.getElementById('overlay').style.display = 'block';
+ document.getElementById("overlay_img").style.width = "650px";
+ document.getElementById("overlay_img").style.height = "500px";
+ document.getElementById("overlay_img").style.top = "40px";
+ var frame = document.createElement('iframe');
+ frame.setAttribute("id","myframe");
+ frame.setAttribute("frameborder","no");
+ frame.setAttribute("scrolling","auto");
+ frame.setAttribute('src','<s:url action="mediaFileSearch" namespace="overlay"><s:param name="weblog" value="%{actionWeblog.handle}" /></s:url>' );
+ frame.style.width="100%";
+ frame.style.height="100%";
+ if (browser=="Microsoft Internet Explorer")
+ {
+ document.getElementById("overlay_img").style.top= "40px";
+ document.getElementById("overlay_img").style.left= "170px";
+ }
+
+ document.getElementById("overlay_img").innerHTML = '<div ><a href="#" class="container-close" onclick="onClose()"></a></div>';
+ document.getElementById("overlay_img").appendChild(frame);
+}
+
+function onClickAddExternal(){
+ var browser=navigator.appName;
+ document.getElementById("overlay_img").style.visibility = "visible";
+ document.getElementById('overlay').style.display = 'block';
+ document.getElementById("overlay_img").style.width = "515px";
+ document.getElementById("overlay_img").style.height = "400px";
+ document.getElementById("overlay_img").style.top = "100px";
+
+ var frame = document.createElement('iframe');
+ frame.setAttribute("id","myframe");
+ frame.setAttribute("frameborder","no");
+ frame.setAttribute("scrolling","auto");
+ frame.setAttribute('src','<s:url action="mediaFileAddExternalInclude"><s:param name="weblog" value="%{actionWeblog.handle}" /></s:url>' );
+ frame.style.width="100%";
+ frame.style.height="100%";
+ if (browser=="Microsoft Internet Explorer")
+ {
+ document.getElementById("overlay_img").style.top= "40px";
+ document.getElementById("overlay_img").style.left= "170px";
+ }
+ document.getElementById("overlay_img").innerHTML = '<div ><a href="#" class="container-close" onclick="onClose()"></a></div>';
+ document.getElementById("overlay_img").appendChild(frame);
+}
+
+</script>
<script type="text/javascript">
<!--
@@ -40,10 +205,19 @@
// -->
</script>
+<div id="overlay_img" style="visibility:hidden"> </div>
+
<%-- ===================================================================== --%>
-<p class="toplabel"><s:text name="weblogEdit.content" /></p>
+<p class="toplabel">
+ <span style="float:left;"><s:text name="weblogEdit.content" /></span>
+ <span style="font-weight:normal;float:right;">
+ <a href="#" onClick="onClickAdd();";>Add media </a>
+ <a href="#" onClick="onClickAddFromUpload();">Attach uploaded file</a>
+ <a href="#" onClick="onClickAddExternal();">Add media from URL</a>
+ </span>
+</p>
-<s:textarea name="bean.text" cols="75" rows="25" cssStyle="width: 100%" tabindex="5"/>
+<s:textarea id="EntryText" name="bean.text" cols="75" rows="25" cssStyle="width: 100%" tabindex="5"/>
<script type="text/javascript">
<!--
if (getCookie("editorSize1") != null) {
Modified: roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css?rev=782416&r1=782415&r2=782416&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css (original)
+++ roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css Sun Jun 7 17:47:40 2009
@@ -672,6 +672,12 @@
font-weight: bold;
}
+/* media file pages */
+.mediaFileSearchResult {
+ float: left;
+ margin: 10px 10px 10px 10px;
+}
+
/* weblog entry form page */
span.entryEditSidebarLink {
@@ -749,3 +755,75 @@
margin-left: auto;
margin-right: auto;
}
+
+/* ----------------------------------------------------------------------
+Media File styles
+---------------------------------------------------------------------- */
+/*** for overlay ***/
+.yui-overlay span, #close {
+ float: left;
+ }
+
+ #close { float: right; }
+
+ #overlay {
+ position: fixed;
+ z-index:100;
+ top: 0px;
+ left: 0px;
+ height:100%;
+ width:100%;
+ display: none;
+ background-color:#000;
+ filter:alpha(opacity=25);
+ -moz-opacity: 0.25;
+ opacity: 0.25;
+ }
+
+ .container-close {
+ position:absolute;
+ top:2px;
+ right:4px;
+ z-index:6;
+ height:12px;
+ width:12px;
+ margin:0px;
+ padding:0px;
+ background:url('http://yui.yahooapis.com/2.6.0/build/container/assets/close12_1.gif') no-repeat;
+ cursor:pointer
+ }
+
+ .align-images {
+ display:inline;
+ float:left;
+ margin:5px;
+ list-style-type:none;
+ width:140px;
+ }
+
+ .dir-image {
+ cursor:pointer;
+ width:25px;
+ height:25px;
+ padding:40px 45px;
+ }
+
+ /*** For context menu ***/
+
+ #menu h1 {
+ line-height:120%;
+ margin:15px 0px;
+ }
+ #ewecontextmenu {
+ background-color:#CECECE;
+ border:1px solid #808080;
+ line-height:1.5;
+ }
+
+ #ewecontextmenu li a {
+ text-decoration:none;
+ color: #000000;
+ }
+
+ #ewecontextmenu .yuimenuitem-selected{background-color:#36404C;}
+ #ewecontextmenu .yuimenuitem-selected a {color:#ffffff;}