From: <die...@us...> - 2010-05-18 06:49:51
|
Revision: 2463 http://openutils.svn.sourceforge.net/openutils/?rev=2463&view=rev Author: diego_schivo Date: 2010-05-18 06:49:43 +0000 (Tue, 18 May 2010) Log Message: ----------- openutils-mgnlexpressions Modified Paths: -------------- trunk/magnolia-test-webapp/pom.xml trunk/pom.xml Added Paths: ----------- trunk/openutils-mgnlexpressions/ trunk/openutils-mgnlexpressions/pom.xml trunk/openutils-mgnlexpressions/src/ trunk/openutils-mgnlexpressions/src/main/ trunk/openutils-mgnlexpressions/src/main/java/ trunk/openutils-mgnlexpressions/src/main/java/net/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ExpressionDialog.java trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ExpressionsElFunctions.java trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ExpressionsModule.java trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ExpressionsModuleVersionHandler.java trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/SamplesExtractionTask.java trunk/openutils-mgnlexpressions/src/main/resources/ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/expressions.xml trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/mgnlexpressions.tld trunk/openutils-mgnlexpressions/src/main/resources/dialog/ trunk/openutils-mgnlexpressions/src/main/resources/dialog/expression.ftl trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.controls.expression.xml trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.dialogs.samples-expression.xml trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.paragraphs.samples-expression.xml trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.templates.sampleExpressions.xml trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/website.sample-expressions.xml trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/paragraph-expression.jsp trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/template.jsp trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ExpressionField.config.js trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/elvalidate.gif trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/expression.gif trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/fckplugin.js trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/lang/ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/lang/en.js Modified: trunk/magnolia-test-webapp/pom.xml =================================================================== --- trunk/magnolia-test-webapp/pom.xml 2010-05-17 15:41:48 UTC (rev 2462) +++ trunk/magnolia-test-webapp/pom.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -194,6 +194,11 @@ <artifactId>openutils-elfunctions</artifactId> <version>1.1.2-SNAPSHOT</version> </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlexpressions</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> </dependencies> <dependencyManagement> <dependencies> Added: trunk/openutils-mgnlexpressions/pom.xml =================================================================== --- trunk/openutils-mgnlexpressions/pom.xml (rev 0) +++ trunk/openutils-mgnlexpressions/pom.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-parent</artifactId> + <version>1.4</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <packaging>jar</packaging> + <artifactId>openutils-mgnlexpressions</artifactId> + <name>Magnolia expressions module</name> + <version>0.0.1-SNAPSHOT</version> + <description>A magnolia module for evaluating jsp expressions at request time</description> + <licenses> + <license> + <name>GPLv3</name> + <url>http://www.gnu.org/licenses/gpl-3.0.txt</url> + </license> + </licenses> + <url>http://www.openmindlab.com/lab/products/mgnlexpressions.html</url> + <issueManagement> + <system>jira</system> + <url>http://jira.openmindlab.com/browse/EXPRESSIONS</url> + </issueManagement> + <inceptionYear>2010</inceptionYear> + <scm> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlexpressions</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlexpressions</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlexpressions</url> + </scm> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>bundle</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + <configuration> + <descriptors> + <descriptor>/src/main/assembly/assembly-bundle.xml</descriptor> + </descriptors> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <useManifestOnlyJar>false</useManifestOnlyJar> + </configuration> + </plugin> + </plugins> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + </resource> + <resource> + <filtering>true</filtering> + <directory>src/main/resources</directory> + <includes> + <include>META-INF/magnolia/*</include> + </includes> + </resource> + </resources> + </build> + <dependencies> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-core</artifactId> + <version>${magnolia.version}</version> + <exclusions> + <exclusion> + <groupId>servlets.com</groupId> + <artifactId>cos</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-module-admininterface</artifactId> + <version>${magnolia.version}</version> + <exclusions> + <exclusion> + <groupId>servlets.com</groupId> + <artifactId>cos</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlcontrols</artifactId> + <version>4.0.6</version> + </dependency> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-core</artifactId> + <classifier>tests</classifier> + <scope>test</scope> + <version>${magnolia.version}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.4</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>jsp-api</artifactId> + <version>2.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + <scope>test</scope> + </dependency> + </dependencies> + <repositories> + <repository> + <id>repository.magnolia-cms.com</id> + <name>magnolia repository</name> + <url>http://repository.magnolia-cms.com/m2</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + <properties> + <magnolia.version>4.3.1</magnolia.version> + </properties> +</project> \ No newline at end of file Property changes on: trunk/openutils-mgnlexpressions/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ExpressionDialog.java =================================================================== --- trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ExpressionDialog.java (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ExpressionDialog.java 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,41 @@ +/** + * + * Magnolia SimpleMedia Module (http://www.openmindlab.com/lab/products/media.html) + * Copyright (C)2008 - 2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlexpressions.dialog; + +import net.sourceforge.openutils.mgnlcontrols.dialog.ConfigurableFreemarkerDialog; + + +/** + * @author dschivo + * @version $Id$ + */ +public class ExpressionDialog extends ConfigurableFreemarkerDialog +{ + + /** + * {@inheritDoc} + */ + @Override + protected String getPath() + { + return "dialog/expression.ftl"; + } + +} Property changes on: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/dialog/ExpressionDialog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ExpressionsElFunctions.java =================================================================== --- trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ExpressionsElFunctions.java (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ExpressionsElFunctions.java 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,74 @@ +/** + * + * Magnolia SimpleMedia Module (http://www.openmindlab.com/lab/products/media.html) + * Copyright (C)2008 - 2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlexpressions.el; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.PageContext; + +import org.apache.commons.lang.StringUtils; +import org.apache.taglibs.standard.lang.jstl.Evaluator; +import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * @author dschivo + * @version $Id$ + */ +public class ExpressionsElFunctions +{ + + /** + * Logger. + */ + private static Logger log = LoggerFactory.getLogger(ExpressionsElFunctions.class); + + private static Map<String, Method> EL_FUNCTIONS; + + static + { + EL_FUNCTIONS = new HashMap<String, Method>(); + try + { + EL_FUNCTIONS.put("mexpr:upperCase", StringUtils.class.getMethod("upperCase", String.class)); + } + catch (SecurityException e) + { + log.error(e.getMessage(), e); + } + catch (NoSuchMethodException e) + { + log.error(e.getMessage(), e); + } + } + + public static Object evaluate(String expression, PageContext pageContext) throws JspException + { + Evaluator evaluator = (Evaluator) ExpressionEvaluatorManager + .getEvaluatorByName(ExpressionEvaluatorManager.EVALUATOR_CLASS); + return evaluator.evaluate(null, expression, Boolean.class, null, pageContext, EL_FUNCTIONS, "mexpr"); + } + +} Property changes on: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/el/ExpressionsElFunctions.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ExpressionsModule.java =================================================================== --- trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ExpressionsModule.java (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ExpressionsModule.java 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,60 @@ +/** + * + * Magnolia SimpleMedia Module (http://www.openmindlab.com/lab/products/media.html) + * Copyright (C)2008 - 2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlexpressions.module; + +import info.magnolia.module.ModuleLifecycle; +import info.magnolia.module.ModuleLifecycleContext; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * @author dschivo + * @version $Id$ + */ +public class ExpressionsModule implements ModuleLifecycle +{ + + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(ExpressionsModule.class); + + /** + * {@inheritDoc} + */ + public void start(ModuleLifecycleContext moduleLifecycleContext) + { + log.info("Starting module expressions"); + + // Enable support for EL functions in expression editor + System.setProperty("javax.servlet.jsp.functions.allowed", "true"); + } + + /** + * {@inheritDoc} + */ + public void stop(ModuleLifecycleContext moduleLifecycleContext) + { + log.info("Stopping module expressions"); + } + +} Property changes on: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/module/ExpressionsModule.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ExpressionsModuleVersionHandler.java =================================================================== --- trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ExpressionsModuleVersionHandler.java (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ExpressionsModuleVersionHandler.java 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,53 @@ +/** + * + * Magnolia SimpleMedia Module (http://www.openmindlab.com/lab/products/media.html) + * Copyright (C)2008 - 2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlexpressions.setup; + +import info.magnolia.cms.core.SystemProperty; +import info.magnolia.module.InstallContext; +import info.magnolia.module.delta.Task; +import it.openutils.mgnltasks.SimpleModuleVersionHandler; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @author dschivo + * @version $Id$ + */ +public class ExpressionsModuleVersionHandler extends SimpleModuleVersionHandler +{ + + /** + * {@inheritDoc} + */ + @Override + protected List<Task> getStartupTasks(InstallContext installContext) + { + List<Task> tasks = new ArrayList<Task>(); + + if (SystemProperty.getBooleanProperty(SystemProperty.MAGNOLIA_BOOTSTRAP_SAMPLES)) + { + tasks.add(new SamplesExtractionTask()); + } + + return tasks; + } +} Property changes on: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/ExpressionsModuleVersionHandler.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/SamplesExtractionTask.java =================================================================== --- trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/SamplesExtractionTask.java (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/SamplesExtractionTask.java 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,90 @@ +/** + * + * Magnolia SimpleMedia Module (http://www.openmindlab.com/lab/products/media.html) + * Copyright (C)2008 - 2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlexpressions.setup; + +import info.magnolia.cms.core.HierarchyManager; +import info.magnolia.cms.core.Path; +import info.magnolia.module.InstallContext; +import info.magnolia.module.delta.AbstractTask; +import info.magnolia.module.delta.TaskExecutionException; +import info.magnolia.module.files.FileExtractionLogger; +import info.magnolia.module.files.FileExtractor; +import info.magnolia.module.files.MD5CheckingFileExtractor; + +import java.io.IOException; + +import org.apache.commons.lang.StringUtils; + + +/** + * Extract samples files to webapp root. + * @author fgiust + */ +public class SamplesExtractionTask extends AbstractTask +{ + + public SamplesExtractionTask() + { + super("Samples extraction", "Extracts jsp files for samples."); + } + + /** + * {@inheritDoc} + */ + public void execute(final InstallContext ctx) throws TaskExecutionException + { + final HierarchyManager hm = ctx.getConfigHierarchyManager(); + final MD5CheckingFileExtractor extractor = new MD5CheckingFileExtractor(new FileExtractionLogger() + { + + public void error(String message) + { + ctx.warn(message); + } + }, hm); + try + { + extractor.extractFiles(new FileExtractor.Transformer() + { + + public String accept(String resourcePath) + { + final boolean thisIsAFileWeWant = resourcePath.startsWith("/mgnl-files/") + && StringUtils.contains(resourcePath, "/samples-expressions/"); + if (!thisIsAFileWeWant) + { + return null; + } + final String relTargetPath = StringUtils.removeStart(resourcePath, "/mgnl-files/"); + return Path.getAbsoluteFileSystemPath(relTargetPath); + } + + }); + } + catch (IOException e) + { + throw new TaskExecutionException("Could not extract files for module " + + ctx.getCurrentModuleDefinition() + + ": " + + e.getMessage(), e); + } + } + +} Property changes on: trunk/openutils-mgnlexpressions/src/main/java/net/sourceforge/openutils/mgnlexpressions/setup/SamplesExtractionTask.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/expressions.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/expressions.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/expressions.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE module SYSTEM "module.dtd"> +<module> + <name>expressions</name> + <displayName>expressions</displayName> + <description>Openutils - Magnolia Expressions Library</description> + <class>net.sourceforge.openutils.mgnlexpressions.module.ExpressionsModule</class> + <versionHandler>net.sourceforge.openutils.mgnlexpressions.setup.ExpressionsModuleVersionHandler</versionHandler> + <version>${project.version}</version> +</module> \ No newline at end of file Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/META-INF/magnolia/expressions.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/mgnlexpressions.tld =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/mgnlexpressions.tld (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/mgnlexpressions.tld 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,14 @@ +<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + version="2.0"> + <description>Magnolia expressions Tags and EL functions</description> + <display-name>Magnolia expressions Tags and EL functions</display-name> + <tlib-version>1.0</tlib-version> + <short-name>mexpr</short-name> + <uri>mgnlexpressions</uri> + <function> + <name>evaluate</name> + <function-class>net.sourceforge.openutils.mgnlexpressions.el.ExpressionsElFunctions</function-class> + <function-signature>java.lang.Object evaluate(java.lang.String, javax.servlet.jsp.PageContext)</function-signature> + </function> +</taglib> \ No newline at end of file Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/META-INF/tld/mgnlexpressions.tld ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/dialog/expression.ftl =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/dialog/expression.ftl (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/dialog/expression.ftl 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,37 @@ +[#assign key = uuid?replace("-", "")] + +[#if !alreadyrendered] + <script type="text/javascript" src="${request.contextPath}/.resources/fckeditor/fckeditor.js"></script> + + <script type="text/javascript"> +function FCKeditor_OnComplete(oEditor){ + oEditor.Events.AttachEvent('OnAfterLinkedFieldUpdate', doLinkedFieldUpdate${key}); +} + </script> +[/#if] + + <script type="text/javascript"> +var sBasePath = '${request.contextPath}/.resources/fckeditor/'; +var oFCKeditor = new FCKeditor('${name}'); +oFCKeditor.BasePath = sBasePath; +oFCKeditor.Config['CustomConfigurationsPath'] = '${request.contextPath}/.resources/expressions/js/ExpressionField.config.js'; +oFCKeditor.Config['EnterMode'] = 'br'; +oFCKeditor.Config['ShiftEnterMode'] = 'br'; +oFCKeditor.ToolbarSet = 'Expression'; +oFCKeditor.Height = 200; +oFCKeditor.Value = "${value?html}"; +oFCKeditor.Create(); + +function doLinkedFieldUpdate${key}(oEditor) { + var oDOM = oEditor.EditorDocument; + var value; + if (document.all){ + value = oDOM.body.innerText; + } else { + var r = oDOM.createRange(); + r.selectNodeContents(oDOM.body); + value = r.toString(); + } + oEditor.LinkedField.value = value ; +} + </script> Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.controls.expression.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.controls.expression.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.controls.expression.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="expression" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>a52c6261-148c-4d86-a3ba-0ba7d955f203</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlexpressions.dialog.ExpressionDialog</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-01-12T18:12:19.468+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:42:10.997+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.controls.expression.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.dialogs.samples-expression.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.dialogs.samples-expression.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.dialogs.samples-expression.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="samples-expression" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>9d81e7ea-aa9f-4f6d-93ad-f256448d8934</sv:value> + </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnltestwebapp.lang.messages</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:Data" sv:type="String"> + <sv:value>MetaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="String"> + <sv:value>2004-11-02T15:34:43.213+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-04-28T23:43:10.557+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:28:59.221+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:title" sv:type="String"> + <sv:value/> + </sv:property> + </sv:node> + <sv:node sv:name="tabExpression"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>f12c70da-4b71-421c-a047-053006771028</sv:value> + </sv:property> + <sv:property sv:name="controlType" sv:type="String"> + <sv:value>tab</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="label" sv:type="String"> + <sv:value>Expression</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:Data" sv:type="String"> + <sv:value>MetaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="String"> + <sv:value>2004-11-02T15:34:29.217+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-06-19T14:49:08.436+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:29:14.471+02:00</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="expression"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>1f75840f-078c-465f-b2cc-c97f2f0aa1e4</sv:value> + </sv:property> + <sv:property sv:name="controlType" sv:type="String"> + <sv:value>expression</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="label" sv:type="String"> + <sv:value>Expression</sv:value> + </sv:property> + <sv:property sv:name="type" sv:type="String"> + <sv:value>String</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:Data" sv:type="String"> + <sv:value>MetaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="String"> + <sv:value>2004-11-02T15:34:29.357+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-07T14:56:33.437+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:29:36.003+02:00</sv:value> + </sv:property> + </sv:node> + </sv:node> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.dialogs.samples-expression.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.paragraphs.samples-expression.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.paragraphs.samples-expression.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.paragraphs.samples-expression.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="samples-expression" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>c5df50f9-8fa2-40f7-8924-dde615945122</sv:value> + </sv:property> + <sv:property sv:name="description" sv:type="String"> + <sv:value>Sample expression paragraph</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="templatePath" sv:type="String"> + <sv:value>/templates/samples-expressions/paragraph-expression.jsp</sv:value> + </sv:property> + <sv:property sv:name="title" sv:type="String"> + <sv:value>Expression sample</sv:value> + </sv:property> + <sv:property sv:name="type" sv:type="String"> + <sv:value>jsp</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-09-25T12:45:26.721+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:31:52.770+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.paragraphs.samples-expression.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.templates.sampleExpressions.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.templates.sampleExpressions.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.templates.sampleExpressions.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="sampleExpressions" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>18983ea3-5ac4-466b-87d7-9125923b2224</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="templatePath" sv:type="String"> + <sv:value>/templates/samples-expressions/template.jsp</sv:value> + </sv:property> + <sv:property sv:name="title" sv:type="String"> + <sv:value>Expressions sample template</sv:value> + </sv:property> + <sv:property sv:name="type" sv:type="String"> + <sv:value>jsp</sv:value> + </sv:property> + <sv:property sv:name="visible" sv:type="String"> + <sv:value>true</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-09-23T16:56:46.344+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T17:32:00.676+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/config.modules.expressions.templates.sampleExpressions.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/website.sample-expressions.xml =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/website.sample-expressions.xml (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/website.sample-expressions.xml 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="sample-expressions" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:content</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>c2495294-96b7-4452-80b8-f9aeac4aa8f9</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="title" sv:type="String"> + <sv:value>Expressions sample</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-05-17T17:33:59.147+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T18:26:25.811+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:template" sv:type="String"> + <sv:value>sampleExpressions</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="main"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>217ca3e4-fbe5-48e0-919d-effa203d0775</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-05-17T17:49:39.831+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T18:26:25.811+02:00</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="0"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>2f3cf9b8-b8e6-4bde-bac5-5e51328c36f3</sv:value> + </sv:property> + <sv:property sv:name="expression" sv:type="String"> + <sv:value>${'hello' eq 'world'}</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-05-17T17:49:39.831+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-05-17T18:26:25.811+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:template" sv:type="String"> + <sv:value>samples-expression</sv:value> + </sv:property> + </sv:node> + </sv:node> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-bootstrap/expressions/website.sample-expressions.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/paragraph-expression.jsp =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/paragraph-expression.jsp (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/paragraph-expression.jsp 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,9 @@ +<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:cms="urn:jsptld:cms-taglib" + xmlns:c="urn:jsptld:http://java.sun.com/jsp/jstl/core" xmlns:fmt="urn:jsptld:http://java.sun.com/jsp/jstl/fmt" + xmlns:fn="urn:jsptld:http://java.sun.com/jsp/jstl/functions" xmlns:cmsu="urn:jsptld:cms-util-taglib" + xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld" xmlns:media="http://net.sourceforge.openutils/mgnlMedia" + xmlns:mu="mgnlutils" xmlns:mexpr="mgnlexpressions"> + <jsp:directive.page contentType="text/html; charset=UTF-8" session="false" /> + <cms:setNode var="node" /> + <p>${node.expression} = ${mexpr:evaluate(node.expression, pageContext)}</p> +</jsp:root> \ No newline at end of file Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/paragraph-expression.jsp ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/template.jsp =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/template.jsp (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/template.jsp 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,25 @@ +<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" + xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:cms="urn:jsptld:cms-taglib" + xmlns:cmsu="urn:jsptld:cms-util-taglib" xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld" + xmlns:media="http://net.sourceforge.openutils/mgnlMedia"> + <jsp:directive.page contentType="text/html; charset=UTF-8" session="false" /> + <jsp:text> + <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ]]> + </jsp:text> + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>${actpage.title}</title> + <cms:links /> + </head> + <body> + <h1>${actpage.title}</h1> + + <cms:contentNodeIterator contentNodeCollectionName="main"> + <cms:editBar /> + <cms:includeTemplate /> + </cms:contentNodeIterator> + <cms:newBar contentNodeCollectionName="main" paragraph="samples-expression" /> + </body> + </html> +</jsp:root> \ No newline at end of file Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-files/templates/templates-expressions/template.jsp ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ExpressionField.config.js =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ExpressionField.config.js (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ExpressionField.config.js 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,5 @@ +FCKConfig.ToolbarSets['Expression'] = [ + ['Expression', 'ArithmeticOperator', 'LogicalOperator', 'UnaryOperator', 'RelationalOperator', 'ELValidate'] +]; + +FCKConfig.Plugins.Add('expression', 'en', '../../../.resources/expressions/js/fckeditor-plugins/'); Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/ExpressionField.config.js ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/elvalidate.gif =================================================================== (Binary files differ) Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/elvalidate.gif ___________________________________________________________________ Added: svn:mime-type + image/gif Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/expression.gif =================================================================== (Binary files differ) Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/expression.gif ___________________________________________________________________ Added: svn:mime-type + image/gif Added: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/fckplugin.js =================================================================== --- trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/fckplugin.js (rev 0) +++ trunk/openutils-mgnlexpressions/src/main/resources/mgnl-resources/expressions/js/fckeditor-plugins/expression/fckplugin.js 2010-05-18 06:49:43 UTC (rev 2463) @@ -0,0 +1,144 @@ +var InsertOptionCommand = function(name, options){ + this.Name = name; + this.Options = options; +} + +InsertOptionCommand.prototype = { + Execute: function(optionName){ + FCKUndo.SaveUndoStep(); + FCK.InsertHtml(this.Options[optionName].value); + }, + GetState: function(){ + return FCK_TRISTATE_OFF; + } +}; + +var InsertOptionCombo = function(commandName, label, options){ + this.CommandName = commandName; + this.Label = label; + this.Options = options; + this.Style = FCK_TOOLBARITEM_ONLYTEXT; +} + +InsertOptionCombo.prototype = new FCKToolbarSpecialCombo; + +InsertOptionCombo.prototype.GetLabel = function(){ + return this.Label; +} + +InsertOptionCombo.prototype.CreateItems = function(targetSpecialCombo){ + for (var optionName in this.Options){ + targetSpecialCombo.AddItem(optionName, this.Options[optionName].caption); + } +} + +/* Expression button */ +FCKCommands.RegisterCommand('Expression', new FCKDialogCommand('Expression', FCKLang.ExpressionDlgTitle, FCKPlugins.Items['expression'].Path + '../../../../../.magnolia/pages/expression-picker.html', 640, 300)); +var oExpressionItem = new FCKToolbarButton('Expression', FCKLang.ExpressionBtn); +oExpressionItem.IconPath = FCKPlugins.Items['expression'].Path + 'expression.gif'; +oExpressionItem.Style = FCK_TOOLBARITEM_ICONTEXT; +FCKToolbarItems.RegisterItem('Expression', oExpressionItem); + +/* Arithmetic operators dropdown */ +var arithmeticOperatorOptions = { + 'add': { + caption: '+', + value: ' + ' + }, + 'sub': { + caption: '-', + value: ' - ' + }, + 'mul': { + caption: '*', + value: ' * ' + }, + 'div': { + caption: '/', + value: ' / ' + }, + 'mod': { + caption: '%', + value: ' % ' + } +}; +FCKCommands.RegisterCommand('ArithmeticOperator', new InsertOptionCommand('ArithmeticOperator', arithmeticOperatorOptions)); +FCKToolbarItems.RegisterItem('ArithmeticOperator', new InsertOptionCombo('ArithmeticOperator', 'Arithmetic', arithmeticOperatorOptions)); + +/* Logical operators dropdown */ +var logicalOperatorOptions = { + 'and': { + caption: 'and', + value: ' and ' + }, + 'or': { + caption: 'or', + value: ' or ' + } +}; +FCKCommands.RegisterCommand('LogicalOperator', new InsertOptionCommand('LogicalOperator', logicalOperatorOptions)); +FCKToolbarItems.RegisterItem('LogicalOperator', new InsertOptionCombo('LogicalOperator', 'Logical', logicalOperatorOptions)); + +/* Unary operators dropdown */ +var unaryOperatorOptions = { + 'not': { + caption: 'not', + value: '!' + }, + 'empty': { + caption: 'empty', + value: 'empty ' + } +}; +FCKCommands.RegisterCommand('UnaryOperator', new InsertOptionCommand('UnaryOperator', unaryOperatorOptions)); +FCKToolbarItems.RegisterItem('UnaryOperator', new InsertOptionCombo('UnaryOperator', 'Unary', unaryOperatorOptions)); + +/* Relational operators dropdown */ +var relationalOperatorOptions = { + 'eq': { + caption: '==', + value: ' == ' + }, + 'ne': { + caption: '!=', + value: ' != ' + }, + 'lt': { + caption: '<', + value: ' < ' + }, + 'gt': { + caption: '>', + value: ' > ' + }, + 'le': { + caption: '<=', + value: ' <= ' + }, + 'ge': { + caption: '>=', + value: ' >= ' + } +}; +FCKCommands.RegisterCommand('RelationalOperator', new InsertOptionCommand('RelationalOperator', relationalOperatorOptions)); +FCKToolbarItems.RegisterItem('RelationalOperator', new InsertOptionCombo('RelationalOperator', 'Relational', relationalOperatorOptions)); + +/* EL Validate button */ +var ELValidateCommand = function(name){ + this.Name = name; +} + +ELValidateCommand.prototype = { + Execute: function(optionName){ + alert(this.Name); + }, + GetState: function(){ + return FCK_TRISTATE_OFF; + } +}; + +FCKCommands.RegisterCommand('ELValidate', new FCKDialogCommand('ELValidate', 'EL Validate', FCKPlugins.Items['expression'].Path + '../../../../../.magnolia/pages/el-validate.html', 600, 300)); +var oELValidateItem = new FCKToolbarButton('ELValidate', 'Validate'); +oELValidateItem.IconPath = FCKPlugins.Items['expression'].Path + 'elvalidate.gif'; +oELValidateItem.Style = FCK_TOOLBARITEM_ICONTEXT; +FCKToolbarItems.RegisterItem('ELValidate', oELValidateItem); Property changes on: trunk/openutils-mgnlexpressions/src/main/resources/mgnl-reso... [truncated message content] |