Author: snoopdave
Date: Tue Sep 22 03:07:45 2009
New Revision: 817486
URL: http://svn.apache.org/viewvc?rev=817486&view=rev
Log:
More improvements and fixes in media blogging features.
Associated with https://issues.apache.org/jira/browse/ROL-1765
We now use the YUI Panel component to display Media File Edit page instead of
our homegrown lightbox
Modified:
roller/trunk/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.java
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp
roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
Tue Sep 22 03:07:45 2009
@@ -15,7 +15,6 @@
* copyright in this work, please see the NOTICE file in the top level
* directory of this distribution.
*/
-
package org.apache.roller.weblogger.ui.struts2.editor;
import org.apache.commons.logging.Log;
@@ -30,52 +29,49 @@
*/
@SuppressWarnings("serial")
public class EntryAddWithMediaFile extends MediaFileBase {
+
private static Log log = LogFactory.getLog(EntryAddWithMediaFile.class);
-
+
// bean for managing form data
private EntryBean bean = new EntryBean();
public EntryAddWithMediaFile() {
}
-
+
/**
* Prepare bean for creating a new weblog entry with a link to a media
file.
- *
* @return String The result of the action.
*/
@SkipValidation
public String execute() {
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
- try {
- MediaFile mediaFile =
manager.getMediaFile(getMediaFileId());
- String link;
- if (mediaFile.isImageFile()) {
- link = "<img src='<url>' alt='<name>'
width='<width>' height='<height>' />";
- link = link
- .replace("<url>", getMediaFileURL(mediaFile))
- .replace("<name>", mediaFile.getName())
- .replace("<width>", "")
- .replace("<height>", "");
- }
- else {
- link = "<a href='<url>'><name></a>";
- link = link
- .replace("<url>", getMediaFileURL(mediaFile))
- .replace("<name>", mediaFile.getName());
- }
- bean.setText(link);
- } catch (Exception e) {
+ MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ try {
+ MediaFile mediaFile = manager.getMediaFile(getMediaFileId());
+ String link;
+ if (mediaFile.isImageFile()) {
+ link = "<img src='<url>' alt='<name>' width='<width>'
height='<height>' />";
+ link = link.replace("<url>", getMediaFileURL(mediaFile))
+ .replace("<name>", mediaFile.getName())
+ .replace("<width>", "")
+ .replace("<height>", "");
+ } else {
+ link = "<a href='<url>'><name></a>";
+ link = link.replace("<url>", getMediaFileURL(mediaFile))
+ .replace("<name>", mediaFile.getName());
+ }
+ bean.setText(link);
+
+ } catch (Exception e) {
log.error("Error while constructing media file link for new
entry", e);
- }
- return SUCCESS;
+ }
+ return SUCCESS;
+ }
+
+ public EntryBean getBean() {
+ return bean;
}
- public EntryBean getBean() {
- return bean;
- }
-
- public void setBean(EntryBean bean) {
- this.bean = bean;
- }
-
+ public void setBean(EntryBean bean) {
+ this.bean = bean;
+ }
}
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
Tue Sep 22 03:07:45 2009
@@ -33,6 +33,7 @@
import org.apache.roller.weblogger.pojos.MediaFileType;
import org.apache.struts2.interceptor.validation.SkipValidation;
+
/**
* Adds a new media file.
*/
@@ -42,24 +43,27 @@
private static Log log = LogFactory.getLog(MediaFileAdd.class);
private MediaFileBean bean = new MediaFileBean();
private MediaFileDirectory directory;
+
// file uploaded by the user
private File uploadedFile = null;
+
// content type for upload file
private String uploadedFileContentType = null;
+
// filename for uploaded file
private String uploadedFileFileName = null;
public MediaFileAdd() {
this.actionName = "mediaFileAdd";
this.desiredMenu = "editor";
- this.pageTitle = "mediaFile.add.title";
+ this.pageTitle = "mediaFileAdd.title";
}
/**
* Prepares action class
*/
public void myPrepare() {
- System.out.println("Into myprepare");
+ log.debug("Into myprepare");
refreshAllDirectories();
try {
MediaFileManager mgr =
WebloggerFactory.getWeblogger().getMediaFileManager();
@@ -95,6 +99,7 @@
try {
MediaFile mediaFile = new MediaFile();
bean.copyTo(mediaFile);
+
mediaFile.setDirectory(getDirectory());
mediaFile.setWeblog(getActionWeblog());
mediaFile.setLength(this.uploadedFile.length());
@@ -104,6 +109,7 @@
WebloggerFactory.getWeblogger().flush();
bean.setId(mediaFile.getId());
return SUCCESS;
+
} catch (FileIOException ex) {
addError("uploadFiles.error.upload", bean.getName());
} catch (Exception e) {
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
Tue Sep 22 03:07:45 2009
@@ -162,7 +162,7 @@
* Constructs the external URL for a given media file
*/
protected String getMediaFileURL(MediaFile mediaFile) {
- return getSiteURL() + "/roller-ui/rendering/media-resources/" +
mediaFile.getId();
+ return mediaFile.getWeblog().getAbsoluteURL() + "/mediaresource/" +
mediaFile.getId();
}
public String[] getSelectedMediaFiles() {
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=817486&r1=817485&r2=817486&view=diff
==============================================================================
---
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
(original)
+++
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
Tue Sep 22 03:07:45 2009
@@ -957,12 +957,15 @@
# -- Media File Add
mediaFileAdd.title=Add new media file
-mediaFileAdd.fileLocation=File Location
-mediaFileAdd.name=Name
+mediaFileAdd.pageTip=Use the add file button below to select a file then \
+enter name and optionally a description, copyright message and tags. When \
+you're read to upload click the Save button.
+mediaFileAdd.fileLocation=Choose file to upload
+mediaFileAdd.name=Title
mediaFileAdd.description=Description
-mediaFileAdd.tags=Tags (space separated)=
+mediaFileAdd.tags=Tags (space separated)
mediaFileAdd.copyright=Copyright statement
-mediaFileAdd.directory=Place file under
+mediaFileAdd.directory=Place in directory
mediaFileAdd.includeGallery=Include in Gallery?
mediaFileAdd.upload=Upload
@@ -970,7 +973,7 @@
mediaFileEdit.title=Edit media file
mediaFileEdit.fileLocation=File Location
-mediaFileEdit.name=Name
+mediaFileEdit.name=Title
mediaFileEdit.description=Description
mediaFileEdit.tags=Tags (space separated)=
mediaFileEdit.copyright=Copyright statement
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp
(original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileAdd.jsp Tue
Sep 22 03:07:45 2009
@@ -38,7 +38,9 @@
<p class="subtitle">
<s:text name="mediaFileAdd.title" />
-
+</p>
+<p class="pagetip">
+ <s:text name="mediaFileAdd.pageTip" />
</p>
<s:form id="entry" action="mediaFileAdd!save" onsubmit="editorCleanup()"
method="POST" enctype="multipart/form-data">
@@ -54,7 +56,10 @@
<label for="title"><s:text name="mediaFileAdd.fileLocation"
/></label>
</td>
<td>
- <s:file name="uploadedFile" size="30"
onchange="this.form['bean.name'].value=getFileName(this.value)" /><br />
+ <s:file name="uploadedFile" size="30"
onchange="this.form['bean.name'].value=getFileName(this.value)" />
+ <br />
+ <br />
+ <br />
</td>
</tr>
@@ -114,7 +119,7 @@
</table>
- <br>
+ <br />
<div class="control">
<input type="submit" value='<s:text name="mediaFileAdd.upload" />'
name="upload" />
</div>
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp
(original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileEdit.jsp Tue
Sep 22 03:07:45 2009
@@ -21,7 +21,7 @@
<s:text name="mediaFile.edit.title" />
</p>
-<s:form id="entry" action="mediaFileEdit!save" onsubmit="editorCleanup()"
method="POST">
+<s:form id="entry" action="mediaFileEdit!save" method="POST">
<s:hidden name="weblog" />
<s:hidden name="mediaFileId" />
@@ -84,11 +84,6 @@
</td>
</tr>
-
-
-
-
-
</table>
<br>
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp?rev=817486&r1=817485&r2=817486&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp
(original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/MediaFileView.jsp Tue
Sep 22 03:07:45 2009
@@ -19,34 +19,18 @@
<link rel="stylesheet" type="text/css" href="<s:url
value='/roller-ui/styles/yui/container.css'/>" />
<link rel="stylesheet" type="text/css" href="<s:url
value='/roller-ui/styles/yui/menu.css'/>" />
+<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/2.7.0/build/container/assets/skins/sam/container.css"
/>
<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_core-min.js'/>"></script>
<script type="text/javascript" src="<s:url
value='/roller-ui/scripts/yui/menu-min.js'/>"></script>
+<script type="text/javascript"
src="http://yui.yahooapis.com/2.7.0/build/dragdrop/dragdrop-min.js"></script>
+<script type="text/javascript"
src="http://yui.yahooapis.com/2.7.0/build/container/container-min.js"></script>
<script type="text/javascript" src="<s:url
value="/roller-ui/scripts/jquery-1.3.1.min.js" />"></script>
<style>
- 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%;
- }
.mediaObject {
width:120px;
height:120px;
@@ -148,8 +132,6 @@
lazyload: true
});
- oEweContextMenu.configTrigger = configTrigger;
-
oEweContextMenu.trigger =
oClones.getElementsByClassName("contextMenu");
// "render" event handler for the ewe context menu
@@ -162,50 +144,6 @@
oEweContextMenu.subscribe("render", onContextMenuRender);
});
- 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:"569px",height:"550px"
- });
-
- 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 configTrigger(p_sType, p_aArgs, p_oMenu) {
- window.alert("HI");
- var oTrigger = p_aArgs[0];
- if (oTrigger) {
- if (this._oTrigger) {
- this._removeEventHandlers();
- }
- this._oTrigger = oTrigger;
- Event.on(oTrigger, EVENT_TYPES.CONTEXT_MENU,
this._onTriggerContextMenu, this, true);
- Event.on(oTrigger, EVENT_TYPES.CLICK, this._onTriggerClick, this,
true);
- }
- else {
- this._removeEventHandlers();
- }
- }
-
-
</script>
@@ -234,37 +172,10 @@
document.mediaFileViewForm.submit();
}
}
-
- function onClose() {
- document.getElementById('overlay').style.display = 'none';
- document.getElementById('overlay_img').style.visibility = 'hidden';
- }
-
- function onClickEdit(mediaFileId) {
- var browser=navigator.appName;
- document.getElementById("overlay_img").style.visibility = "visible";
- document.getElementById('overlay').style.display = 'block';
-
- var frame = document.createElement('iframe');
- frame.setAttribute("id","myframe");
- frame.setAttribute("frameborder","no");
- frame.setAttribute("scrolling","auto");
- frame.setAttribute('src','<s:url action="mediaFileEdit"><s:param
name="weblog" value="%{actionWeblog.handle}"
/></s:url>&mediaFileId='+mediaFileId );
- 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>
+
<%-- ********************************************************************* --%>
<%-- Subtitle and folder path --%>
@@ -299,7 +210,7 @@
</s:if>
<s:else>
<s:text name="mediaFileView.noResults" />
- </s:else>
+ </s:else>
<s:text name="mediaFileView.searchInfo" />
<ul>
@@ -361,7 +272,7 @@
<s:if test="childFiles || childDirectories || (pager && pager.items.size() >
0)">
-<s:form id="mediaFileViewForm" name="mediaFileViewForm" action="mediaFileView"
onsubmit="editorCleanup()">
+<s:form id="mediaFileViewForm" name="mediaFileViewForm" action="mediaFileView">
<%--
<s:url id="mediaFileHierarchicalViewURL"
action="mediaFileHierarchicalView">
@@ -426,7 +337,7 @@
</div>
</li>
</s:iterator>
-
+
<%-- ---------------------------------------------------------
--%>
<%-- List media files next --%>
@@ -580,13 +491,52 @@
</s:if>
-<%--
+
+
+<script type="text/javascript">
+<!--
+ function onClickEdit(mediaFileId) {
+ <s:url id="mediaFileEditURL" action="mediaFileEdit">
+ <s:param name="weblog" value="%{actionWeblog.handle}" />
+ </s:url>
+ $("#mediaFileEditor").attr('src',
+ '<s:property value="%{mediaFileEditURL}" />' + '&mediaFileId=' +
mediaFileId);
+ YAHOO.mediaFileEditor.lightbox.show();
+ }
+
+ function onClose() {
+ $("#mediaFileEditor").attr('src','about:blank');
+ YAHOO.mediaFileEditor.lightbox.hide();
+ }
+
+ YAHOO.namespace("mediaFileEditor");
+ function init() {
+ YAHOO.mediaFileEditor.lightbox = new YAHOO.widget.Panel(
+ "mediafile_edit_lightbox", {
+ modal: true,
+ width: "600px",
+ height: "600px",
+ visible: false,
+ fixedcenter: true,
+ constraintoviewport: true
+ }
+ );
+ YAHOO.mediaFileEditor.lightbox.render(document.body);
+ }
+ YAHOO.util.Event.addListener(window, "load", init);
+-->
+</script>
+
<div id="mediafile_edit_lightbox" style="visibility:hidden">
<div class="hd">Media File Editor</div>
<div class="bd">
- <iframe src="http://sun.com" style="visibility:inherit" height="0"
width="0"></iframe>
+ <iframe id="mediaFileEditor"
+ style="visibility:inherit"
+ height="100%"
+ width="100%"
+ frameborder="no"
+ scrolling="auto">
+ </iframe>
</div>
<div class="ft"></div>
</div>
---%>
-
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=817486&r1=817485&r2=817486&view=diff
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/tiles.xml Tue Sep 22 03:07:45 2009
@@ -225,7 +225,7 @@
<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="sidebar" value="/WEB-INF/jsps/tiles/empty.jsp" />
<put-attribute name="styles"
value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
</definition>
@@ -282,14 +282,7 @@
<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="sidebar" value="/WEB-INF/jsps/tiles/empty.jsp" />
<put-attribute name="styles"
value="/WEB-INF/jsps/tiles/css-sidebar.jsp" />
</definition>