You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by rf...@apache.org on 2007/05/29 20:10:35 UTC

svn commit: r542606 - /lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx

Author: rfrovarp
Date: Tue May 29 11:10:35 2007
New Revision: 542606

URL: http://svn.apache.org/viewvc?view=rev&rev=542606
Log:
Fixes image upload from inside of editor (see bug 41910)

Modified:
    lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx

Modified: lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx?view=diff&rev=542606&r1=542605&r2=542606
==============================================================================
--- lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx (original)
+++ lenya/trunk/src/modules/fckeditor/usecases/insertAsset.jx Tue May 29 11:10:35 2007
@@ -6,9 +6,9 @@
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,11 +16,13 @@
   limitations under the License.
 -->
 
+<!-- $Id: insertAsset.jx 508032 2007-02-15 17:41:53Z andreas $ -->
+
 <page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" 
-           xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
-           xmlns="http://www.w3.org/1999/xhtml" 
-           xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
-           
+  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
+  xmlns="http://www.w3.org/1999/xhtml" 
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
+  
   <page:head>
     <script src="${request.contextPath}/modules/fckeditor/javascript/insertAsset.js"/>
   </page:head>
@@ -28,55 +30,60 @@
   <page:title>
     <i18n:text>FCKEditor - Insert Lenya resource</i18n:text>
   </page:title>
-
-  <page:body>
   
+  <page:body>
     <form method="POST" name="image" id="image">
       <input type="hidden" name="lenya.usecase" value="${usecase.getName()}"/>
       <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
-      <table class="lenya-table">
-        <tr>
-          <th/>
-          <th><i18n:text>Assets</i18n:text></th>
-          <th><i18n:text>Preview</i18n:text></th>
-          <th><i18n:text>Title</i18n:text></th>
-          <th><i18n:text>File Size</i18n:text></th>
-          <th><i18n:text>Dimension (w x h)</i18n:text></th>
-          <th><i18n:text>Creation Date</i18n:text></th>
-        </tr>
-        <jx:forEach var="asset" items="${usecase.getParameter('assets')}">
-          <tr>
-            <td>
-            <input type="radio" name="asset" value="" 
-             onClick="javascript:insertData('${cocoon.request.getContextPath()}/${asset.getPublication().getId()}/${asset.getArea()}${asset.getPath()}.${asset.getMetaData('http://apache.org/lenya/metadata/document/1.0').getFirstValue('extension')}', '${asset.getMetaData('http://purl.org/dc/elements/1.1/').getFirstValue('title')}', '${asset.getMimeType()}', '${asset.getContentLength() / 1000}', '${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('height')}', '${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('width')}')"/> 
-            </td>
-            <td><jx:out value="${asset.getPath()}"/></td>
-            <td>        
-              <jx:set var="mimeType" value="${asset.getMimeType()}"/>
-              <jx:if test="${mimeType.startsWith('image/')}">
-                <jx:set var="doc" value="${usecase.getParameter('document')}"/>
-                <img src="${cocoon.request.getContextPath()}/${asset.getPublication().getId()}/${asset.getArea()}${asset.getPath()}.${asset.getMetaData('http://apache.org/lenya/metadata/document/1.0').getFirstValue('extension')}"
-                     style="height: 32px; vertical-align: middle;"/>&#160;
-              </jx:if>
-            </td>
-            <td><jx:out value="${asset.getMetaData('http://purl.org/dc/elements/1.1/').getFirstValue('title')}"/></td>
-            <td align="right"><jx:out value="${asset.getContentLength() / 1000}"/> kB</td>
-            <td align="right"><jx:if test="${mimeType.startsWith('image/')}"><jx:out value="${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('width')}"/> x <jx:out value="${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('height')}"/></jx:if></td>
-            <td align="right"><jx:out value="${java.text.DateFormat.getDateInstance().format(asset.getLastModified())}"/></td>
-          </tr>
-        </jx:forEach>
-        <tr>
-          <td colspan="6">
-            <input type="hidden" name="type" value=""/>
-            <input type="hidden" name="assetName" value=""/>
-            <input type="hidden" name="assetSize" value=""/>
-            <input type="hidden" name="ratio" value=""/>
-            <table class="lenya-table-noborder">
+      <div class="lenya-box">
+        <div class="lenya-box-title"><i18n:text>Available Assets</i18n:text></div>
+        <div class="lenya-box-body">
+          <table class="lenya-table-list" style="border: none">
+            <tr>
+              <th style="background: none;"/>
+              <th style="background: none;"><i18n:text>Assets</i18n:text></th>
+              <th style="background: none;"><i18n:text>Preview</i18n:text></th>
+              <th style="background: none;"><i18n:text>Title</i18n:text></th>
+              <th style="background: none;"><i18n:text>File Size</i18n:text></th>
+              <th style="background: none;"><i18n:text>Dimension (w x h)</i18n:text></th>
+              <th style="background: none;"><i18n:text>Creation Date</i18n:text></th>
+            </tr>
+            <jx:forEach var="asset" items="${usecase.getParameter('assets')}">
+              <jx:set var="originalUrl" value="${cocoon.request.getContextPath() + asset.getCanonicalWebappURL()}"/>
+              <jx:set var="lastDotIndex" value="${originalUrl.lastIndexOf('.')}"/>
+              <jx:set var="extension" value="${asset.getMetaData('http://apache.org/lenya/metadata/document/1.0').getFirstValue('extension')}"/>
+              <jx:set var="url" value="${originalUrl.substring(0, lastDotIndex).concat('.').concat(extension)}"/>
               <tr>
-                <td class="lenya-entry-caption"><label for="caption"><i18n:text>Caption</i18n:text></label>:</td>
-                <td><input class="lenya-form-element" type="text" name="caption"/></td>
-              </tr>
-              <jx:if test="${usecase.getName().equals('fckeditor.insertImage')}">
+                <td>
+                  <input type="radio" name="asset" value="${asset.getPath()}" 
+                    onClick="javascript:insertData('${url}', '${asset.getMetaData('http://purl.org/dc/elements/1.1/').getFirstValue('title')}', '${asset.getMimeType()}', '${asset.getContentLength() / 1000}', '${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('height')}', '${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('width')}')"/> 
+                </td>
+                <td><jx:out value="${asset.getPath()}"/></td>
+                <td>
+                  <jx:set var="mimeType" value="${asset.getMimeType()}"/>
+                  <jx:if test="${mimeType.startsWith('image/')}">
+                    <jx:set var="doc" value="${usecase.getParameter('document')}"/>
+                    <img src="${url}" style="height: 32px; vertical-align: middle; margin: 3px 0px;"/>&#160;
+                  </jx:if>
+                </td>
+                <td><jx:out value="${asset.getMetaData('http://purl.org/dc/elements/1.1/').getFirstValue('title')}"/></td>
+                <td align="right"><jx:out value="${asset.getContentLength() / 1000}"/> kB</td>
+                <td align="right"><jx:if test="${mimeType.startsWith('image/')}"><jx:out value="${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('width')}"/> x <jx:out value="${asset.getMetaData('http://apache.org/lenya/metadata/media/1.0').getFirstValue('height')}"/></jx:if></td>
+                <td align="right"><jx:out value="${java.text.DateFormat.getDateInstance().format(asset.getLastModified())}"/></td>
+              </tr>
+            </jx:forEach>
+          </table>
+          <br/>
+          <input type="hidden" name="type" value=""/>
+          <input type="hidden" name="assetName" value=""/>
+          <input type="hidden" name="assetSize" value=""/>
+          <input type="hidden" name="ratio" value=""/>
+          <table class="lenya-table-noborder">
+            <tr>
+              <td class="lenya-entry-caption"><label for="caption"><i18n:text>Caption</i18n:text></label>:</td>
+              <td><input class="lenya-form-element" type="text" name="caption"/></td>
+            </tr>
+            <jx:if test="${usecase.getName().equals('fckeditor.insertImage')}">
               <tr>
                 <td class="lenya-entry-caption"><label for="width"><i18n:text>width</i18n:text></label>:</td>
                 <td><input class="lenya-form-element" type="text" name="width" onchange="javascript:scaleHeight(this.value)"/></td>
@@ -85,171 +92,55 @@
                 <td class="lenya-entry-caption"><label for="height"><i18n:text>height</i18n:text></label>:</td>
                 <td><input class="lenya-form-element" type="text" name="height" onchange="javascript:scaleWidth(this.value)"/></td>
               </tr>
-              </jx:if>
+            </jx:if>
+            <tr>
+              <td colspan="2">
+                <input i18n:attr="value" type="submit" value="Insert"
+                  onClick="javascript:${usecase.getView().getParameter('callbackFunction')}('${usecase.getParameter('document').getName()}');" />
+                &#160;
+                <input i18n:attr="value" type="submit" name="cancel" value="Cancel"
+                  onClick="location.href='javascript:window.close();';" />
+              </td>
+            </tr>
+          </table>
+        </div>
+      </div>
+    </form>
+    
+    <div class="lenya-box">
+      <div class="lenya-box-title"><i18n:text>Upload Asset</i18n:text></div>
+      <div class="lenya-box-body">
+        <jx:if test="${usecase.getParameter('document').getArea().equals('authoring')}">
+          <form method="POST" enctype="multipart/form-data" id="form-add_asset">
+            <input type="hidden" name="lenya.usecase" value="${usecase.getName()}"/>
+            <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
+            
+            <input type="hidden" name="doctype" value="resource"/>
+            <input type="hidden" name="relation" value="child"/>
+            
+            <table class="lenya-table-noborder">
               <tr>
                 <td colspan="2">
-                  <input i18n:attr="value" type="submit" name="submit" value="Submit"
-                     onClick="javascript:${usecase.getView().getParameter('callbackFunction')}();" />
-                  &#160;
-                  <input i18n:attr="value" type="submit" name="cancel" value="Cancel"
-                     onClick="location.href='javascript:window.close();';" />
+                  <jx:import uri="fallback://lenya/modules/usecase/templates/messages.jx"/>
                 </td>
               </tr>
-            </table>
-          </td>
-        </tr>
-      </table>
-    </form>  
-  
-  
-
-     <jx:if test="${usecase.getParameter('document').getArea().equals('authoring')}">
-      <form method="POST" enctype="multipart/form-data" id="form-add_asset">
-        <input type="hidden" name="lenya.usecase" value="${usecase.getName()}"/>
-        <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
-        <table class="lenya-table-noborder">
-          <tr>
-            <td colspan="2">
-              <jx:import uri="fallback://lenya/modules/usecase/templates/messages.jx"/>
-            </td>
-          </tr>
-          <jx:choose>
-            <jx:when test="${usecase.getParameter('pathProvided')}">
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="nodeName"><i18n:text>Path</i18n:text>: </label>
-                </td>
-                <td>
-                  <jx:out value="${usecase.getParameter('path')}"/>
-                </td>
-              </tr>
-            </jx:when>
-            <jx:otherwise>
               <tr>
-                <td class="lenya-entry-caption">
-                  <label for="nodeName"><i18n:text>Parent Path</i18n:text>: </label>
-                </td>
-                <td>
-                  <jx:out value="${usecase.getParameter('parentPath')}"/>
-                </td>
+                <td class="lenya-entry-caption"><label for="file">
+                  <i18n:text>File</i18n:text> *</label></td>
+                <td><input type="file" name="file" class="lenya-form-element"/></td>
               </tr>
+              <jx:import uri="fallback://lenya/modules/sitemanagement/usecases/site/createFields.jx"/>
               <tr>
-                <td class="lenya-entry-caption">
-                  <label for="nodeName"><i18n:text>Node Name</i18n:text>*: </label>
-                </td>
-                <td>
-                  <input class="lenya-form-element" type="text" name="nodeName" value="${usecase.getParameter('nodeName')}"/>
-                  <br/> (<i18n:text>No whitespace, no special characters</i18n:text>)
-                </td>
-              </tr>
-            </jx:otherwise>
-          </jx:choose>
-          <tr>
-            <td class="lenya-entry-caption"><label for="file">
-              <i18n:text>File</i18n:text> *</label></td>
-            <td><input type="file" name="file" class="lenya-form-element"/></td>
-          </tr>
-          <tr>
-            <td class="lenya-entry-caption">
-              <label for="title"><i18n:text>Navigation Title</i18n:text>*:
-              </label></td>
-            <td>
-              <input class="lenya-form-element" type="text" name="title"
-                value="${usecase.getParameter('title')}"/>
-            </td>
-          </tr>
-          <tr>
-            <td class="lenya-entry-caption">
-              <label for="visibleinnav"><i18n:text>Document visible in Navigation</i18n:text>*:
-              </label></td>
-            <jx:set var="visible" value="yes"/>
-            <jx:if
-              test="${usecase.getParameter('visibleInNav').equals('false')}">
-              <jx:set var="visible" value="no"/>
-            </jx:if>
-            <td>
-              <select class="lenya-form-element" name="visibleInNav">
-                <jx:choose>
-                  <jx:when test="${visible.equals('yes')}">
-                    <option value="true" selected="selected">
-                      <i18n:text>yes</i18n:text></option>
-                    <option value="false"><i18n:text>no</i18n:text></option>
-                  </jx:when>
-                  <jx:otherwise>
-                    <option value="true"><i18n:text>yes</i18n:text></option>
-                    <option value="false" selected="selected">
-                      <i18n:text>no</i18n:text></option>
-                  </jx:otherwise>
-                </jx:choose>
-              </select>
-            </td>
-          </tr>
-          <jx:if test="${!usecase.getParameter('documentIdProvided')}">
-            <tr>
-              <td class="lenya-entry-caption">
-                <label for="relation"><i18n:text>Relation</i18n:text>*:
-                </label>
-              </td>
-              <td>
-                <jx:forEach var="relation"
-                  items="${usecase.getParameter('relations')}">
-                  <jx:choose>
-                    <jx:when
-                      test="${relation.equals(usecase.getParameter('relation'))}">
-                      <input type="radio" name="relation" value="${relation}"
-                        checked="checked"/><i18n:text>${relation}</i18n:text>
-                    </jx:when>
-                    <jx:otherwise>
-                      <input type="radio" name="relation" value="${relation}"/>
-                      <i18n:text>${relation}</i18n:text>
-                    </jx:otherwise>
-                  </jx:choose>
-                </jx:forEach>
-              </td>
-            </tr>
-          </jx:if>
-          <jx:set var="languages" value="${usecase.getParameter('languages')}"/>
-          <jx:choose>
-            <jx:when test="${languages.size() &gt; 1}">
-              <tr>
-                <td class="lenya-entry-caption">
-                  <label for="language"><i18n:text>Language</i18n:text>*:
-                  </label></td>
+                <td/>
                 <td>
-                  <select class="lenya-form-element" name="language">
-                    <jx:forEach var="language"
-                      items="${usecase.getParameter('languages')}">
-                      <option value="${language}">${language}</option>
-                    </jx:forEach>
-                  </select>
-                </td>
-              </tr>
-            </jx:when>
-            <jx:otherwise>
-              <tr>
-                <td colspan="2">
-                  <jx:set var="language" value="${languages[0]}"/>
-                  <input type="hidden" name="language" value="${language}"/>
+                  <input i18n:attr="value" name="submit" type="submit"
+                    value="New Asset"/>
                 </td>
               </tr>
-            </jx:otherwise>
-          </jx:choose>
-          <input type="hidden" name="doctype" value="resource" />
-          <tr>
-            <td class="lenya-entry-caption">*
-              <i18n:text>required fields</i18n:text>
-            </td>
-          </tr>
-          <tr>
-            <td/>
-            <td>
-              <input i18n:attr="value" name="submit" type="submit"
-                value="New Asset"/>
-            </td>
-          </tr>
-        </table>
-      </form>
-      
-     </jx:if>
+            </table>
+          </form>
+        </jx:if>
+      </div>
+    </div>
   </page:body>
 </page:page>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org