Umbenennen von ccm-ldn-theme in ccm-themedirector.

Gleichzeitig Einführen einer neuen Infrastruktur für themes:
Es gibt nun ein Verzeichnis ~/themes/ in das alle theme bezogene Daten
migriert werden sollen. Das sollte im ersten Schritt mit den Applicationen
erfolgen, die ihre Dateien in ~/__ccm__/apps ablegen. ccm-themedirector nutzt 
bereits diese Infrastruktur.  Die alte Infrastruktur mit ~/packages und
~/templates und ~/static bleibt übergangsweise in core und cms  erhalten.

Das gibt uns die Möglichkeit, Mandalay als neues / alternatives Standard Theme
in die Standard Distribution einzubauen.  

Update Script erforderlich: 
ccm-themedirector from-version=6.6.0 to-version=6.6.1


git-svn-id: https://svn.libreccm.org/ccm/trunk@800 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2011-03-27 11:27:05 +00:00
parent 54cc24ca81
commit eaaf561d73
227 changed files with 5406 additions and 396 deletions

View File

@ -1,5 +1,5 @@
-- --
-- Copyright (C) 2008 Peter Boy All Rights Reserved. -- Copyright (C) 2011 Peter Boy All Rights Reserved.
-- --
-- This library is free software; you can redistribute it and/or -- This library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public License -- modify it under the terms of the GNU Lesser General Public License

View File

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 188 B

View File

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 283 B

View File

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 682 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View File

Before

Width:  |  Height:  |  Size: 180 B

After

Width:  |  Height:  |  Size: 180 B

View File

Before

Width:  |  Height:  |  Size: 95 B

After

Width:  |  Height:  |  Size: 95 B

View File

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

View File

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 374 B

View File

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 193 B

View File

Before

Width:  |  Height:  |  Size: 89 B

After

Width:  |  Height:  |  Size: 89 B

View File

Before

Width:  |  Height:  |  Size: 836 B

After

Width:  |  Height:  |  Size: 836 B

View File

@ -33,11 +33,11 @@ import com.arsdigita.xml.Element;
* Displays and manages a WYSIWYG HTML editor that takes advantage of * Displays and manages a WYSIWYG HTML editor that takes advantage of
* DHTML scripting features. * DHTML scripting features.
* This class can use: * This class can use:
* - <a href="http://www.xonha.org>Xinha</a> * - <a href="http://www.xinha.org>Xinha</a>
* - <a href="http://www.fckeditor.net">FCKeditor</a> * - <a href="http://www.fckeditor.net">FCKeditor</a>
* - HTMLarea for backwards compatibility, development discontinued * - HTMLarea for backwards compatibility, development discontinued
* Editor is choosen based on the config parameter waf.bebop.dhtml_editor, * Editor is choosen based on the config parameter waf.bebop.dhtml_editor,
* default is "Xinha", which is the successor of HTNLarea * default is "Xinha", which is the successor of HTMLarea
* *
* @author Jim Parsons * @author Jim Parsons
* @author Richard Li * @author Richard Li
@ -218,6 +218,7 @@ public class DHTMLEditor extends TextArea {
/** /**
* Sets the <tt>ROWS</tt> attribute for the <tt>TEXTAREA</tt> tag. * Sets the <tt>ROWS</tt> attribute for the <tt>TEXTAREA</tt> tag.
*/ */
@Override
public void setRows(int rows) { public void setRows(int rows) {
setAttribute("rows", String.valueOf(rows)); setAttribute("rows", String.valueOf(rows));
} }
@ -225,6 +226,7 @@ public class DHTMLEditor extends TextArea {
/** /**
* Sets the <tt>COLS</tt> attribute for the <tt>TEXTAREA</tt> tag. * Sets the <tt>COLS</tt> attribute for the <tt>TEXTAREA</tt> tag.
*/ */
@Override
public void setCols(int cols) { public void setCols(int cols) {
setAttribute("cols", String.valueOf(cols)); setAttribute("cols", String.valueOf(cols));
} }
@ -232,6 +234,7 @@ public class DHTMLEditor extends TextArea {
/** /**
* Sets the <tt>COLS</tt> attribute for the <tt>TEXTAREA</tt> tag. * Sets the <tt>COLS</tt> attribute for the <tt>TEXTAREA</tt> tag.
*/ */
@Override
public void setWrap(int wrap) { public void setWrap(int wrap) {
String wrapString = null; String wrapString = null;
@ -258,6 +261,7 @@ public class DHTMLEditor extends TextArea {
* @return The tag to be used for the top level DOM element * @return The tag to be used for the top level DOM element
* generated for this type of Widget. * generated for this type of Widget.
*/ */
@Override
protected String getElementTag() { protected String getElementTag() {
return Bebop.getConfig().getDHTMLEditor(); return Bebop.getConfig().getDHTMLEditor();
} }
@ -268,6 +272,7 @@ public class DHTMLEditor extends TextArea {
* <p><code>&lt;bebop:dhtmleditor name=... value=... [onXXX=...]/> * <p><code>&lt;bebop:dhtmleditor name=... value=... [onXXX=...]/>
* </code> * </code>
*/ */
@Override
public void generateWidget( PageState state, Element parent ) { public void generateWidget( PageState state, Element parent ) {
String value = getParameterData(state).marshal(); String value = getParameterData(state).marshal();
Element editor = parent.newChildElement(getElementTag(), BEBOP_XML_NS); Element editor = parent.newChildElement(getElementTag(), BEBOP_XML_NS);

View File

@ -0,0 +1 @@
Seems not to be used by any package

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../../../../packages/login/xsl/login_en.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../../../../packages/acs-admin/xsl/admin_en.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../../../../packages/permissions/xsl/permissions.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../../../../packages/acs-admin/xsl/sitemap_en.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:devsup="http://xmlns.redhat.com/waf/webdevsupport/1.0"
version="1.0">
<xsl:import href="../../../../packages/login/xsl/login_en.xsl"/>
<xsl:template match="devsup:configList">
<script language="JavaScript1.2">
<![CDATA[
<!-- begin hiding
function toggle(id) {
var elTab = document.getElementById(id);
if (elTab.style.display != "block") {
elTab.style.display = "block";
} else {
elTab.style.display = "none";
}
return false;
}
// -->
]]>
</script>
<style type="text/css">
table.config thead tr {
background: rgb(168,168,168);
padding: 5px;
}
table.config tr.even td {
background: rgb(212,212,212);
}
table.config {
margin: 0px;
padding: 0px;
}
table.config tr {
margin: 0px;
padding: 0px;
}
table.config tr td {
margin: 0px;
padding: 3px;
}
table.config tr td table.details {
border: 1px solid black;
margin-left: 2em;
}
table.config tr td table.details tr th {
text-align: right;
}
</style>
<xsl:for-each select="application">
<h2><xsl:value-of select="@key"/></h2>
<xsl:variable name="appid">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:for-each select="context">
<xsl:sort select="@class"/>
<h3><xsl:value-of select="@class"/></h3>
<xsl:variable name="ctxid">
<xsl:value-of select="position()"/>
</xsl:variable>
<table class="config" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>Value</th>
<th>&#160;</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="param">
<xsl:sort select="@name"/>
<xsl:variable name="id">
<xsl:value-of select="concat('p',$appid, '_', $ctxid,'_', position())"/>
</xsl:variable>
<xsl:variable name="class">
<xsl:choose>
<xsl:when test="(position() mod 2) = 0">
<xsl:text>odd</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>even</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<tr class="{$class}">
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><a href="#" onClick="return toggle('{$id}')">Toggle details &gt;&gt;&gt;</a></td>
</tr>
<tr class="{$class}">
<td colspan="3">
<div id="{$id}" style="display: none">
<table class="details">
<tr>
<th>Class</th><td><xsl:value-of select="@class"/></td>
</tr>
<tr>
<th>Is Required</th><td><xsl:value-of select="@isRequired"/></td>
</tr>
<tr>
<th>Title</th><td><xsl:value-of select="@title"/></td>
</tr>
<tr>
<th>Purpose</th><td><xsl:value-of select="@purpose"/></td>
</tr>
<tr>
<th>Format</th><td><xsl:value-of select="@format"/></td>
</tr>
<tr>
<th>Example</th><td><xsl:value-of select="@example"/></td>
</tr>
</table>
</div>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:for-each>
<xsl:if test="count(context) = 0">
<div>
This application has no config records
</div>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,6 @@
Used by
[pb@shuttle ROOT]$ grep -R acs-admin/xsl/ *
__ccm__/apps/sitemap/xsl/index.xsl: <xsl:import href="../../../../packages/acs-admin/xsl/sitemap_en.xsl"/>
__ccm__/apps/admin/xsl/index.xsl: <xsl:import href="../../../../packages/acs-admin/xsl/admin_en.xsl"/>
packages/content-section/xsl/cms-admin.xsl:<xsl:import href="../../acs-admin/xsl/split-panel.xsl"/>

View File

@ -0,0 +1,65 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:admin="http://www.arsdigita.com/admin-ui/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="admin">
<xsl:import href="../../bebop/xsl/bebop.xsl"/>
<xsl:import href="../../bebop/xsl/DimensionalNavbar.xsl"/>
<xsl:import href="../../bebop/xsl/TabbedPane.xsl"/>
<xsl:import href="../../bebop/xsl/DataTable.xsl"/>
<xsl:import href="../../ui/xsl/ui.xsl"/>
<xsl:import href="split-panel.xsl"/>
<!-- ContextBar formatting -->
<xsl:template match="bebop:boxPanel[@class='ContextBar']">
<xsl:apply-imports/>
<hr />
</xsl:template>
<!-- Table with alternate color for each column. -->
<xsl:template match="bebop:table[@class='AlternateTable']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="bebop:thead"/>
<xsl:for-each select="bebop:tbody">
<xsl:call-template name="AlternateTableBody"/>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="AlternateTableBody"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<tbody>
<xsl:for-each select="bebop:trow">
<tr>
<xsl:attribute name="bgcolor">
<xsl:choose>
<xsl:when test="position() mod 2">#e1d5b0</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:for-each select="bebop:cell">
<td>
<xsl:for-each select="@align|@valign|@colspan|@width">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</tbody>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,126 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:admin="http://www.arsdigita.com/admin-ui/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="admin">
<xsl:import href="admin.xsl"/>
<!-- this rule matches one user -->
<xsl:template match="admin:userInfo">
<!-- Feature #166221 capitalize form labels -->
<ul>
<li> Name: <xsl:value-of select="@name"/> </li>
<li> Email:
<table>
<xsl:apply-templates select="admin:email" />
</table>
</li>
<li> Screen Name: <xsl:value-of select="@screenName"/> </li>
<li> URL: <a href="{@URI}"><xsl:value-of select="@URI"/> </a> </li>
<li> User ID: <xsl:value-of select="@id"/> </li>
<li> Member State: <xsl:value-of select="@memberState"/>
</li>
</ul>
</xsl:template>
<!-- used to format the list of actions available for one user -->
<xsl:template match="admin:userActions">
<h3>Adminstrative Actions</h3>
<ul>
<li><a href="password-update?user_id={@id}">Update password</a></li>
<li><a href="login?user_id={@id}">Become this user</a></li>
</ul>
</xsl:template>
<!-- used to format the header of the password update page -->
<xsl:template match="bebop:label[@class='UserPasswordHeader']">
For <xsl:value-of select="text()"/>
<hr />
</xsl:template>
<!-- usage note displayed on the password-update page -->
<xsl:template match="admin:PasswordNote">
<h4>Note</h4>
<p>If this user does not currently have an authentication record,
one will be created when you submit this form and the account
will be enabled for login to the system.</p>
</xsl:template>
<!-- used to format primary email for display -->
<xsl:template match="admin:email[@primary='t']">
<tr>
<td>
<a href="mailto:{@address}"><xsl:value-of select="@address"/></a>
</td>
<td>
(primary)
</td>
</tr>
</xsl:template>
<!-- used to format non-primary email for display -->
<xsl:template match="admin:email">
<tr>
<td>
<a href="mailto:{@address}"><xsl:value-of select="@address"/></a>
</td>
<td>
</td>
</tr>
</xsl:template>
<!-- Access Denied Page -->
<xsl:template match="bebop:label[@class='AccessDenied']">
<hr />
<p>You don't have permission to perform the requested action.</p>
<hr />
</xsl:template>
<!-- Display search error message -->
<xsl:template match="bebop:list[@class='SearchResultList'][count(bebop:cell)=0]">
<p><font color="red">Your search returned no results.</font></p>
</xsl:template>
<!-- Display search error message -->
<xsl:template match="bebop:list[@class='SearchResultList'][count(bebop:cell)>0]">
<p>Results matching your query:</p>
<ul>
<xsl:for-each select="bebop:cell">
<li><xsl:apply-templates/></li>
</xsl:for-each>
</ul>
</xsl:template>
<!-- used to format the basic information and actions available for one group -->
<xsl:template match="admin:groupInfo">
<ul>
<li> Group Name: <xsl:value-of select="@name"/> </li>
<li> Primary Email: <xsl:value-of select="@email"/> </li>
</ul>
</xsl:template>
<xsl:template match="bebop:list[@class='UserGroupsResultList'][count(bebop:cell)=0]">
<p><font color="red">None</font></p>
</xsl:template>
<xsl:template match="bebop:link[@class='deleteLink']">
<xsl:text>&#160;</xsl:text>
(<a href="{@href}" onclick="{@onclick}" class="action_link">
<xsl:apply-templates/>
</a>)
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:admin="http://www.arsdigita.com/admin-ui/1.0"
exclude-result-prefixes="admin">
<xsl:import href="admin.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,177 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<!-- Sidebar Nav Panel -->
<xsl:template match="*[@class='sidebarNavPanel']">
<xsl:call-template name="sidebarNavPanel">
<xsl:with-param name="heading" select="//*[@class='heading']"/>
<xsl:with-param name="navbar" select="//*[@class='navbar']"/>
<xsl:with-param name="main" select="//*[@class='main']"/>
<xsl:with-param name="navbar-title" select="@navbar-title"/>
</xsl:call-template>
</xsl:template>
<!-- sidebarNavPanel: This is the outer framing for spli-panels.
The heading param is actually the heading for the first section on
the right side -->
<xsl:template name="sidebarNavPanel">
<xsl:param name="heading">The Heading Goes Here</xsl:param>
<xsl:param name="navbar">This is the Navbar</xsl:param>
<xsl:param name="main">This is the Main Display Panel</xsl:param>
<xsl:param name="navbar-title">Title</xsl:param>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="split_pane_left_background" valign="top" width="20%">
<!-- Left Panel -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th class="split_pane_header">
<xsl:value-of select="$navbar-title"/>
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="1"/>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<!-- Left Panel: Navigation, list of objects -->
<xsl:apply-templates select="$navbar"/>
</td>
</tr>
</table>
</td>
<td width="1"/>
<td valign="top">
<!-- Right Panel: Where the contents go -->
<xsl:apply-templates select="$main"/>
</td>
</tr>
</table>
</xsl:template>
<!-- Split-panel: This wraps the navigation in the left panel -->
<xsl:template match="bebop:boxPanel[@class='navbar']">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td height="8">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="8"/>
</tr>
</table>
</td>
</tr>
<xsl:apply-templates select=".//bebop:list[@class='sidebarNavList']"/>
<xsl:apply-templates select=".//bebop:tree"/>
<tr>
<td height="8">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="8"/>
</tr>
</table>
</td>
</tr>
<xsl:for-each select="bebop:cell/bebop:link">
<tr>
<td class="split_pane_left_item">
<xsl:apply-templates select="."/>
</td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</table>
</xsl:template>
<!-- Split-panel: The list of objects in the left navigational panel -->
<xsl:template match="bebop:list[@class='sidebarNavList']">
<xsl:for-each select="bebop:cell">
<xsl:choose>
<xsl:when test="@selected='selected'">
<tr>
<td class="split_pane_left_item_selected" nowrap="1">
<xsl:apply-templates/><xsl:text>&#160;</xsl:text><img border="0" height="9" width="5">
<xsl:attribute name="src">
<xsl:value-of select="//@assets"/>/assets/images/arrow-right.gif</xsl:attribute>
</img>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr>
<td class="split_pane_left_item" nowrap="1">
<xsl:apply-templates/>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="4"/>
</tr>
</table>
</td>
</tr>
</xsl:for-each>
</xsl:template>
<!-- Split-panel: The individual objects in the left navigational panel -->
<xsl:template match="bebop:list[@class='sidebarNavList']/bebop:cell/bebop:link">
<a class="split_pane_left_item" href="{@href}">
<xsl:apply-templates/>
</a>
</xsl:template>
<!-- Format the nav bar when the contents is a tree -->
<xsl:template match="bebop:boxPanel[@class='navbar']//bebop:tree">
<xsl:for-each select="bebop:t_node">
<xsl:call-template name="write-node">
<xsl:with-param name="node" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<!-- pads the label of the submit buttons -->
<xsl:template match="bebop:formWidget[@type='submit']">
<input value="&#160;&#160;&#160;{@value}&#160;&#160;&#160;">
<xsl:if test="boolean(@onclick) = false()">
<xsl:attribute name="onclick">
<xsl:value-of select="'dcp_hide(this);'"/>
</xsl:attribute>
</xsl:if>
<xsl:for-each select="@*[name() != 'value']">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</input>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1 @@
Used by various packages!

View File

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:boxPanel[@axis='1']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:if test="string-length(@width)>0">
<xsl:attribute name="width">
<xsl:value-of select="@width"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="string-length(@border)>0">
<xsl:attribute name="border">
<xsl:value-of select="@border"/>
</xsl:attribute>
</xsl:if>
<tr>
<xsl:for-each select="bebop:cell">
<td>
<xsl:for-each select="*/@class|*/@style">
<xsl:attribute name="{name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</td>
</xsl:for-each>
</tr>
</table>
</xsl:template>
<xsl:template match="bebop:boxPanel[@axis='2']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:if test="string-length(@width)>0">
<xsl:attribute name="width">
<xsl:value-of select="@width"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="string-length(@border)>0">
<xsl:attribute name="border">
<xsl:value-of select="@border"/>
</xsl:attribute>
</xsl:if>
<xsl:for-each select="bebop:cell">
<tr>
<td>
<xsl:for-each select="*/@class|*/@style">
<xsl:attribute name="{name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,37 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
>
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:checkboxGroup">
<xsl:apply-templates select="bebop:checkbox"/>
</xsl:template>
<xsl:template match="bebop:checkbox">
<input id="{@name}:{@value}" type="checkbox">
<xsl:copy-of select="@*"/>
<xsl:if test="../@readonly">
<xsl:attribute name="readonly">readonly</xsl:attribute>
</xsl:if>
<xsl:if test="../@disabled">
<xsl:attribute name="disabled">disabled</xsl:attribute>
</xsl:if>
<xsl:if test="../@title">
<xsl:attribute name="title"><xsl:value-of select="../@title"/></xsl:attribute>
</xsl:if>
<xsl:if test="../@onclick">
<xsl:attribute name="onclick"><xsl:value-of select="../@onclick"/></xsl:attribute>
</xsl:if>
</input>
<label for="{@name}:{@value}">
<xsl:apply-templates select="bebop:label"/>
</label>
<br/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,62 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:padFrame|bebop:border"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<tr><td><xsl:apply-templates /></td></tr>
</table>
</xsl:template>
<xsl:template match="bebop:pad"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates />
</table>
</xsl:template>
<xsl:template match="bebop:panelRow"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<tr>
<xsl:for-each select="bebop:cell">
<td>
<xsl:for-each select="@align|@valign|@colspan|@width">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates /></td>
</xsl:for-each>
</tr>
</xsl:template>
<!-- all bebop:cells should pass through attributes -->
<xsl:template match="bebop:cell"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="bebop:columnPanel"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:apply-templates />
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,156 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:dhtmleditor"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:variable name="firstMatch"><xsl:value-of select="//bebop:dhtmleditor/@name"/></xsl:variable>
<xsl:if test="@name=$firstMatch">
<script type="text/javascript">
_editor_url = "/assets/htmlarea/";
_editor_lang = "en";
var numEd = 0;
</script>
<script type="text/javascript" src="/assets/htmlarea/htmlarea.js"/>
<script type="text/javascript">
<xsl:for-each select="bebop:plugin">
HTMLArea.loadPlugin("<xsl:value-of select="@name"/>");
</xsl:for-each>
// Using Styled.js didn't seem to work anymore with htmlarea 3.0rc3,
// so instead we configure the editor here
var css_plugin_args = {
combos : [
{ label: "Style",
options: { "None" : "",
"Main" : "main",
"Dark" : "dark",
"Medium" : "medium",
"Light" : "light"
}
}
]
};
<xsl:for-each select="//bebop:dhtmleditor">
var config_<xsl:value-of select="@name"/> = null;
var editor_<xsl:value-of select="@name"/> = null;
</xsl:for-each>
function initDocument() {
<xsl:for-each select="//bebop:dhtmleditor">
config_<xsl:value-of select="@name"/> = new HTMLArea.Config();
editor_<xsl:value-of select="@name"/> = new HTMLArea("ta_<xsl:value-of select="@name"/>", config_<xsl:value-of select="@name"/>);
config_<xsl:value-of select="@name"/>.registerButton("insertlink", "Insert link", _editor_url + "images/ed_link.gif", false, function(editor) {
<!-- Modified to add the open in new window button NJ-20062403-->
<!-- editor._popupDialog("insert_link.html", function(param) {
if (!param) { // user must have pressed Cancel
return false;
}
var furl = param["f_url"];
var sel = editor._getSelection();
var range = editor._createRange(sel);
editor._doc.execCommand("createlink", false, furl);
}, null); -->
var sel = editor._getSelection();
var range = editor._createRange(sel);
var compare = 0;
if (HTMLArea.is_ie) {
compare = range.compareEndPoints("StartToEnd", range);
}
else {
compare = range.compareBoundaryPoints(range.START_TO_END, range);
}
if (compare == 0) {
alert("You need to select some text before creating a link");
return;
}
editor._popupDialog("insert_link.html", function(param) {
if (!param) { // user must have pressed Cancel
return false;
}
var sel = editor._getSelection();
var range = editor._createRange(sel);
if (range.insertNode) { // Standards compliant version
var link = document.createElement("a");
var linkText = range.extractContents();
link.href=param["f_url"];
if (param["f_external"])
link.target="_blank";
link.appendChild(linkText);
range.insertNode(link);
}
else if (range.pasteHTML) { // Alternative non standards version
var target = "";
if (param["f_external"]) {
target='target="_blank"';
}
range.pasteHTML('&lt;a href="' + param["f_url"] + '"' + target + '&gt;' + range.text + '&lt;/a&gt;');
}
}, null);
});
config_<xsl:value-of select="@name"/>.sizeIncludesToolbar = false;
config_<xsl:value-of select="@name"/>.statusBar = false;
config_<xsl:value-of select="@name"/>.toolbar = [
[ "formatblock", "space",
"bold", "italic", "underline", "strikethrough", "separator",
"subscript", "superscript", "separator",
"copy", "cut", "paste", "space", "undo", "redo", "space", "removeformat", "killword" ],
[ "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
"lefttoright", "righttoleft", "separator",
"orderedlist", "unorderedlist", "outdent", "indent", "separator",
"textindicator", "separator",
"inserthorizontalrule", "insertlink", "insertimage", "inserttable", "htmlmode", "separator",
"popupeditor", "separator" ]
];
<xsl:if test="bebop:config/@hidden-buttons">
config_<xsl:value-of select="@name"/>.hideSomeButtons("<xsl:value-of select="bebop:config/@hidden-buttons"/>");
</xsl:if>
editor_<xsl:value-of select="@name"/>.config.pageStyle = "@import url(/assets/htmlarea/htmlarea.css);";
<xsl:for-each select="bebop:plugin">
<xsl:choose>
<xsl:when test="@name = 'CSS'">
editor_<xsl:value-of select="../@name"/>.registerPlugin(<xsl:value-of select="@name"/>, css_plugin_args);
</xsl:when>
<xsl:otherwise>
editor_<xsl:value-of select="../@name"/>.registerPlugin(<xsl:value-of select="@name"/>);
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
setTimeout(function() {
editor_<xsl:value-of select="@name"/>.generate();
}, 500*numEd);
numEd++;
</xsl:for-each>
}
HTMLArea.init();
HTMLArea.onload = initDocument;
function wordClean_<xsl:value-of select="@name"/>() {
editor_<xsl:value-of select="@name"/>._wordClean();
}
</script>
<style type="text/css">
textarea { background-color: #fff; border: 1px solid 00f; }
</style>
</xsl:if>
<div style="width:560px; border:1px outset #666;">
<textarea id="ta_{@name}" name="{@name}" rows="{@rows}" cols="{@cols}" wrap="{@wrap}" style="width:100%">
<xsl:value-of disable-output-escaping="no" select="text()"/>
</textarea>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,90 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="bebop">
<xsl:import href="TabbedPane.xsl"/>
<xsl:import href="DimensionalNavbar.xsl"/>
<xsl:template match="bebop:table[@class='dataTable']">
<table cellpadding="1" cellspacing="2" border="0">
<xsl:for-each select="thead|bebop:thead">
<xsl:call-template name="dataTableHead">
<xsl:with-param name="orderColumn" select="../@order"/>
<xsl:with-param name="direction" select="../@direction"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="bebop:tbody">
<xsl:call-template name="dataTableBody"/>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="dataTableHead">
<xsl:param name="orderColumn">0</xsl:param>
<xsl:param name="direction">asc</xsl:param>
<tr class="table_header" bgcolor="#ffffff">
<xsl:for-each select="cell|bebop:cell">
<th class="table_header" nowrap="nowrap">
<xsl:text>&#160;</xsl:text>
<xsl:apply-templates/>
<xsl:choose>
<xsl:when test="(position()-1)=$orderColumn">
<xsl:text>&#160;</xsl:text>
<img border="0">
<xsl:attribute name="src"><xsl:choose><xsl:when test="$direction='asc'"><xsl:value-of select="//@assets"/>/assets/gray-triangle-up.gif</xsl:when><xsl:otherwise><xsl:value-of select="//@assets"/>/assets/gray-triangle-down.gif</xsl:otherwise></xsl:choose></xsl:attribute>
</img>
</xsl:when>
<xsl:otherwise>
<xsl:text>&#160;</xsl:text>
<xsl:text>&#160;</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#160;</xsl:text>
</th>
</xsl:for-each>
</tr>
</xsl:template>
<xsl:template match="thead/cell/bebop:link|bebop:thead/bebop:cell/bebop:link">
<a class="table_header" href="{@href}">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template name="dataTableBody">
<tbody>
<xsl:for-each select="bebop:trow">
<tr>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2">table_odd</xsl:when>
<xsl:otherwise>table_even</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="bgcolor">
<xsl:choose>
<xsl:when test="position() mod 2">#eaded0</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:for-each select="bebop:cell">
<td class="table_cell" nowrap="nowrap">
<xsl:for-each select="@align|@valign|@colspan|@width">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:text>&#160;</xsl:text>
<xsl:apply-templates/>
<xsl:text>&#160;</xsl:text>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</tbody>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:datetime"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:for-each select="*">
<xsl:if test="position()=4"><br/></xsl:if>
<xsl:if test="position()=5"> : </xsl:if>
<xsl:if test="position()=6 and last()=7"> : </xsl:if>
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="bebop:date"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,69 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="bebop">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:dimensionalNavbar">
<xsl:comment>bebop:dimensionalNavbar</xsl:comment>
<xsl:value-of select="@startTag"/>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
<xsl:if test="position()!=last()">
<xsl:choose>
<xsl:when test="string-length(../@delimiter)=0">
&#160;&gt;&#160;
</xsl:when>
<xsl:otherwise><xsl:value-of select="../@delimiter"/></xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="@endTag"/>
<xsl:comment>/bebop:dimensionalNavbar</xsl:comment>
</xsl:template>
<xsl:template match="bebop:dimensionalNavbar[@id='global-navbar']">
<xsl:comment>bebop:dimensionalNavbar @id='global-navbar'</xsl:comment>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
<xsl:if test="position()!=last()">&#160;-&#160;</xsl:if>
</xsl:for-each>
<xsl:comment>/bebop:dimensionalNavbar @id='global-navbar'</xsl:comment>
</xsl:template>
<!-- Top-right links, in the form of a bebop:dimensionalNavbar -->
<xsl:template match="bebop:dimensionalNavbar[@class='top-right']">
<xsl:value-of select="@startTag"/>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
<xsl:if test="not(position()=last())">
<xsl:value-of select="../@delimiter"/>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="@endTag"/>
</xsl:template>
<!-- dimensional navbar
<xsl:template match="bebop:dimensionalNavbar">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td align="{@align}">
<font size="2" face="tahoma,verdana,arial,helvetica">
<xsl:value-of select="@startTag"/>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
<xsl:if test="not(position()=last())">
<xsl:value-of select="../@delimiter"/>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="@endTag"/>
</font>
</td>
</tr>
</table>
</xsl:template>
-->
</xsl:stylesheet>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:fckeditor"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:variable name="firstMatch"><xsl:value-of select="//bebop:fckeditor/@name"/></xsl:variable>
<!-- Start of the FCKeditor component code -->
<xsl:if test="@name=$firstMatch">
<script type="text/javascript">
_editor_url = "/assets/fckeditor/";
_editor_lang = "en";
var numEd = 0;
</script>
<script type="text/javascript" src="/assets/fckeditor/fckeditor.js"/>
<script type="text/javascript">
<xsl:for-each select="//bebop:fckeditor">
var editor_<xsl:value-of select="@name"/> = null;
</xsl:for-each>
window.onload = function() {
<xsl:for-each select="//bebop:fckeditor">
editor_<xsl:value-of select="@name"/> = new FCKeditor("ta_<xsl:value-of select="@name"/>") ;
editor_<xsl:value-of select="@name"/>.Width =
<xsl:choose>
<xsl:when test="@metadata.width">
'<xsl:value-of select="@metadata.width"/>';
</xsl:when>
<xsl:otherwise>
'100%';
</xsl:otherwise>
</xsl:choose>
editor_<xsl:value-of select="@name"/>.Height =
<xsl:choose>
<xsl:when test="@metadata.height">
'<xsl:value-of select="@metadata.height"/>';
</xsl:when>
<xsl:otherwise>
'400';
</xsl:otherwise>
</xsl:choose>
editor_<xsl:value-of select="@name"/>.BasePath = "/assets/fckeditor/" ;
editor_<xsl:value-of select="@name"/>.PluginsPath = editor_<xsl:value-of select="@name"/>.BasePath + "editor/plugins/" ;
<xsl:if test="bebop:config/@path">
editor_<xsl:value-of select="//bebop:fckeditor/@name"/>.Config['CustomConfigurationsPath'] = "<xsl:value-of select="//bebop:fckeditor/bebop:config/@path"/>";
</xsl:if>
editor_<xsl:value-of select="@name"/>.ToolbarSet = "Basic";
editor_<xsl:value-of select="@name"/>.ReplaceTextarea();
}
</xsl:for-each>
</script>
<style type="text/css">
textarea { background-color: #fff; border: 1px solid 00f; }
</style>
</xsl:if>
<!-- End of fckeditor setup -->
<textarea id="ta_{@name}" name="{@name}" style="width:100%" rows="{@rows}" cols="{@cols}" wrap="{@wrap}">
<xsl:value-of disable-output-escaping="no" select="text()"/>
</textarea>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:form" name="bebopForm"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:value-of select="@message"/>
<form>
<xsl:for-each select="@*[not(self::method)]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
<xsl:attribute name="method">
<xsl:choose>
<xsl:when test="string-length(../@method)=0">post</xsl:when>
<xsl:otherwise><xsl:value-of select="../@method"/></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates />
</form>
</xsl:template>
<!-- no-op (transparent) tags -->
<xsl:template match="bebop:statel|bebop:pane"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:apply-templates />
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="xsl bebop"
version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:formWidget">
<input>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</input>
</xsl:template>
<xsl:template match="bebop:formWidget[@type='submit']">
<input>
<xsl:if test="boolean(@onclick) = false()">
<xsl:attribute name="onclick">
<xsl:text>dcp_hide(this);</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</input>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:gridPanel"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table width="100%">
<xsl:for-each select="@bottomborder">
<xsl:attribute name="border">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates />
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:image" mode="javascript-mode"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:call-template name="bebop:image" />
</xsl:template>
<xsl:template name="bebop:image" match="bebop:image"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<img>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</img>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,172 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<!-- ************************************* -->
<xsl:template match="bebop:label[@color!='' and @weight!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:element name="{@weight}">
<xsl:element name="font">
<xsl:attribute name="color">
<xsl:value-of select="@color"/>
</xsl:attribute>
<xsl:call-template name="bebop-label-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="bebop:label[@color!='' and @weight!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
mode="javascript-mode">
<xsl:element name="{@weight}">
<xsl:element name="font">
<xsl:attribute name="color">
<xsl:value-of select="@color"/>
</xsl:attribute>
<xsl:call-template name="bebop-label-javascript-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:element>
</xsl:template>
<!-- ************************************* -->
<xsl:template match="bebop:label[@weight!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:element name="{@weight}">
<xsl:call-template name="bebop-label-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
<xsl:template match="bebop:label[@weight!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
mode="javascript-mode">
<xsl:element name="{@weight}">
<xsl:call-template name="bebop-label-javascript-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
<!-- ************************************* -->
<xsl:template match="bebop:label[@color!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:element name="font">
<xsl:attribute name="color">
<xsl:value-of select="@color"/>
</xsl:attribute>
<xsl:call-template name="bebop-label-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
<xsl:template match="bebop:label[@color!='']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
mode="javascript-mode">
<xsl:element name="font">
<xsl:attribute name="color">
<xsl:value-of select="@color"/>
</xsl:attribute>
<xsl:call-template name="bebop-label-javascript-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
<!-- ************************************* -->
<xsl:template match="bebop:label"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:call-template name="bebop-label-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="bebop:label"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
mode="javascript-mode">
<xsl:call-template name="bebop-label-javascript-text">
<xsl:with-param name="text" select="text()"/>
<xsl:with-param name="escape" select="@escape"/>
</xsl:call-template>
</xsl:template>
<!-- ************************************* -->
<xsl:template name="bebop-label-text">
<xsl:param name="text"/>
<xsl:param name="escape"/>
<xsl:variable name="realtext">
<xsl:choose>
<xsl:when test="normalize-space($text)=''">&#160;</xsl:when>
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="$escape='yes'">
<xsl:value-of disable-output-escaping="yes" select="$realtext"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="no" select="$realtext"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ************************************* -->
<xsl:template name="bebop-label-javascript-text">
<xsl:param name="text" />
<xsl:param name="escape" />
<xsl:variable name="lapos">&apos;</xsl:variable>
<xsl:variable name="output-text">
<xsl:call-template name="string-replace">
<xsl:with-param name="from" select="$lapos"/>
<xsl:with-param name="to" select="concat('\', $lapos)"/>
<xsl:with-param name="string" select="$text"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="bebop-label-text">
<xsl:with-param name="text" select="$output-text"/>
<xsl:with-param name="escape" select="$escape"/>
</xsl:call-template>
</xsl:template>
<!-- replace all occurences of the character(s) `from'
by the string `to' in the string `string'.-->
<xsl:template name="string-replace" >
<xsl:param name="string"/>
<xsl:param name="from"/>
<xsl:param name="to"/>
<xsl:choose>
<xsl:when test="contains($string,$from)">
<xsl:value-of select="substring-before($string,$from)"/>
<xsl:value-of select="$to"/>
<xsl:call-template name="string-replace">
<xsl:with-param name="string" select="substring-after($string,$from)"/>
<xsl:with-param name="from" select="$from"/>
<xsl:with-param name="to" select="$to"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,210 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:param name="root-context-prefix"/>
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:link">
<xsl:choose>
<xsl:when test="@confirm">
<xsl:call-template name="bebop:link"/>
</xsl:when>
<!-- The item search page should not use the dcp_hide function -->
<xsl:when test="/bebop:page[@bebop:classname='com.arsdigita.cms.ui.ItemSearchPage']">
<xsl:call-template name="bebop:link"/>
</xsl:when>
<xsl:otherwise>
<a>
<xsl:if test="boolean(@onclick) = false()">
<xsl:attribute name="onclick">
<xsl:text>dcp_disable_link(this);</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="@*[name() != 'href_no_javascript']"/>
<xsl:apply-templates/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="bebop:link[@class = 'actionLink']">
<xsl:choose>
<xsl:when test="@confirm">
<xsl:call-template name="bebop:actionLink"/>
</xsl:when>
<xsl:otherwise>
<a href="{@href_no_javascript}">
<img src="{$root-context-prefix}/assets/images/action-generic.png" border="0" width="14" height="14">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
</a>
<xsl:text>&#160;</xsl:text>
<a>
<xsl:if test="boolean(@onclick) = false()">
<xsl:attribute name="onclick">
<xsl:text>dcp_disable_link(this);</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="@*[name() != 'href_no_javascript']"/>
<xsl:apply-templates/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="bebop:link[@class = 'title']">
<xsl:choose>
<xsl:when test="@confirm">
<xsl:call-template name="bebop:actionLink"/>
</xsl:when>
<xsl:otherwise>
<a href="{@href_no_javascript}">
<img src="{$root-context-prefix}/assets/images/action-generic.png" border="0" width="14" height="14">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
</a>
<xsl:text>&#160;</xsl:text>
<a onclick="{@onclick}">
<xsl:copy-of select="@*[name() != 'href_no_javascript' and name() != 'onclick']"/>
<xsl:apply-templates/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="bebop:link"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<!-- This is ugly, but I need the whole output on one line =p -->
<![CDATA[ document.write(']]><a><xsl:for-each select="@*[name() != 'href_no_javascript' and name()!= 'confirm']"><xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute></xsl:for-each><xsl:apply-templates mode="javascript-mode"/><![CDATA[')]]>
<![CDATA[ document.write(']]></a><![CDATA[')]]>
<![CDATA[ // end script --> ]]>
</script>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[document.write("\<!--") ]]>
<![CDATA[ // end script --> ]]>
</script>
<a>
<xsl:for-each select="@*[name() != 'href']">
<xsl:choose>
<xsl:when test="name() = 'href_no_javascript'">
<xsl:attribute name="href">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:when>
<xsl:when test="name() = 'onclick'">
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:apply-templates />
</a>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[ document.write("--\>") ]]>
<![CDATA[ // end script --> ]]>
</script>
</xsl:template>
<xsl:template name="bebop:actionLink">
<!-- Begin Image -->
<!-- Image JavaScript -->
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<!-- This is ugly, but I need the whole output on one line =p -->
<![CDATA[ document.write(']]><a href="{@href}" onclick="{@onclick}"><img src="{$root-context-prefix}/assets/images/action-generic.png" border="0" width="14" height="14"><xsl:attribute name="alt"><xsl:apply-templates mode="javascript-mode"/></xsl:attribute></img><![CDATA[')]]>
<![CDATA[ document.write(']]></a><![CDATA[')]]>
<![CDATA[ // end script --> ]]>
</script>
<!-- Image No JavaScript -->
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[document.write("\<!--") ]]>
<![CDATA[ // end script --> ]]>
</script>
<a href="{@href_no_javascript}">
<img src="{$root-context-prefix}/assets/images/action-generic.png" border="0" width="14" height="14">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
</a>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[document.write("\<!--") ]]>
<![CDATA[ // end script --> ]]>
</script>
<!-- Begin Link -->
<xsl:text>&#160;</xsl:text>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<!-- This is ugly, but I need the whole output on one line =p -->
<![CDATA[ document.write(']]><a><xsl:for-each select="@*[name() != 'href_no_javascript' and name()!= 'confirm']"><xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute></xsl:for-each><xsl:apply-templates mode="javascript-mode"/><![CDATA[')]]>
<![CDATA[ document.write(']]></a><![CDATA[')]]>
<![CDATA[ // end script --> ]]>
</script>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[document.write("\<!--") ]]>
<![CDATA[ // end script --> ]]>
</script>
<a>
<xsl:for-each select="@*[name() != 'href']">
<xsl:choose>
<xsl:when test="name() = 'href_no_javascript'">
<xsl:attribute name="href">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:when>
<xsl:when test="name() = 'onclick'">
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:apply-templates />
</a>
<script LANGUAGE="JavaScript">
<![CDATA[ <!-- begin script ]]>
<![CDATA[ document.write("--\>") ]]>
<![CDATA[ // end script --> ]]>
</script>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,40 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:list[@layout='vertical']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:for-each select="bebop:cell">
<tr><td><xsl:apply-templates/></td></tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="bebop:list[@layout='horizontal']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<tr>
<xsl:for-each select="bebop:cell">
<td><xsl:apply-templates/></td>
</xsl:for-each>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,25 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:listPanel"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<ul>
<xsl:for-each select="bebop:cell">
<li><xsl:apply-templates /></li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="bebop:listPanel[@ordered='true']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<ol>
<xsl:for-each select="bebop:cell">
<li><xsl:apply-templates /></li>
</xsl:for-each>
</ol>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:multiSelect"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<select name="{@name}" multiple="{@multiple}">
<xsl:for-each select="@disabled|@size|@title|@*[starts-with(name(), 'on')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</select>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,58 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:deditor="http://www.arsdigita.com/deditor/1.0"
exclude-result-prefixes="bebop">
<xsl:output method="html" indent="yes"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
<xsl:param name="root-context-prefix"/>
<!-- The contract for this template is that
it can be called from any place in the DOM -->
<xsl:template name="bebop:pageTitle">
<xsl:value-of select="/bebop:page/bebop:title"/>
</xsl:template>
<!-- The contract for this template is that
it must be called in context of bebop:page
element -->
<xsl:template name="bebop:pageCSS">
<xsl:call-template name="bebop:pageCSSMain"/>
</xsl:template>
<xsl:template name="bebop:pageCSSMain">
<link href="{$root-context-prefix}/css/acs-master.css" rel="stylesheet" type="text/css"/>
<xsl:for-each select="bebop:stylesheet">
<link href="{@href}" rel="stylesheet" type="{@type}"/>
</xsl:for-each>
</xsl:template>
<xsl:template match="bebop:title">
<!-- Nada -->
</xsl:template>
<xsl:template match="bebop:page"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<html>
<head>
<title><xsl:call-template name="bebop:pageTitle"/></title>
<xsl:call-template name="bebop:pageCSS"/>
</head>
<body>
<xsl:call-template name="bebop:dcpJavascript"/>
<h2><xsl:call-template name="bebop:pageTitle"/></h2>
<xsl:apply-templates select="*[position()>1]"/>
</body>
</html>
</xsl:template>
<!-- Display the page structure; used by debugging -->
<xsl:template match="bebop:structure">
<h1>Bebop Page Structure</h1>
<xsl:value-of disable-output-escaping="yes" select="text()"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:list[@class='pageErrorDisplay']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:if test="count(bebop:cell)">
<table border="0" cellpadding="4" cellspacing="0">
<tr><td nowrap="1">
<font color="{@color}">Please correct the following errors:</font>
</td></tr>
<tr><td>
<ul>
<xsl:for-each select="bebop:cell">
<li><font color="{../@color}"><xsl:apply-templates/></font></li>
</xsl:for-each>
</ul>
</td></tr>
</table>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:pageState"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<input>
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</input>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:radioGroup"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:apply-templates/>
</xsl:template>
<!-- matching class attr is deprecated and preserved for compatibility -->
<xsl:template match="bebop:radioGroup[@class='vertical' or @axis='2']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:for-each select="bebop:radio">
<xsl:apply-templates select="."/><br />
<xsl:text disable-output-escaping="yes"> </xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template match="bebop:radio"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<input id="{@name}:{@value}">
<xsl:if test="../@readonly">
<xsl:attribute name="readonly">readonly</xsl:attribute>
</xsl:if>
<xsl:if test="../@disabled">
<xsl:attribute name="disabled">disabled</xsl:attribute>
</xsl:if>
<xsl:if test="../@title">
<xsl:attribute name="title"><xsl:value-of select="../@title"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="type">radio</xsl:attribute>
<xsl:for-each select="@*[not(name()='label')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates />
</input>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,65 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:template name="segment">
<xsl:param name="header"/>
<xsl:param name="headerNodes"/>
<xsl:param name="body"/>
<tr>
<td>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th class="split_pane_header" cellpadding="0" cellspacing="0">
<xsl:choose>
<xsl:when test="$header">
<xsl:value-of select="$header"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="$headerNodes"/>
</xsl:otherwise>
</xsl:choose>
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="1"/>
</tr>
</table>
</td>
</tr>
<tr>
<td class="split_pane_right_body">
<xsl:apply-templates select="$body"/>
</td>
</tr>
</xsl:template>
<xsl:template match="bebop:segmentedPanel">
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
<xsl:for-each select="bebop:segment">
<xsl:call-template name="segment">
<xsl:with-param name="headerNodes" select="bebop:segmentHeader"/>
<xsl:with-param name="body" select="bebop:segmentBody"/>
</xsl:call-template>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="bebop:segmentHeader|bebop:segmentBody">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:select[@class='displayOneOptionAsLabel']"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:choose>
<xsl:when test="count(bebop:option)=1">
<xsl:choose>
<xsl:when test="bebop:option/@label">
<xsl:value-of select="bebop:option/@label"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="bebop:option/bebop:label"/>
</xsl:otherwise>
</xsl:choose>
<input type="hidden" name="{@name}" value="{bebop:option/@value}" />
</xsl:when>
<xsl:otherwise>
<!-- copy-pasting the code here is wrong ! -->
<select name="{@name}">
<xsl:for-each select="@size|@*[starts-with(name(), 'on')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</select>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="bebop:select"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<select name="{@name}">
<xsl:for-each select="@disabled|@size|@title|@id|@*[starts-with(name(), 'on')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</select>
</xsl:template>
<xsl:template match="bebop:option"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<option>
<xsl:for-each select="@*[not(name()='label')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="bebop:label" />
</option>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:splitPanel"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table width="{@width}" border="{@border}" cellpadding="{@cellpadding}" cellspacing="{@cellspacing}">
<tr width="100%">
<th width="100%" nowrap="1" valign="middle" align="left" colspan="2">
<xsl:apply-templates select="bebop:cell[position()=1]"/>
</th>
</tr>
<tr width="100%">
<td width="{@divider_left}" nowrap="1" valign="top">
<xsl:apply-templates select="bebop:cell[position()=2]"/>
</td>
<td width="{@divider_right}" valign="top">
<xsl:apply-templates select="bebop:cell[position()>2]"/>
</td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="bebop">
<xsl:template match="bebop:tabStrip">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="8"/>
<xsl:for-each select="bebop:tab">
<!-- selected tab -->
<xsl:if test="count(@current)">
<td class="tab_selected">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr class="tab_selected">
<td width="6"/>
<td class="tab_selected">
<xsl:apply-templates/>
</td>
<td width="6"/>
</tr>
</table>
</td>
</xsl:if>
<!-- unselected tabs -->
<xsl:if test="count(@href)">
<td>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td width="6"/>
<td>
<a class="tab_unselected" href="{@href}">
<xsl:apply-templates/>
</a>
</td>
<td width="6"/>
</tr>
</table>
</td>
</xsl:if>
</xsl:for-each>
</tr>
</table>
</td>
<!-- MP: The preview link sits on the right end of the tabstrip.
It is normally suppressed, but here we explicitly render it. -->
<td align="right">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td width="6"/>
<td align="right">
<xsl:comment>Item Preview</xsl:comment>
<xsl:for-each select="//bebop:link[@id='preview_link']">
<a target="preview" class="tab_unselected" href="{@href}">
<xsl:apply-templates/>
</a>
</xsl:for-each>
</td>
<td width="6"/>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr bgcolor="#878175">
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="1"/>
</tr>
</table>
</td>
</tr>
<tr bgcolor="white">
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="10"/>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<!-- currentPane: This holds the body of the pages. -->
<xsl:template match="bebop:currentPane">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<xsl:apply-templates/>
</td>
</tr>
</table>
</xsl:template>
<!-- MP: This is a hack to place the Preview Link [@id='preview_link'] -->
<xsl:template match="*[@id='preview_link']">
<!-- do nothing. invisible tag. -->
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<!-- The make-attribute template used here is defined in BoxPanel.xsl
TODO: We need to move such utilities to one place, to make finding
them easier
-->
<xsl:template match="bebop:table"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="bebop:thead"/>
<xsl:apply-templates select="bebop:tbody"/>
</table>
</xsl:template>
<xsl:template match="bebop:thead"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:element name="thead">
<tr>
<xsl:for-each select="bebop:cell">
<th>
<xsl:for-each select="@class|@style|@align|@valign|@colspan|@width|@rowspan|@height">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</th>
</xsl:for-each>
</tr>
</xsl:element>
</xsl:template>
<xsl:template match="bebop:tbody"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<tbody>
<xsl:for-each select="bebop:trow">
<tr>
<xsl:if test="../@striped and (position() mod 2) = 1">
<xsl:attribute name="class">rowOdd</xsl:attribute>
</xsl:if>
<xsl:for-each select="bebop:cell">
<td>
<xsl:for-each select="@class|@style|@align|@valign|@width|@height">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</tbody>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,21 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:textarea"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<textarea>
<xsl:for-each select="@*[not(name()='value')]">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:if test="string-length(@value)=0">&#160;</xsl:if>
<xsl:value-of select="@value"/>
</textarea>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template name="write-node">
<xsl:param name="node"/>
<xsl:param name="total-indent"/>
<xsl:param name="level-indent">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</xsl:param>
<xsl:for-each select="$node">
<tr>
<td>
<xsl:value-of disable-output-escaping="yes" select="$total-indent"/>
<xsl:choose>
<xsl:when test="@collapsed='t'">
<a href="{@href}">+</a>
</xsl:when>
<xsl:when test="@expanded='t'">
<a href="{@href}">-</a>
</xsl:when>
<xsl:otherwise>
<xsl:text>&#160;</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#160;</xsl:text>
<xsl:apply-templates select="*[position()=1]"/>
</td>
</tr>
<xsl:for-each select="bebop:t_node">
<xsl:call-template name="write-node">
<xsl:with-param name="node" select="."/>
<xsl:with-param name="total-indent">
<xsl:copy-of select="$total-indent"/>
<xsl:copy-of select="$level-indent"/>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template match="bebop:tree">
<table>
<xsl:for-each select="bebop:t_node">
<xsl:call-template name="write-node">
<xsl:with-param name="node" select="."/>
</xsl:call-template>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="xsl bebop"
version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="bebop:formErrors">
<font color="red">
<xsl:value-of disable-output-escaping="yes" select="@message"/>
</font>
<br />
</xsl:template>
<xsl:template match="bebop:formWidget">
<xsl:element name="input">
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="bebop:formWidget[@type='submit']">
<input>
<xsl:if test="boolean(@onclick) = false()">
<xsl:attribute name="onclick">
<xsl:text>dcp_hide(this);</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
</input>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,68 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="xsl bebop"
version="1.0">
<xsl:output method="html" indent="yes"/>
<!-- This is a backport from Mandalay v0.9 to support Xinha editor with the -->
<!-- generic theme. Xinha is the follow-up of the discontinued HTMLArea. -->
<!-- DE Benutze Xinha -->
<!-- EN Use Xinha -->
<xsl:template match="bebop:xinha">
<xsl:variable name="firstMatch">
<xsl:value-of select="//bebop:xinha/@name"/>
</xsl:variable>
<xsl:if test="@name=$firstMatch">
<script type="text/javascript">
_editor_url = "<xsl:value-of select="@editor_url"/>";
<!-- There is no $lang variable in the original theme, so this is hardcodes to english -->
_editor_lang ="<xsl:value-of select="en"/>";
<!-- DE Definiere, welche Textareas zu Xinha-Editoren werden sollen -->
<!-- EN Define all textares which should become xinha editors -->
xinha_editors = [
<xsl:for-each select="//bebop:xinha">
'ta_<xsl:value-of select="@name"/>'<xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>
];
<!-- DE Lade die angegebenen Plugins falls angegeben -->
<!-- EN Load the mentioned plugins if any-->
xinha_plugins = null;
<xsl:if test="bebop:plugin">
xinha_plugins = [
<xsl:for-each select="bebop:plugin">
'<xsl:value-of select="@name"/>'<xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>
];
</xsl:if>
</script>
<!-- DE Lade die externe JavaScript-Datei fuer Xinha -->
<script type="text/javascript" src="{@editor_src}"/>
<!-- DE Lade die angegebene Konfiguration -->
<script type="text/javascript">
<xsl:attribute name="src">
<xsl:value-of select="bebop:config[@name='XinhaConfig']/@path"/>
</xsl:attribute>
</script>
</xsl:if>
<textarea id="ta_{@name}" name="{@name}" rows="{@rows}" cols="{@cols}" wrap="{@wrap}" style="width:100%">
<xsl:value-of disable-output-escaping="no" select="text()"/>
</textarea>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!--
This is the main stylesheet for Bebop. It imports all of the .xsl
files with xsl.import. This stylesheet is locale-independent.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<!-- catch-all rules must have lowest precedence -->
<xsl:import href="plain.xsl"/>
<!-- templates for each component -->
<xsl:import href="Page.xsl"/>
<xsl:import href="BoxPanel.xsl"/>
<xsl:import href="CheckBoxGroup.xsl"/>
<xsl:import href="ColumnPanel.xsl"/>
<xsl:import href="DataTable.xsl"/>
<xsl:import href="DimensionalNavbar.xsl"/>
<xsl:import href="Form.xsl"/>
<xsl:import href="GridPanel.xsl"/>
<xsl:import href="Image.xsl"/>
<xsl:import href="Label.xsl"/>
<xsl:import href="Link.xsl"/>
<xsl:import href="List.xsl"/>
<xsl:import href="PageErrorDisplay.xsl"/>
<xsl:import href="ListPanel.xsl"/>
<xsl:import href="MultipleSelect.xsl"/>
<xsl:import href="PageState.xsl"/>
<xsl:import href="RadioGroup.xsl"/>
<xsl:import href="Select.xsl"/>
<xsl:import href="SplitPanel.xsl"/>
<xsl:import href="TabbedPane.xsl"/>
<xsl:import href="Table.xsl"/>
<xsl:import href="TextArea.xsl"/>
<xsl:import href="DHTMLEditor.xsl"/>
<xsl:import href="FCKEditor.xsl"/>
<xsl:import href="XinhaEditor.xsl"/>
<xsl:import href="Tree.xsl"/>
<xsl:import href="Widget.xsl"/>
<xsl:import href="SegmentedPanel.xsl"/>
<xsl:import href="DateTime.xsl"/>
<xsl:import href="dcp.xsl"/>
<!-- solid line -->
<xsl:template match="bebop:solidLine">
<hr />
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,70 @@
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
exclude-result-prefixes="bebop">
<xsl:output method="html" indent="yes"/>
<xsl:param name="dcp-on-buttons"/>
<xsl:param name="dcp-on-links"/>
<xsl:template name="bebop:dcpJavascript">
<script language="javascript">
<xsl:choose>
<xsl:when test="$dcp-on-buttons">
function dcp_hide(e) {
if (e.form != null) {
elements = e.form.elements;
for (i=0; i &lt; elements.length; i++) {
if (elements[i].tagName == "INPUT" &amp;&amp; elements[i].type == "submit" &amp;&amp; elements[i] != e) {
elements[i].setAttribute("disabled", "disabled");
}
}
}
try {
// IE version - setAttribute("value", .... doesn't work in IE, so results in default browser value (submit query)
// also note, class attribute referred to as className in IE!??!
proxybutton = document.createElement("&lt;input class='" + e.getAttribute("className") + "' id = '" + e.getAttribute("id") + "' type='submit' value='" + e.getAttribute("value") + "' disabled /&gt;");
} catch (error) {
// proper version
proxybutton = document.createElement('input');
proxybutton.setAttribute("disabled", "disabled");
proxybutton.setAttribute("value", e.getAttribute("value"));
proxybutton.setAttribute("class", e.getAttribute("class"));
proxybutton.setAttribute("id", e.getAttribute("id"));
proxybutton.setAttribute("type", "submit");
}
e.parentNode.insertBefore(proxybutton, e);
e.style.display = 'none';
}
</xsl:when>
<xsl:otherwise>
function dcp_hide(e) { }
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$dcp-on-links">
function dcp_disable_link(e) {
proxylink = e.cloneNode(true);
proxylink.removeAttribute("href");
e.parentNode.insertBefore(proxylink, e);
e.style.display = 'none';
}
</xsl:when>
<xsl:otherwise>
function dcp_disable_link(e) { }
</xsl:otherwise>
</xsl:choose>
</script>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,25 @@
<?xml version="1.0"?>
<!-- The templates associated with any bebop component are in a file
named after the component. This file contains only sundry
leftovers: a catch-all and some unused tags.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes"/>
<!-- catch-all -->
<xsl:template match="*|@*|text()">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<!-- XXX unused -->
<xsl:template match="bebop:sortableTable"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:apply-templates />
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,5 @@
Used by:
[pb@shuttle ROOT]$ grep -R packages/formbuilder/xsl/ *
static/content-types/com/arsdigita/cms/contenttypes/FormItem.xsl:
<xsl:import href="../../../../../../packages/formbuilder/xsl/formbuilder.xsl"/>

View File

@ -0,0 +1,122 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:formbuilder="http://www.arsdigita.com/formbuilder/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:cms="http://www.arsdigita.com/cms/1.0">
<!-- This contains option widgets such as checkbox and radio as well
as select and multi-select -->
<!-- The standard checkbox group -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentCheckboxGroup']">
<xsl:call-template name="optionGroup">
<xsl:with-param name="optionType">checkbox</xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- The standard option group -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentRadioGroup']">
<xsl:call-template name="optionGroup">
<xsl:with-param name="optionType">radio</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="optionGroup">
<xsl:param name="optionType"/>
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<xsl:call-template name="printErrors"/>
<xsl:for-each select="component">
<xsl:sort select="link/orderNumber"/>
<xsl:apply-templates select=".">
<xsl:with-param name="optionType" select="$optionType"/>
</xsl:apply-templates>
<br />
</xsl:for-each>
</td>
</xsl:template>
<!-- The standard option -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentOption']">
<xsl:param name="optionType">checkbox</xsl:param>
<xsl:variable name="paramName"><xsl:value-of select="../parameterName"/></xsl:variable>
<input>
<xsl:attribute name="value"><xsl:value-of select="parameterValue"/></xsl:attribute>
<xsl:attribute name="id"><xsl:value-of select="$paramName" />:<xsl:value-of select="parameterValue"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="$paramName"/></xsl:attribute>
<xsl:attribute name="type"><xsl:value-of select="$optionType"/></xsl:attribute>
<xsl:if test="parameterValue=//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$paramName]/formbuilder:formDefaultValue">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
<label>
<xsl:attribute name="for"><xsl:value-of select="../parameterName"/>:<xsl:value-of select="parameterValue"/></xsl:attribute>
<xsl:value-of select="label"/>
</label>
</input>
</xsl:template>
<!-- The Persistent Single/Multiple Select -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentSingleSelect' or defaultDomainClass='com.arsdigita.formbuilder.PersistentMultipleSelect']">
<xsl:variable name="paramName"><xsl:value-of select="parameterName"/></xsl:variable>
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<xsl:call-template name="printErrors"/>
<select>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
<xsl:choose>
<xsl:when test="defaultDomainClass='com.arsdigita.formbuilder.PersistentMultipleSelect'">
<xsl:attribute name="multiple">multiple</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<option value="">-- Select --</option>
</xsl:otherwise>
</xsl:choose>
<xsl:for-each select="component">
<option>
<xsl:attribute name="value"><xsl:value-of select="parameterValue"/></xsl:attribute>
<xsl:if test="parameterValue=//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$paramName]/formbuilder:formDefaultValue">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="label"/>
</option>
</xsl:for-each>
</select>
</td>
</xsl:template>
<!-- The DataDrivenSelect -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.DataDrivenSelect']">
<xsl:variable name="paramName"><xsl:value-of select="parameterName"/></xsl:variable>
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<select>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
<xsl:if test="selectOptions/@multiple">
<xsl:attribute name="multiple">multiple</xsl:attribute>
</xsl:if>
<xsl:for-each select="selectOptions/option">
<option>
<xsl:attribute name="value"><xsl:value-of select="@id"/></xsl:attribute>
<xsl:if test="@id=//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$paramName]/formbuilder:formDefaultValue">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@label"/>
</option>
</xsl:for-each>
</select>
<xsl:call-template name="printErrors"/>
</td>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,81 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:formbuilder="http://www.arsdigita.com/formbuilder/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:cms="http://www.arsdigita.com/cms/1.0">
<!-- The Persistent Date -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentDate']">
<xsl:variable name="defaultYear">
<xsl:call-template name="printDateDefaultValue">
<xsl:with-param name="currentDefault" select="defaultValue/year"/>
<xsl:with-param name="paramName"><xsl:value-of select="parameterName"/>.year</xsl:with-param>
<xsl:with-param name="dateParamName"><xsl:value-of select="parameterName"/></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="defaultMonth">
<xsl:call-template name="printDateDefaultValue">
<xsl:with-param name="currentDefault" select="defaultValue/month"/>
<xsl:with-param name="paramName"><xsl:value-of select="parameterName"/>.month</xsl:with-param>
<xsl:with-param name="dateParamName"><xsl:value-of select="parameterName"/></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<select>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/>.month</xsl:attribute>
<xsl:for-each select="monthList/month">
<option>
<xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>
<xsl:if test="$defaultMonth=@value">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="text()"/>
</option>
</xsl:for-each>
</select>
<input type="text" size="2" maxlength="2">
<xsl:attribute name="name"><xsl:value-of select="parameterName"/>.day</xsl:attribute>
<xsl:attribute name="value">
<xsl:call-template name="printDateDefaultValue">
<xsl:with-param name="currentDefault" select="defaultValue/day"/>
<xsl:with-param name="paramName"><xsl:value-of select="parameterName"/>.day</xsl:with-param>
<xsl:with-param name="dateParamName"><xsl:value-of select="parameterName"/></xsl:with-param>
</xsl:call-template>
</xsl:attribute>
</input>
<select>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/>.year</xsl:attribute>
<xsl:for-each select="yearList/year">
<option>
<xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>
<xsl:if test="@value=$defaultYear">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="text()"/>
</option>
</xsl:for-each>
</select>
<xsl:call-template name="printErrors"/>
</td>
</xsl:template>
<!-- This prints out the default value for a date -->
<xsl:template name="printDateDefaultValue">
<xsl:param name="currentDefault"><xsl:value-of select="defaultValue"/></xsl:param>
<xsl:param name="paramName"><xsl:value-of select="parameterName"/></xsl:param>
<xsl:param name="dateParamName"><xsl:value-of select="parameterName"/></xsl:param>
<xsl:choose>
<xsl:when test="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$dateParamName]/formbuilder:formDefaultValue[@type=$paramName]"><xsl:value-of select="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$dateParamName]/formbuilder:formDefaultValue[@type=$paramName]"/></xsl:when>
<xsl:when test="not($currentDefault='')"><xsl:value-of select="$currentDefault"/></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,28 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:formbuilder="http://www.arsdigita.com/formbuilder/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<!-- The standard submit -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentSubmit']">
<td colspan="2" align="center">
<input type="submit">
<xsl:attribute name="onclick">if(this.value == 'null') { this.value = 'Please Wait'; this.form.submit(); }</xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
<xsl:attribute name="value">
<xsl:choose>
<xsl:when test="defaultValue">
<xsl:value-of select="defaultValue"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="parameterName"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
</td>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,111 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:formbuilder="http://www.arsdigita.com/formbuilder/1.0"
xmlns:ui="http://www.arsdigita.com/ui/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<!-- This contains text widgets such as textfield, password, and textarea -->
<!-- The standard password form -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentPassword']">
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<xsl:call-template name="textFieldTemplate">
<xsl:with-param name="type" select="'password'"/>
</xsl:call-template>
<xsl:call-template name="printErrors"/>
</td>
</xsl:template>
<!-- The standard textField form -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentTextField']">
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<xsl:call-template name="textFieldTemplate">
<xsl:with-param name="type" select="'text'"/>
</xsl:call-template>
<xsl:call-template name="printErrors"/>
</td>
</xsl:template>
<!-- added by CS Gupta -->
<!-- The standard Email Field form -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentEmailField']">
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<xsl:variable name="defaultValue"><xsl:call-template name="printDefaultValue"/></xsl:variable>
<xsl:variable name="value">
<xsl:choose>
<xsl:when test="string-length($defaultValue) > 0">
<xsl:value-of select="$defaultValue"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/bebop:page/ui:userBanner/@primaryEmail"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<td align="left" valign="top">
<xsl:call-template name="textFieldTemplate">
<xsl:with-param name="type" select="'text'"/>
<xsl:with-param name="value" select="$value"/>
</xsl:call-template>
<xsl:call-template name="printErrors"/>
</td>
</xsl:template>
<!-- a template for all of the single line text fields -->
<xsl:template name="textFieldTemplate">
<xsl:param name="type"/>
<xsl:param name="value">
<xsl:call-template name="printDefaultValue"/>
</xsl:param>
<input value="{$value}">
<!-- Default values for the dimension of a single line text field are specified here -->
<xsl:attribute name="type"><xsl:value-of select="$type"/></xsl:attribute>
<xsl:attribute name="maxlength"><xsl:value-of select="maxlength"/></xsl:attribute>
<xsl:if test="maxlength=0">
<xsl:attribute name="maxlength">30</xsl:attribute>
</xsl:if>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
<xsl:attribute name="size"><xsl:value-of select="size"/></xsl:attribute>
<xsl:if test="size=0">
<xsl:attribute name="size">30</xsl:attribute>
</xsl:if>
</input>
</xsl:template>
<!-- Persistent Text Area -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentTextArea']">
<th align="left" valign="top">
<xsl:call-template name="printLabel"/>
</th>
<td align="left" valign="top">
<xsl:call-template name="printErrors"/>
<textarea>
<!-- Default values for the dimension of the textarea are specified here -->
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
<xsl:attribute name="rows"><xsl:value-of select="rows"/></xsl:attribute>
<xsl:if test="rows=0">
<xsl:attribute name="rows">5</xsl:attribute>
</xsl:if>
<xsl:attribute name="cols"><xsl:value-of select="cols"/></xsl:attribute>
<xsl:if test="cols=0">
<xsl:attribute name="cols">3</xsl:attribute>
</xsl:if>
<xsl:call-template name="printDefaultValue"/>
</textarea>
</td>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,148 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:formbuilder="http://www.arsdigita.com/formbuilder/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:cms="http://www.arsdigita.com/cms/1.0">
<!-- In this example code, we set things up so that only the actual
widgets are called and then it is up to that widget to decide which,
if any, WidgetLabel to include. -->
<xsl:import href="PersistentDate.xsl"/>
<xsl:import href="PersistentSubmit.xsl"/>
<xsl:import href="OptionWidgets.xsl"/>
<xsl:import href="TextWidgets.xsl"/>
<xsl:template match="form">
<form>
<xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute>
<xsl:attribute name="method">post</xsl:attribute>
<xsl:choose>
<xsl:when test="../remote = 'true'">
<xsl:attribute name="action"><xsl:value-of select="../remoteUrl"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="action"><xsl:value-of select="../@formAction"/></xsl:attribute>
<input type="hidden" value="visited">
<xsl:attribute name="name">form.<xsl:value-of select="name"/></xsl:attribute>
</input>
</xsl:otherwise>
</xsl:choose>
<table>
<xsl:for-each select="component[not(defaultDomainClass='com.arsdigita.formbuilder.WidgetLabel')]" >
<xsl:sort select="link/orderNumber" data-type="number"/>
<tr>
<xsl:apply-templates select="."/>
</tr>
</xsl:for-each>
</table>
<xsl:apply-templates select="../formbuilder:pageState/bebop:pageState"/>
</form>
</xsl:template>
<!-- the stand alone form sections -->
<xsl:template match="formSection">
<form>
<xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute>
<xsl:attribute name="method">post</xsl:attribute>
<xsl:attribute name="action"><xsl:value-of select="../formAction"/></xsl:attribute>
<xsl:for-each select="component" >
<xsl:sort select="link/orderNumber" data-type="number"/>
<tr>
<xsl:apply-templates select="."/>
</tr>
</xsl:for-each>
<xsl:apply-templates select="../formbuilder:pageState/bebop:pageState"/>
</form>
</xsl:template>
<!-- process through the form sections that are embeded within forms -->
<xsl:template match="component[objectType='com.arsdigita.cms.formbuilder.FormSectionWrapper']">
<xsl:for-each select="formSectionItem/formSection/component[not(defaultDomainClass='com.arsdigita.formbuilder.WidgetLabel')]">
<xsl:sort select="link/orderNumber" data-type="number"/>
<tr>
<xsl:apply-templates select="."/>
</tr>
</xsl:for-each>
</xsl:template>
<!-- a utility template to allow components to find and print
the appropriate label -->
<xsl:template name="printLabel">
<!-- not always the next following-sibling, so checking for previous orderNumber -->
<xsl:variable name="correspondingLabelOrderNumber" select="./link/orderNumber - 1"/>
<xsl:if test="../component[defaultDomainClass='com.arsdigita.formbuilder.WidgetLabel' and link/orderNumber = $correspondingLabelOrderNumber]">
<xsl:apply-templates select="../component[defaultDomainClass='com.arsdigita.formbuilder.WidgetLabel' and link/orderNumber = $correspondingLabelOrderNumber]" />
</xsl:if>
</xsl:template>
<!-- a utility template to print out error messages -->
<xsl:template name="printErrors">
<xsl:param name="parameterName"><xsl:value-of select="parameterName"/></xsl:param>
<xsl:if test="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formError[@id=$parameterName]">
<font color="red"><xsl:value-of select="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formError/@message"/></font><br/>
</xsl:if>
</xsl:template>
<!-- This prints out the default value for the parameter
When there is only one value, it prints it. If there are multiple values,
it prints them seperated by a ";" -->
<xsl:template name="printDefaultValue">
<xsl:param name="currentDefault"><xsl:value-of select="defaultValue"/></xsl:param>
<xsl:param name="paramName"><xsl:value-of select="parameterName"/></xsl:param>
<xsl:choose>
<xsl:when test="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$paramName]"><xsl:for-each select="//bebop:page/cms:contentPanel/cms:item/formbuilder:formInfo/formbuilder:formDefaults[@parameterName=$paramName]/formbuilder:formDefaultValue"><xsl:if test="not(position()=1)">;</xsl:if><xsl:value-of select="text()"/></xsl:for-each></xsl:when>
<xsl:when test="not($currentDefault='')"><xsl:value-of select="$currentDefault"/></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- The standard label -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.WidgetLabel']">
<xsl:value-of select="label"/>
</xsl:template>
<!-- The hidden variable -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentHidden']">
<input type="hidden">
<xsl:attribute name="value"><xsl:value-of select="defaultValue"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
</input>
</xsl:template>
<!-- Unique ID generator -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.HiddenIDGenerator']">
<input type="hidden">
<xsl:attribute name="value"><xsl:value-of select="defaultValue"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="parameterName"/></xsl:attribute>
</input>
</xsl:template>
<!-- The Persistent Text Description -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentText']">
<td colspan="2" align="left">
<p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
</td>
</xsl:template>
<!-- The Persistent Text Heading -->
<xsl:template match="component[defaultDomainClass='com.arsdigita.formbuilder.PersistentHeading']">
<td colspan="2" align="left">
<p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
</td>
</xsl:template>
<!--
PersistentDeditor.java
PersistentLabel.java
-->
</xsl:stylesheet>

View File

@ -0,0 +1,173 @@
<?xml version="1.0"?>
<!DOCTYPE stylesheet [
<!ENTITY nbsp "&#160;" >
<!ENTITY copy "&#169;" >
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:subsite="http://www.arsdigita.com/subsite/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:ui="http://www.arsdigita.com/ui/1.0">
<xsl:import href="../../bebop/xsl/bebop.xsl"/>
<xsl:import href="../../ui/xsl/ui.xsl"/>
<xsl:param name="dispatcher-prefix"/>
<!-- new version of login page -->
<xsl:template match="bebop:page[@application='login']">
<!-- DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" -->
<html>
<head>
<title>Log in</title>
<link href="/css/acs-master.css" type="text/css" rel="stylesheet"/>
</head>
<body link="#000066" vlink="#333399" bgcolor="#FFFFFF">
<xsl:call-template name="bebop:dcpJavascript"/>
<xsl:apply-templates select="ui:userBanner" />
<p/>&nbsp;
<table width="75%" align="center" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#cc000000">
<td align="center">
<div class="page-title"><font color="#ffffff"><xsl:value-of select="ui:siteBanner/@sitename" /></font></div>
</td>
</tr>
<tr bgcolor="#ffffff">
<td heigth="2"></td>
</tr>
<tr bgcolor="#e1e1e1">
<td>
<xsl:choose>
<xsl:when test="count(bebop:form)>0">
<xsl:apply-templates select="bebop:form"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="*[not(@metadata.tag)]"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
<p/>
&nbsp;
<xsl:apply-templates select="ui:siteBanner"/>
<xsl:apply-templates select="ui:debugPanel"/>
<xsl:apply-templates select="bebop:structure"/>
</body>
</html>
</xsl:template>
<!-- this rule matches one user -->
<xsl:template match="subsite:userInfo">
<hr />
<h3>What we tell other users about you</h3>
In general we identify content that you've posted by your full name. In
an attempt to protect you from unsolicited bulk email (spam), we keep your
email address hidden except from other registered users.
<h4>Basic Information</h4>
<ul>
<li> Name: <xsl:value-of select="@name"/> </li>
<li> User ID: <xsl:value-of select="@id"/> </li>
<li> Email Address: <xsl:value-of select="@email"/> </li>
<li> Personal URL: <xsl:value-of select="@URI"/> </li>
<li> Screen Name: <xsl:value-of select="@screenName"/> </li>
</ul>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="subsite:explainPersistentCookies">
Our server can tell your browser to remember certain things, such as your
email address and password. This is convenient for you because, if you're
the only person who uses your computer, you won't have to keep telling us
your email address and password.
<p/>
It would be a very bad idea to choose this option if you're using a
shared computer in a library or school. Any subsequent user of this machine
would be able to masquerade as you on our service.
<p/>
Note that you can erase your saved email address and password by choosing
the "log out" option from your workspace.
<p/>
</xsl:template>
<xsl:template match="subsite:loginPromptMsg[@class='email']">
<b>Current users:</b> Please enter your email and password below.
<p/>
<b>New users:</b> Please begin the registration process
by entering a valid email address and leaving the password field blank.
You will be directed to another form to complete your registration.
<p/>&nbsp;
</xsl:template>
<xsl:template match="subsite:loginPromptMsg[@class='screenName']">
<b>Current users:</b> Please enter your screen name and password below.
<p/>
<b>New users:</b> Please begin the registration process
by entering your desired screen name and leaving the password field blank.
You will be directed to another form to complete your registration.
<p/>&nbsp;
</xsl:template>
<xsl:template match="subsite:promptToEnableCookiesMsg">
<br />
<b>Note:</b> Our personalized web services require that your browser be enabled for JavaScript and cookies.
</xsl:template>
<xsl:template match="subsite:recoverPasswordMailSent">
You have been sent an email that will allow you to change your password.
</xsl:template>
<xsl:template match="subsite:recoverPasswordMailFailed">
Unable to send password recovery information via email.
<p/>
Please contact the system administrator for further help in recovering your password.
</xsl:template>
<xsl:template match="subsite:explainLoginExpired">
<p></p>
<font size="-1">
<table cellpadding="5" cellspacing="1" border="1">
<tr>
<td bgcolor="#ffffcc"><b>Note:</b> For security reasons, the login page
expires after a certain interval to prevent malicious attackers from logging
in as you using cached browser passwords.</td>
</tr>
</table>
</font>
</xsl:template>
<xsl:template match="subsite:contentCenters">
<h4>My Control Centers</h4>
<ul>
<xsl:for-each select="subsite:center">
<li>
<a>
<xsl:attribute name="href">
<xsl:for-each select="subsite:url">
<xsl:if test="position()=1">
<xsl:value-of select="node()|text()" />
</xsl:if>
</xsl:for-each>
</xsl:attribute>
<xsl:value-of select="@name" />
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<!--
This is the main stylesheet for Bebop. It imports all of the .xsl
files with xsl.import. This stylesheet is locale-independent.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:search="http://arsdigita.com/search/1.0">
<xsl:import href="../../bebop/xsl/bebop.xsl"/>
<xsl:template match="search:search">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="search:results">
<xsl:if test="@size > 0">
<table class="tabular">
<tr>
<th>Title</th>
<th>Summary</th>
<th>Created On</th>
<th>Modified On</th>
<th>Score</th>
</tr>
<xsl:for-each select="search:hit">
<tr>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url"/>
</xsl:attribute>
<xsl:value-of select="@title"/>
</a>
</td>
<td>
<xsl:value-of select="@summary"/>
</td>
<td>
<xsl:value-of select="@creationDate"/>
</td>
<td>
<xsl:value-of select="@lastModifiedDate"/>
</td>
<td>
<xsl:value-of select="@score"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,103 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:admin="http://www.arsdigita.com/permissions-ui/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
exclude-result-prefixes="admin">
<xsl:import href="../../bebop/xsl/bebop.xsl"/>
<xsl:import href="../../ui/xsl/ui.xsl"/>
<xsl:template match="bebop:dimensionalNavbar[@class='permNavBar']">
<xsl:comment>bebop:dimensionalNavbar</xsl:comment>
<xsl:for-each select="*">
<xsl:apply-templates select="."/>
<xsl:if test="position()!=last()">&#160;&gt;&#160;</xsl:if>
</xsl:for-each>
<p />
<xsl:comment>/bebop:dimensionalNavbar</xsl:comment>
</xsl:template>
<xsl:template match="bebop:list[@class='bulletList']">
<ul>
<xsl:for-each select="bebop:cell">
<li><xsl:apply-templates/></li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="bebop:label[@class='errorBullet']">
<ul><font color="red">
<li><xsl:apply-templates/></li>
</font>
</ul>
</xsl:template>
<xsl:template match="bebop:label[@class='heading']">
<h2><xsl:apply-templates/></h2>
</xsl:template>
<xsl:template match="bebop:link[@class='checkBoxChecked']">
<a href="{@href}" onclick="{@onclick}">
<img src="{$contextPath}/assets/checkbox-checked.gif" border="0" width="12" height="12">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
</a>
<xsl:text>&#160;</xsl:text>
<a href="{@href}" onclick="{@onclick}" class="action_link">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template match="bebop:link[@class='checkBoxUnchecked']">
<a href="{@href}" onclick="{@onclick}">
<img src="{$contextPath}/assets/checkbox-unchecked.gif" border="0" width="12" height="12">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
</a>
<xsl:text>&#160;</xsl:text>
<a href="{@href}" onclick="{@onclick}" class="action_link">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template match="bebop:label[@class='checkBoxGreyChecked']">
<img src="{$contextPath}/assets/checkbox-checked-gray.gif" border="0" width="12" height="12">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
<xsl:text>&#160;</xsl:text>
</xsl:template>
<xsl:template match="bebop:label[@class='checkBoxGreyUnchecked']">
<img src="{$contextPath}/assets/checkbox-unchecked-gray.gif" border="0" width="12" height="12">
<xsl:attribute name="alt">
<xsl:apply-templates/>
</xsl:attribute>
</img>
<xsl:text>&#160;</xsl:text>
</xsl:template>
<!-- Access Denied Page -->
<xsl:template match="bebop:label[@class='AccessDenied']">
<hr />
<p>You don't have permission to perform the requested action.</p>
<hr />
</xsl:template>
<!-- Display search error message -->
<xsl:template match="bebop:list[@class='UserSearchList'][count(bebop:cell)=0]">
<p><font color="red">Your search returned no results.</font></p>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,5 @@
Place holder file to make sure the directory is created and copied with the
appropriate permissions.
Dir packages, a container for files which are shared among several CCM packages,
especially provided by core (e.g. bebop).

View File

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:search="http://rhea.redhat.com/search/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
version="1.0">
<xsl:output method="html"/>
<xsl:template match="search:results">
<!--
<xsl:apply-templates select="search:paginator" mode="page-summary"/>
-->
<xsl:apply-templates select="search:paginator" mode="results-summary"/>
<xsl:if test="search:paginator/@objectCount > 0">
<xsl:apply-templates select="search:documents"/>
<xsl:if test="search:paginator/@pageCount > 1">
<xsl:apply-templates select="search:paginator" mode="pages"/>
</xsl:if>
</xsl:if>
</xsl:template>
<xsl:template match="search:paginator" mode="page-summary">
<xsl:if test="@objectCount > 0">
<div>
<xsl:text>Displaying page </xsl:text>
<xsl:value-of select="@pageNumber"/>
<xsl:text> of </xsl:text>
<xsl:value-of select="@pageCount"/>
<xsl:text> (maximum of </xsl:text>
<xsl:value-of select="@pageSize"/>
<xsl:text> results per page)</xsl:text>
</div>
</xsl:if>
</xsl:template>
<xsl:template match="search:paginator" mode="results-summary">
<div>
<xsl:choose>
<xsl:when test="@objectCount = 0">
<xsl:text>There were no results for your search</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Displaying results </xsl:text>
<xsl:value-of select="@objectBegin"/>
<xsl:text> through </xsl:text>
<xsl:value-of select="@objectEnd"/>
<xsl:if test="@pageCount > 1">
<xsl:text> (total: </xsl:text>
<xsl:value-of select="@objectCount"/>
<xsl:text>)</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<xsl:template match="search:paginator" mode="pages">
<xsl:if test="@objectCount > 0">
<div>
<xsl:if test="@pageNumber > 1">
<a href="{@baseURL}&amp;{@pageParam}={@pageNumber - 1}">&lt;&lt;&lt;Previous </a>
</xsl:if>
<xsl:text>Page </xsl:text>
<xsl:value-of select="@pageNumber"/>
<xsl:text> of </xsl:text>
<xsl:value-of select="@pageCount"/>
<xsl:if test="@pageNumber &lt; @pageCount">
<a href="{@baseURL}&amp;{@pageParam}={@pageNumber + 1}"> Next &gt;&gt;&gt;</a>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
<xsl:template match="search:documents">
<table class="data" >
<thead>
<tr>
<th>Score</th>
<th>Title</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="search:object">
<xsl:apply-templates select=".">
<xsl:with-param name="class">
<xsl:choose>
<xsl:when test="position() mod 2">odd</xsl:when>
<xsl:otherwise>even</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
<xsl:template match="search:object">
<xsl:param name="class" select="none"/>
<tr class="{$class}">
<td><xsl:value-of select="@score"/></td>
<td><a href="{@url}"><xsl:value-of select="@title"/></a></td>
<td><em><xsl:value-of select="@summary"/></em></td>
</tr>
</xsl:template>
<xsl:template match="search:query">
<table>
<xsl:for-each select="search:*">
<tr valign="top">
<xsl:apply-templates select="."/>
<td>
<!-- Pull in the Submit button, next to the terms field -->
<xsl:if test="name() = 'search:terms'">
<xsl:apply-templates select="../bebop:formWidget"/>
</xsl:if>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="search:terms">
<th align="right">
<xsl:text>Query:</xsl:text>
</th>
<td>
<input size="30" type="text" name="{@param}" value="{@value}" title="Enter one or more search terms"/>
</td>
</xsl:template>
<xsl:template match="search:filter[@type='objectType']">
<th align="right">
<xsl:text>Types:</xsl:text>
</th>
<td>
<select size="10" name="{@param}" multiple="multiple">
<xsl:for-each select="search:objectType">
<xsl:sort select="@name"/>
<option value="{@name}">
<xsl:if test="@isSelected">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@name"/>
</option>
</xsl:for-each>
</select>
</td>
</xsl:template>
<xsl:template match="search:filter[@type='category']">
<th align="right">
<xsl:text>Categories:</xsl:text>
</th>
<td>
<select size="10" name="{@param}" multiple="multiple">
<xsl:for-each select="search:category">
<xsl:sort select="@title"/>
<option value="{@oid}">
<xsl:if test="@isSelected">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@title"/>
</option>
</xsl:for-each>
</select>
<br/>
<input type="checkbox" value="true">
<xsl:attribute name="name">
<xsl:value-of select="search:includeSubCats/@name"/>
</xsl:attribute>
<xsl:if test="search:includeSubCats/@value = 'true'">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
Include subcategories
</td>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,50 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:km="http://www.arsdigita.com/km/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:template match="bebop:table[@class='abstractCollectionTable']" xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<table class="fancy" cellpadding="1" cellspacing="2" border="0">
<xsl:for-each select="@*[@name!='class']">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:for-each select="thead|bebop:thead">
<xsl:call-template name="abstractCollectionTableHead">
<xsl:with-param name="orderColumn" select="../@order"/>
<xsl:with-param name="direction" select="../@direction"/>
</xsl:call-template>
</xsl:for-each>
<xsl:apply-templates select="bebop:tbody"/>
</table>
</xsl:template>
<xsl:template name="abstractCollectionTableHead">
<xsl:param name="orderColumn">0</xsl:param>
<xsl:param name="direction">asc</xsl:param>
<tr class="table_header" bgcolor="#ffffff">
<xsl:for-each select="cell|bebop:cell">
<th class="table_header" nowrap="nowrap">
<xsl:text>&#160;</xsl:text>
<xsl:apply-templates/>
<xsl:choose>
<xsl:when test="(position()-1)=$orderColumn">
<xsl:text>&#160;</xsl:text>
<img border="0">
<xsl:attribute name="src"><xsl:choose><xsl:when test="$direction='asc'"><xsl:value-of select="//@assets"/>/assets/gray-triangle-up.gif</xsl:when><xsl:otherwise><xsl:value-of select="//@assets"/>/assets/gray-triangle-down.gif</xsl:otherwise></xsl:choose></xsl:attribute>
</img>
</xsl:when>
<xsl:otherwise>
<xsl:text>&#160;</xsl:text>
<xsl:text>&#160;</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#160;</xsl:text>
</th>
</xsl:for-each>
</tr>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:template match="bebop:controlBar">
<table width="100%"><tr>
<xsl:for-each select="bebop:dimensionBar">
<td>
<table>
<tr>
<td align="center"><b><xsl:value-of select="bebop:label[@class='dimensionBarTitle']"/></b></td>
</tr>
<tr>
<td align="center">
<xsl:variable name="options" select="*[(name()='bebop:label' and @class='dimensionBarOption') or name()='bebop:link']"/>
<!-- xsl:choose>
<xsl:when test="count($options) > 10">
You probably don't want to use a slider bar here.
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose -->
<xsl:for-each select="$options">
<xsl:apply-templates select="."/>
<xsl:if test="position()!=last()"> | </xsl:if>
</xsl:for-each>
</td>
</tr>
</table>
</td>
</xsl:for-each>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,326 @@
<?xml version="1.0"?>
<!DOCTYPE stylesheet [
<!ENTITY lf "&#xa;" >]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:ui="http://www.arsdigita.com/ui/1.0"
exclude-result-prefixes="xsl bebop ui">
<xsl:output
method="xml"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
indent="yes" />
<xsl:template match="ui:debugPanel">
<hr width="100%"/>
<h3>Debug Options</h3>
<table>
<xsl:apply-templates select="ui:debugLink"/>
</table>
</xsl:template>
<xsl:template match="ui:debugLink">
<tr>
<td>
<a href="{@url}">
<img src="/assets/action-{@type}.png" width="14" height="14" border="0" alt="Debug"/>
</a>
<xsl:text>&#160;</xsl:text>
<a href="{@url}">
<xsl:value-of select="@title"/>
</a>
</td>
</tr>
</xsl:template>
<xsl:template match="bebop:structure">
<xsl:apply-templates select="bebop:state"/>
<xsl:apply-templates select="bebop:params"/>
<xsl:variable name="selectedIdx" select="bebop:state/bebop:selected"/>
<h1>Page structure</h1>
<h2>Legend:</h2>
<ul>
<li style="color: FireBrick;">Branch visible, self visible</li>
<li style="color: HotPink;">Branch visible, self invisible</li>
<li style="color: LightPink;">Branch invisible, self visible</li>
<li style="color: LightSteelBlue;">Branch invisible, self-invisible</li>
<li style="font-weight: bold;">bold if selected</li>
</ul>
<pre>
<xsl:for-each select="bebop:component">
<xsl:call-template name="bebopComponent">
<xsl:with-param name="selectedIdx" select="$selectedIdx"/>
</xsl:call-template>
</xsl:for-each>
</pre>
<h1>XML before transformation</h1>
<pre>
<xsl:for-each select="/*">
<xsl:call-template name="bebopElement"/>
</xsl:for-each>
</pre>
<h1>Stack traces</h1>
<dl>
<xsl:for-each select="/*">
<xsl:call-template name="bebopClassnames"/>
</xsl:for-each>
</dl>
</xsl:template>
<xsl:template match="bebop:state">
<h1>State</h1>
<xsl:if test="bebop:selected">
<p>Selected: <a href="#selectedComponent"><xsl:value-of select="bebop:selected"/></a></p>
</xsl:if>
<xsl:if test="bebop:eventName/self::text()">
<p>Event: <xsl:value-of select="bebop:eventName"/>
Value: <xsl:value-of select="bebop:eventValue"/>
</p>
</xsl:if>
</xsl:template>
<xsl:template match="bebop:params">
<h1>Params</h1>
<table border="0" cellpadding="1" cellspacing="0">
<xsl:for-each select="*">
<tr>
<td style="font-weight: bold;"><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="bebopComponent">
<xsl:param name="padding"/>
<xsl:param name="branchVisible" select="@isVisible"/>
<xsl:param name="selectedIdx"/>
<xsl:variable name="selfVisible" select="@isVisible = 'yes'"/>
<xsl:variable name="newPadding">
<xsl:choose>
<xsl:when test="count(following-sibling::*) > 0">
<xsl:value-of select="concat($padding, '| ')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($padding, ' ')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<span style="color: LightGrey;">
<xsl:value-of select="concat($padding, '+-')"/>
</span>
<span>
<xsl:attribute name="style">
<xsl:call-template name="componentVisibility">
<xsl:with-param name="branchVisible" select="$branchVisible"/>
<xsl:with-param name="selfVisible" select="$selfVisible"/>
</xsl:call-template>
<xsl:if test="$selectedIdx = @idx">
font-weight: bold;
</xsl:if>
</xsl:attribute>
<xsl:if test="$selectedIdx = @idx">
<xsl:attribute name="id">selectedComponent</xsl:attribute>
</xsl:if>
<xsl:value-of select="@name"/>
</span>
<xsl:text>&#xa;</xsl:text>
<xsl:for-each select="*">
<xsl:call-template name="bebopComponent">
<xsl:with-param name="branchVisible" select="$branchVisible and $selfVisible"/>
<xsl:with-param name="selectedIdx" select="$selectedIdx"/>
<xsl:with-param name="padding" select="$newPadding"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="componentVisibility">
<xsl:param name="branchVisible"/>
<xsl:param name="selfVisible"/>
<xsl:choose>
<!-- test for the most common case first -->
<xsl:when test="not($branchVisible) and $selfVisible">color: LightPink;</xsl:when>
<xsl:when test="$branchVisible and $selfVisible">color: FireBrick;</xsl:when>
<xsl:when test="$branchVisible and not($selfVisible)">color: HotPink;</xsl:when>
<xsl:when test="not($branchVisible) and not($selfVisible)">color: LightSteelBlue;</xsl:when>
<xsl:otherwise>CANNOT GET HERE</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="bebopElement">
<xsl:param name="breadCrumbs" select="1"/>
<xsl:param name="padding"/>
<xsl:variable name="newPadding">
<xsl:choose>
<xsl:when test="count(following-sibling::*) > 0">
<xsl:value-of select="concat($padding, '| ')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($padding, ' ')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="bebopPadding">
<xsl:with-param name="padding" select="concat($padding, '+-')"/>
</xsl:call-template>
<xsl:call-template name="bebopTag">
<xsl:with-param name="str" select="concat('&lt;', name())"/>
</xsl:call-template>
<xsl:call-template name="bebopAttributes">
<xsl:with-param name="breadCrumbs" select="$breadCrumbs"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="*|text()">
<xsl:call-template name="bebopTag">
<xsl:with-param name="str" select="'>'"/>
</xsl:call-template>
<xsl:call-template name="bebopClassnameAnchor">
<xsl:with-param name="breadCrumbs" select="$breadCrumbs"/>
</xsl:call-template>
<xsl:text>&lf;</xsl:text>
<xsl:for-each select="*[not(self::bebop:structure)]|text()">
<xsl:choose>
<xsl:when test="self::text()">
<xsl:call-template name="bebopPadding">
<xsl:with-param name="padding" select="concat($newPadding, '+-')"/>
</xsl:call-template>
<span style="color: SlateGrey;">
<xsl:call-template name="abbreviateString">
<xsl:with-param name="str" select="normalize-space(.)"/>
</xsl:call-template>
</span>
<xsl:text>&lf;</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="bebopElement">
<xsl:with-param name="breadCrumbs" select="concat($breadCrumbs, '.', count(preceding-sibling::*) + 1)"/>
<xsl:with-param name="padding" select="$newPadding"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:call-template name="bebopPadding">
<xsl:with-param name="padding">
<xsl:choose>
<xsl:when test="count(following-sibling::*) > 0">
<xsl:value-of select="concat($padding, '| ')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($padding, ' ')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="bebopTag">
<xsl:with-param name="str" select="concat('&lt;/', name(), '>')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="bebopTag">
<xsl:with-param name="str" select="'/>'"/>
</xsl:call-template>
<xsl:call-template name="bebopClassnameAnchor">
<xsl:with-param name="breadCrumbs" select="$breadCrumbs"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&lf;</xsl:text>
</xsl:template>
<xsl:template name="bebopAttributes">
<xsl:param name="breadCrumbs"/>
<xsl:for-each select="@*[not(name() = 'bebop:classname')]">
<xsl:call-template name="bebopAttribute">
<xsl:with-param name="name" select="name()"/>
<xsl:with-param name="value" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="bebopAttribute">
<xsl:param name="name"/>
<xsl:param name="value"/>
<xsl:text> </xsl:text>
<span style="color: DarkGreen;">
<xsl:value-of select="$name"/>
</span>
<xsl:text>=</xsl:text>
<span style="color: SaddleBrown;">
<xsl:value-of select="concat('&quot;', $value, '&quot;')"/>
</span>
</xsl:template>
<xsl:template name="bebopTag">
<xsl:param name="str"/>
<span style="color: Maroon; font-weight: bold;">
<xsl:value-of select="$str"/>
</span>
</xsl:template>
<xsl:template name="bebopPadding">
<xsl:param name="padding"/>
<span style="color: LightGrey;">
<xsl:value-of select="$padding"/>
</span>
</xsl:template>
<xsl:template name="abbreviateString">
<xsl:param name="str"/>
<xsl:variable name="strlen" select="string-length($str)"/>
<xsl:choose>
<xsl:when test="$strlen &lt; 60">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(substring($str, 1, 30),
'...',
substring($str, $strlen - 30))"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="bebopClassnameAnchor">
<xsl:param name="breadCrumbs"/>
<xsl:if test="@bebop:classname">
<xsl:variable name="anchor" select="$breadCrumbs"/>
<sup><a href="#{$anchor}" id="back{$anchor}"><xsl:value-of select="$anchor"/></a></sup>
</xsl:if>
</xsl:template>
<xsl:template name="bebopClassnames">
<xsl:param name="breadCrumbs" select="1"/>
<xsl:if test="@bebop:classname">
<xsl:variable name="anchor" select="$breadCrumbs"/>
<dt><a id="{$anchor}" href="#back{$anchor}"><xsl:value-of select="$anchor"/></a></dt>
<dd>
<pre>
<xsl:value-of select="@bebop:classname"/>
</pre>
</dd>
</xsl:if>
<xsl:for-each select="*">
<xsl:call-template name="bebopClassnames">
<xsl:with-param name="breadCrumbs" select="concat($breadCrumbs, '.', count(preceding-sibling::*) + 1)"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,160 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ui="http://www.arsdigita.com/ui/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
<xsl:import href="../../bebop/xsl/dcp.xsl"/>
<xsl:output method="html" indent="yes"/>
<xsl:param name="context-prefix"/>
<xsl:template name="ui:simplePage" match="bebop:page[@class='simplePage']" >
<html>
<head>
<title><xsl:call-template name="bebop:pageTitle"/></title>
<xsl:call-template name="bebop:pageCSS"/>
</head>
<body>
<xsl:call-template name="bebop:dcpJavascript"/>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<xsl:apply-templates select="*[@metadata.tag='top']"/>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td bgcolor="#878175">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="1"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<div class="page-title">
<xsl:call-template name="bebop:pageTitle"/>
</div>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<xsl:apply-templates select="*[@metadata.tag='left']"/>
</td>
<td>
<xsl:apply-templates select="*[not(@metadata.tag)]"/>
</td>
<td>
<xsl:apply-templates select="*[@metadata.tag='right']"/>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="4"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td bgcolor="#878175">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td height="1"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<xsl:apply-templates select="*[@metadata.tag='bottom']"/>
</td>
</tr>
</table>
<xsl:apply-templates select="bebop:structure"/>
</body>
</html>
</xsl:template>
<xsl:template match="bebop:tabbedPane[@id='page-body']">
<div class="tabbed-pane">
<table class="tab-set">
<tr>
<xsl:for-each select="bebop:tabStrip/bebop:tab">
<xsl:choose>
<xsl:when test="@current">
<td class="current-tab-label"><xsl:apply-templates/></td>
<td class="current-tab-end"/>
</xsl:when>
<xsl:otherwise>
<td class="tab-label"><a href="{@href}"><xsl:apply-templates/></a></td>
<td class="tab-end"/>
</xsl:otherwise>
</xsl:choose>
<td class="tab-spacer"/>
</xsl:for-each>
</tr>
</table>
<table class="rule">
<tr><td></td></tr>
</table>
</div>
<div class="current-pane">
<xsl:apply-templates select="bebop:currentPane/*"/>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ui="http://www.arsdigita.com/ui/1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template name="ui:siteBanner" match="ui:siteBanner" >
<div style="text-align: right; font-size: smaller">
If you encounter any problems using
<a>
<xsl:attribute name="href">http://<xsl:value-of select="@hostname"/>/</xsl:attribute>
<xsl:value-of select="@sitename"/></a>
please contact the
<a><xsl:attribute name="href">mailto:<xsl:value-of select="@admin"/></xsl:attribute>
site administrator</a>.
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<!--
A convenient collection of UI XSL templates
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:ui="http://www.arsdigita.com/ui/1.0">
<!-- templates for each component -->
<xsl:import href="simple-page.xsl"/>
<xsl:import href="site-banner.xsl"/>
<xsl:import href="user-banner.xsl"/>
<xsl:import href="debug-panel.xsl"/>
</xsl:stylesheet>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Having this output method=xml here is really unhelpful.
If the document is being output as HTML and you include this file
suddenly your HTML changes to XHTML halfway down the page which causes
all sorts of problems. Tom Broxton for Runtime Collective 20040610 -->
<xsl:output method="xml" indent="yes" encoding="iso-8859-1"/>
<!-- ISO-8859-1 based URL-encoding demo
Written by Mike J. Brown, mike@skew.org.
Updated 2002-05-20.
No license; use freely, but credit me if reproducing in print.
Also see http://skew.org/xml/misc/URI-i18n/ for a discussion of
non-ASCII characters in URIs.
-->
<!-- Characters we'll support.
We could add control chars 0-31 and 127-159, but we won't. -->
<xsl:variable name="ascii"> !"#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</xsl:variable>
<xsl:variable name="latin1">&#160;&#161;&#162;&#163;&#164;&#165;&#166;&#167;&#168;&#169;&#170;&#171;&#172;&#173;&#174;&#175;&#176;&#177;&#178;&#179;&#180;&#181;&#182;&#183;&#184;&#185;&#186;&#187;&#188;&#189;&#190;&#191;&#192;&#193;&#194;&#195;&#196;&#197;&#198;&#199;&#200;&#201;&#202;&#203;&#204;&#205;&#206;&#207;&#208;&#209;&#210;&#211;&#212;&#213;&#214;&#215;&#216;&#217;&#218;&#219;&#220;&#221;&#222;&#223;&#224;&#225;&#226;&#227;&#228;&#229;&#230;&#231;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#240;&#241;&#242;&#243;&#244;&#245;&#246;&#247;&#248;&#249;&#250;&#251;&#252;&#253;&#254;&#255;</xsl:variable>
<!-- Characters that usually don't need to be escaped -->
<xsl:variable name="safe">!'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~</xsl:variable>
<xsl:variable name="hex" >0123456789ABCDEF</xsl:variable>
<xsl:template name="url-encode">
<xsl:param name="str"/>
<xsl:if test="$str">
<xsl:variable name="first-char" select="substring($str,1,1)"/>
<xsl:choose>
<xsl:when test="contains($safe,$first-char)">
<xsl:value-of select="$first-char"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="codepoint">
<xsl:choose>
<xsl:when test="contains($ascii,$first-char)">
<xsl:value-of select="string-length(substring-before($ascii,$first-char)) + 32"/>
</xsl:when>
<xsl:when test="contains($latin1,$first-char)">
<xsl:value-of select="string-length(substring-before($latin1,$first-char)) + 160"/>
</xsl:when>
<xsl:otherwise>
<xsl:message terminate="no">Warning: string contains a character that is out of range! Substituting "?".</xsl:message>
<xsl:text>63</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="hex-digit1" select="substring($hex,floor($codepoint div 16) + 1,1)"/>
<xsl:variable name="hex-digit2" select="substring($hex,$codepoint mod 16 + 1,1)"/>
<xsl:value-of select="concat('%',$hex-digit1,$hex-digit2)"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="string-length($str) &gt; 1">
<xsl:call-template name="url-encode">
<xsl:with-param name="str" select="substring($str,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,115 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns:ui="http://www.arsdigita.com/ui/1.0">
<xsl:output method="html" indent="yes"/>
<xsl:template name="ui:userBanner" match="ui:userBanner" >
<xsl:choose>
<!-- If a userID is set, then we know user is logged in. If not, -->
<!-- Log in message is presented... -->
<xsl:when test="@userID">
<table class="globalAdminHeader">
<tr>
<!-- Shadow man logo by default -->
<a href="http://www.redhat.com"><td class="globalLogo"></td></a>
<td><xsl:text>&#160;&#160;&#160;&#160;&#160;&#160;</xsl:text></td>
<td style="margin: 0; border: 0; padding: 0;">
<table align="center" style="margin: 0; border: 0; padding: 0;">
<tr>
<td style="margin: 0; color: #3f3f3f; border: 0; padding: 0; padding-right: 18px;">
<xsl:value-of select="@greeting"/>
<xsl:text>&#160;</xsl:text>
<strong><xsl:value-of select="@givenName"/>
<xsl:text>&#160;</xsl:text>
<xsl:value-of select="@familyName"/>
</strong>
</td>
</tr>
</table>
</td>
<td style="margin: 0; border: 0; padding: 0;">
<table align="right" style="margin: 0; border: 0; padding: 0;">
<tr>
<!-- Help going away for now, but retaining code -->
<!-- <td class="global-link-icon">
<a href="/assets/help/toc_main.html"><img src="/assets/lifesaver.png" height="18" width="21"/></a>
</td>
<td class="global-link">
<a href="/assets/help/toc_main.html">
<xsl:value-of select="@helpLabel"/>
</a>
</td>
-->
<td class="global-link-icon">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@workspaceURL"/>
</xsl:attribute>
<img src="/assets/home.png" height="18" width="18"/>
</a>
</td>
<td class="global-link">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@workspaceURL"/>
</xsl:attribute>
<xsl:value-of select="@portalLabel"/>
</a>
</td>
<td class="global-link-icon">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@logoutURL"/>
</xsl:attribute>
<img src="/assets/lock.png" height="18" width="14"/>
</a>
</td>
<td class="global-link">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@logoutURL"/>
</xsl:attribute>
<xsl:value-of select="@signoutLabel"/>
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:when>
<xsl:otherwise>
<table class="globalAdminHeader">
<tr>
<!-- Shadow man logo by default -->
<a href="http://www.redhat.com"><td class="globalLogo"></td></a>
<td><xsl:text>&#160;&#160;&#160;&#160;&#160;&#160;</xsl:text></td>
<td style="margin: 0; border: 0; padding: 0;">
<table align="center" style="margin: 0; border: 0; padding: 0;">
<tr>
<td style="margin: 0; color: #3f3f3f; border: 0; padding: 0; padding-right: 18px;">
You are not currently logged in
</td>
</tr>
</table>
</td>
<td style="font-size: smaller; text-align: right">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@loginURL"/>
</xsl:attribute>
Login
</a>
</td>
</tr>
</table>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,4 @@
<hr size="1" width="67%" align="center" noshade>
<p align="right"><%= new java.util.Date() %>
</body>
</html>

View File

@ -0,0 +1,25 @@
<%@ page
import="com.arsdigita.versioning.VersioningServlet.GraphPrinter"
%>
<%@ include file="header.jspf" %>
<h1>Versioning Dependence Graph</h1>
<blockquote><pre class="programlisting">
<%
GraphPrinter printer = (GraphPrinter) request.getAttribute("graphPrinter");
if ( printer == null ) {
throw new ServletException("couldn't find the printer attribute");
}
printer.setWriter(out);
printer.printGraph();
%>
</pre></blockquote>
<div align="center">
<a href="main">Main</a>
</div>
<%@ include file="footer.jspf" %>

View File

@ -0,0 +1,6 @@
<html>
<head>
<title><%= (String) request.getAttribute("title") %></title>
<link href="/packages/versioning/vlog.css" rel="stylesheet" type="text/css"/>
</head>
<body>

View File

@ -0,0 +1,56 @@
<%@ page
import="com.arsdigita.versioning.VersioningServlet.VersionedObjects,
com.arsdigita.persistence.OID,
java.net.URLEncoder"
%>
<%@ include file="header.jspf" %>
<form action="main" method="GET">
<span>Object type: <input type="text" name="objectType" maxlength="40"> </span>
<span><input type="submit" name="search" value=" Search ">
<input type="hidden" name="cmd" value="typeSearch">
</form>
<%
VersionedObjects oids = (VersionedObjects) request.getAttribute("versionedObjects");
if ( oids!= null && oids.size() > 0 ) {
%>
<h1>OIDs</h1>
<%
}
%>
<table border="1" cellpadding="2" cellspacing="0" align="center" width="80%">
<tr>
<th>Data Object</th>
<th colspan="2">Show Txns</th>
</tr>
<%
if ( oids != null ) {
while ( oids.hasNext() ) {
String serOID = (String) oids.next();
String strOID = oids.getOID().toString();
String encoded = URLEncoder.encode(serOID);
String href = "txns?cmd=showTxns&amp;oid=" + encoded;
String taggedHref = href + "&amp;tagged=yes";
%>
<tr>
<td><%= strOID %></a></td>
<td><a href="<%= href %>">affecting</a></td>
<td><a href="<%= taggedHref %>">tagged</a></td>
</tr>
<%
}
}
%>
</table>
<div align="center">
<a href="graph?cmd=graph&amp;graphType=versioning">Versioning Dependency Graph</a>
</div>
<%@ include file="footer.jspf" %>

View File

@ -0,0 +1,31 @@
<%@ page
autoFlush="true"
contentType="text/plain"
import="com.arsdigita.versioning.VersioningServlet.RollbackLogger,
com.arsdigita.persistence.OID,
com.arsdigita.util.AssertionError,
java.io.IOException,
java.io.PrintWriter,
java.math.BigInteger"
%>
<%
RollbackLogger rbl = (RollbackLogger) request.getAttribute("logger");
if ( rbl == null ) {
throw new ServletException("couldn't find the logger attribute");
}
%>
Rolling back <%= rbl.getOID() %> to txnID=<%= rbl.getTxnID() %>
<%
rbl.setWriter(out);
try {
rbl.rollback();
} catch (RuntimeException ex) {
rbl.printException(ex);
} catch (AssertionError er) {
rbl.printException(er);
}
%>

View File

@ -0,0 +1,50 @@
<%@ page
import="com.arsdigita.versioning.Tag,
com.arsdigita.versioning.Transaction,
com.arsdigita.versioning.TransactionCollection,
com.arsdigita.persistence.OID,
com.arsdigita.developersupport.Debug,
java.math.BigInteger,
java.util.Date"
%>
<%@ include file="header.jspf" %>
<%
TransactionCollection txnColl =
(TransactionCollection) request.getAttribute("txns");
if ( txnColl == null ) {
throw new ServletException("couldn't find the txns attribute");
}
OID oid = (OID) request.getAttribute("oid");
if ( oid == null ) {
throw new ServletException("couldn't find the oid attribute");
}
String encodedOID = (String) request.getAttribute("encodedOID");
%>
<h1>Txns for <%= oid.toString() %></h1>
<table border="1" cellpadding="2" cellspacing="0" align="center" width="80%">
<%
while ( txnColl.next() ) {
Transaction txn = txnColl.getTransaction();
BigInteger id = txn.getID();
String strID = id.toString();
Date date = txn.getTimestamp();
String strDate = String.valueOf(date);
String href = "rollback?cmd=rollback&amp;txnID=" + id + "&amp;oid=" + encodedOID;
%>
<tr>
<td><a href="<%= href %>"><%= id %></a></td>
<td><%= date %></td>
</tr>
<%
}
%>
</table>
<%@ include file="footer.jspf" %>

View File

@ -0,0 +1,60 @@
body {
background: white;
color: black;
margin-left: 3%;
margin-right: 3%;
}
td {
padding-left: 8px;
margin-top: 0px;
margin-bottom: 0px;
font-family: arial, helvetica;
font-size: x-small;
}
p {
font-family: georgia, arial, helvetica;
font-size: x-small;
}
th {
font-family: arial, helvetica;
text-align: left;
padding-left: 8px;
font-size: x-small;
background-color: #878175;
color: white;
}
h1 {
font-family: arial, helvetica;
font-weight: bold;
margin-bottom: 4px;
}
h2 {
font-family: arial, helvetica;
font-size: small;
font-weight: bold;
margin-bottom: 4px;
margin-top: 4px;
}
pre {
display: block;
font-family: monospace;
white-space: pre;
margin: 0%;
padding-top: 0.5ex;
padding-bottom: 0.5ex;
padding-left: 1ex;
padding-right: 1ex;
width: 100%;
}
pre.programlisting {
background: WhiteSmoke;
color: black;
border: 1px solid black;
}

View File

@ -0,0 +1,5 @@
Place holder file to make sure the directory is created and copied with the
appropriate permissions.
Heirloom, a container for the built-in theme of the previous Red Hat CCM.
Serves still as a fallback for various newer themes if nothing else is working.

View File

@ -0,0 +1,5 @@
Place holder file to make sure the directory is created and copied with the
appropriate permissions.
Container for all the various themes, each in its own directory or directory
tree, which make up the design and look & feel of a site.

View File

@ -14,7 +14,6 @@ ccm-cms-assets-relatedlink
# -- ccm-cms-types-address # -- ccm-cms-types-address
ccm-cms-types-article ccm-cms-types-article
ccm-cms-types-bookmark ccm-cms-types-bookmark
ccm-cms-types-contact
ccm-cms-types-event ccm-cms-types-event
ccm-cms-types-faqitem ccm-cms-types-faqitem
ccm-cms-types-filestorageitem ccm-cms-types-filestorageitem
@ -23,11 +22,13 @@ ccm-cms-types-formsectionitem
ccm-cms-types-glossaryitem ccm-cms-types-glossaryitem
ccm-cms-types-mparticle ccm-cms-types-mparticle
ccm-cms-types-newsitem ccm-cms-types-newsitem
ccm-cms-types-simpleaddress
# Applications # Applications
# -- ccm-docmgr # -- ccm-docmgr
ccm-forum ccm-forum
ccm-forum-categorised ccm-forum-categorised
ccm-themedirector
ccm-user-preferences ccm-user-preferences
# LDN extensions # LDN extensions
@ -38,7 +39,6 @@ ccm-ldn-search
ccm-ldn-shortcuts ccm-ldn-shortcuts
ccm-ldn-subsite ccm-ldn-subsite
ccm-ldn-terms ccm-ldn-terms
ccm-ldn-theme
ccm-ldn-util ccm-ldn-util
# integration layer app # integration layer app

View File

@ -96,10 +96,10 @@ com.arsdigita.london.search.show_sponsored_links=true
com.arsdigita.london.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker com.arsdigita.london.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
com.arsdigita.london.theme.default_theme_context= themedirector.default_theme_context=
com.arsdigita.london.theme.default_theme_manifest=ccm-gen-aplaws.web.mf themedirector.default_theme_manifest=ccm-gen-aplaws.web.mf
com.arsdigita.london.theme.default_theme_path=__ccm__/themes/aplaws-generic themedirector.default_theme_path=__ccm__/themes/aplaws-generic
com.arsdigita.london.theme.file_extensions=bmp css gif jpeg jpg js png xml xsl themedirector.file_extensions=bmp css gif jpeg jpg js png xml xsl
# com.arsdigita.london.cms.dublin.audience_domain=LGAL # com.arsdigita.london.cms.dublin.audience_domain=LGAL

View File

@ -41,6 +41,9 @@ ccm-ldn-terms
ccm-ldn-theme ccm-ldn-theme
ccm-ldn-util ccm-ldn-util
# sci extensions
# --------------
ccm-sci-publications
# integration layer app # integration layer app
ccm-gen-aplaws ccm-gen-aplaws

View File

@ -35,3 +35,7 @@ http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::ur
# Global default, from application's own web app # Global default, from application's own web app
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::locale::.xsl http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::locale::.xsl
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::.xsl http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::.xsl
# Global default, from application's own web app - relocated version >= 6.6.1
http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl
http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::.xsl

View File

@ -1 +0,0 @@
@@ default/default-theme.sql

View File

@ -1 +0,0 @@
@@ ../oracle-se/upgrade/6.3.0-6.3.1/add-is_deleted.sql

View File

@ -1,3 +0,0 @@
begin;
\i default/default-theme.sql
commit;

View File

@ -1 +0,0 @@
\i ../postgres/upgrade/1.0.1-1.0.2/date-to-timestamptz.sql

View File

@ -1,5 +0,0 @@
begin;
\i ../postgres/upgrade/6.3.0-6.3.1/add-is_deleted.sql
commit;

Some files were not shown because too many files have changed in this diff Show More