diff options
398 files changed, 1472 insertions, 4972 deletions
@@ -11,3 +11,4 @@ etherpad/src/static/js/cssmanager_client.js etherpad/src/static/js/domline_client.js etherpad/src/static/js/easysync2_client.js etherpad/src/static/js/linestylefilter_client.js +etherpad/*.log diff --git a/build/apt/.gitignore b/build/apt/.gitignore new file mode 100644 index 0000000..50139f0 --- /dev/null +++ b/build/apt/.gitignore @@ -0,0 +1,5 @@ +*~ +.tmp* +.build* +.package* +.revision* diff --git a/build/apt/DEBIAN/control b/build/apt/DEBIAN/control new file mode 100644 index 0000000..0129652 --- /dev/null +++ b/build/apt/DEBIAN/control @@ -0,0 +1,16 @@ +Package: etherpad-%BRANCH% +Priority: optional +Section: web +Maintainer: penSec.IT UG (haftungsbeschränkt) <etherpad@pensec.it> +Architecture: all +Version: 1.0-%REVISION% +Depends: debconf (>= 0.2.17), sun-java6-jre, scala, mysql-server, mysql-client, libmysql-java, bash +Description: Etherpad is... + EtherPad is the only web-based word processor that allows people to work + together in really real-time. + . + When multiple people edit the same document simultaneously, any changes are + instantly reflected on everyone's screen. The result is a new and productive + way to collaborate on text documents, useful for meeting notes, drafting + sessions, education, team programming, and more. + diff --git a/build/apt/DEBIAN/postinst b/build/apt/DEBIAN/postinst new file mode 100755 index 0000000..f872508 --- /dev/null +++ b/build/apt/DEBIAN/postinst @@ -0,0 +1,143 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +set -e +. /usr/share/debconf/confmodule + +if [ -n "$ETHERPAD_DEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +db_version 2.0 + + + + + +##### +# +# Propts the user for a configuration value and writes it into a property file +# +# @param $1 Name of the debconfig template to prompt +# @param $2 File to write the answer to +# @param $3 deprecated +# +function configuration_property() { + TEMPLATE="${1}" + PROPERTY_FILE="/etc/etherpad/properties/${2}" + PLACEHOLDER="${3}" + + PROPERTY="" + if [ -f "${PROPERTY_FILE}" ]; then + PROPERTY=`cat "${PROPERTY_FILE}"` + fi + db_input high "etherpad-%BRANCH%/${TEMPLATE}" || true + db_go + + db_get "etherpad-%BRANCH%/${TEMPLATE}" + if [ "" != "$RET" ]; then + PROPERTY="$RET" + fi + + echo "${PROPERTY}" > "${PROPERTY_FILE}" +} +# +##### + + + +case "$1" in + + configure) + + # Create system user + if ! getent passwd etherpad > /dev/null ; then + echo 'Adding system-user for etherpad' 1>&2 + adduser --system --group --quiet \ + --home /usr/share/etherpad --no-create-home \ + --disabled-login --force-badname etherpad + fi + + + # Give user the rights to write into the log & data directory + if [ -d "/var/log/etherpad" ]; then + EMPTY_STATEMENT="true" + else + mkdir -p "/var/log/etherpad" + fi + chown -R etherpad:etherpad "/var/log/etherpad" + + if [ -d "/usr/share/etherpad/etherpad/data" ]; then + EMPTY_STATEMENT="true" + else + mkdir -p "/usr/share/etherpad/etherpad/data" + fi + chown -R etherpad:etherpad "/usr/share/etherpad/etherpad/data" + + + # Give user the rights do write everywhere, did not yet figure + # out which rights are necessary, exactly + chown -R etherpad:etherpad "/usr/share/etherpad" + ;; + +esac + + + +##### +# +# Get configuration properties +# +configuration_property "is_production" "is-production" "IS_PRODUCTION" +configuration_property "admin_password" "admin-password" "ADMIN_PASSWORD" +configuration_property "port" "port" "PORT" +configuration_property "database_host" "database-host" "DATABASE_HOST" +configuration_property "database_port" "database-port" "DATABASE_PORT" +configuration_property "database_name" "database-name" "DATABASE_NAME" +configuration_property "database_username" "database-username" "DATABASE_USERNAME" +configuration_property "database_password" "database-password" "DATABASE_PASSWORD" +# +##### + + + + + +##### +# +# MySQL-Autosetup should be discussed. Simply calling setup-myql-db.sh is +# insufficient +# +# # Auto-setup database +# db_input medium "etherpad-%BRANCH%/setup_database" || true +# db_go +# +# db_get "etherpad-%BRANCH%/setup_database" +# if [ "$RET" = "true" ]; then +# # TODO +# fi +# +##### + diff --git a/build/apt/DEBIAN/prerm b/build/apt/DEBIAN/prerm new file mode 100755 index 0000000..9a9f516 --- /dev/null +++ b/build/apt/DEBIAN/prerm @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +set -e + +# Remove log+data directories, otherwise uninstall will fail +rm -rf /var/log/etherpad +rm -rf /usr/share/etherpad/etherpad/data + diff --git a/build/apt/DEBIAN/templates b/build/apt/DEBIAN/templates new file mode 100644 index 0000000..d7c6f36 --- /dev/null +++ b/build/apt/DEBIAN/templates @@ -0,0 +1,68 @@ +Template: etherpad-%BRANCH%/is_production +Type: boolean +Default: false +Description: Install as production mode? + Do you wish to install etherpad in production mode? + . + Note: be aware that etherpad is under active development and not yet ready + for general deployment! + +Template: etherpad-%BRANCH%/admin_password +Type: password +Default: password +Description: etherpad administration password + Please insert the administration password, default is password. + +Template: etherpad-%BRANCH%/port +Type: string +Default: 9000 +Description: etherpad tcp port + Please insert the port on which etherpad should listen, default is 9000. You + cannot use privileged ports (<= 1024). + . + If you want to make etherpad available on port 80/443 use etherpad-proxy which + will install a webserver (like nginx or apache) to proxy dynamic etherpad + contents and serve static contents directly. + +Template: etherpad-%BRANCH%/setup_database +Type: boolean +Default: false +Description: Do yo want etherpad to create a database for you? + Do you want to use the database wizard to setup a database for etherpad to + use? + . + Note: This wizard only works with local mysql installations. If you want to use + a remote mysql database, then answer no and edit + /etc/etherpad/etherpad.properties appropriatly. + +Template: etherpad-%BRANCH%/database_host +Type: string +Default: localhost +Description: MySQL database hostname + Please insert the database hostname, default is localhost. + +Template: etherpad-%BRANCH%/database_port +Type: string +Default: 3306 +Description: MySQL database port + Please insert the database port, default is 3306. + +Template: etherpad-%BRANCH%/database_name +Type: string +Default: etherpad +Description: MySQL database name + Please insert the database name, default is etherpad. + +Template: etherpad-%BRANCH%/database_username +Type: string +Default: etherpad +Description: MySQL database username + Please insert the database username, default is etherpad. + +Template: etherpad-%BRANCH%/database_password +Type: password +Default: password +Description: MySQL database password + Please insert the password for the specified database user, default is + password. + diff --git a/build/apt/README b/build/apt/README new file mode 100644 index 0000000..7dba49b --- /dev/null +++ b/build/apt/README @@ -0,0 +1,25 @@ +README +====== + +This is a simple script to build debian packages from different etherpad +repositories. All you have to do is call ./do.sh and select the repository to +build from. + +Depending on the repository you use you have to have installed mercurial or +git-core in addition to the following packages: + + * debconf (>= 0.2.17) + * dpkg + * sun-java6-jdk + * scala + * mysql-client + * libmysql-java + * bash + + + +--- + +If you need commercial support on etherpad don't hesitate to contact +mail@pensec.it + diff --git a/build/apt/TODO b/build/apt/TODO new file mode 100644 index 0000000..9389c82 --- /dev/null +++ b/build/apt/TODO @@ -0,0 +1,7 @@ +TODO +==== + + * Auto-Database setup + * etherpad-official replaces etherpad-deprecated and etherpad-devel (and vice- + versa) + diff --git a/build/apt/build/build.sh b/build/apt/build/build.sh new file mode 100755 index 0000000..ce308bb --- /dev/null +++ b/build/apt/build/build.sh @@ -0,0 +1,236 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +##### +# Build a Debian/Ubuntu Etherpad package of the source +# +# @param $1 (optional) If "${1}" == "rebuild" then the cached repository will be +# purged and cloned instead of simply updated +# @param $REPOSITORY_URL the source of the package +# @param $REPOSITORY_NAME name of the new package, package will be named +# etherpad-${REPOSITORY_NAME} +# @param $REPOSITORY_TYPE Element of set {hg, git}, describes which command line +# toolchain (mercurial or git) will be used +# +if [ "" == "${REPOSITORY_URL}" ]; then + echo "Missing environment variable REPOSITORY_URL" + exit 1 +fi +if [ "" == "${REPOSITORY_NAME}" ]; then + echo "Missing environment variable REPOSITORY_NAME" + exit 1 +fi +if [ "" == "${REPOSITORY_TYPE}" ]; then + echo "Missing environment variable REPOSITORY_TYPE" + exit 1 +fi + + + +##### +# You have to change following lines to your requirements: +# +export JAVA_HOME=/usr/lib/jvm/java-6-sun/ +export SCALA_HOME=/usr/share/java +export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar +export JAVA="$JAVA_HOME/bin/java" +export SCALA="$SCALA_HOME/bin/scala" +export PATH="$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH" +# +##### + + +##### +# Don't change this! +# +REPOSITORY="${REPOSITORY_URL}" +BRANCH="${REPOSITORY_NAME}" + +TMP_DIR=".tmp.${REPOSITORY_NAME}" +BUILD_DIR=".build.${REPOSITORY_NAME}" +PACKAGE_DIR=".package.${REPOSITORY_NAME}" +REVISION_FILE=".revision.${REPOSITORY_NAME}" + +REBUILD="no" +if [ "rebuild" == "${1}" ]; then + REBUILD="yes" +fi +# +##### + + + +# If the repository isn't checked out by now we can't do a simple {git|hg} pull, +# we need to do a complete {git|hg} clone instead +if [ "yes" != "${REBUILD}" ]; then + if [ -d "${TMP_DIR}" ]; then + bash -c "cd ${TMP_DIR}; ${REPOSITORY_TYPE} pull" + else + echo "Repository does not exist, will fetch" + REBUILD="yes" + fi +fi + +# Refresh the complett repository (purge & clone instead of pull) +if [ "yes" == "${REBUILD}" ]; then + if [ -d "${TMP_DIR}" ]; then + rm -rf "${TMP_DIR}" + fi + + # Fetch the source from remote endpoint + $REPOSITORY_TYPE clone "${REPOSITORY}" "${TMP_DIR}" +fi + + + +# If there where errors during {git,hg} clone, then ${TMP_DIR} does not exist +# and we can't continue +if [ -d "${TMP_DIR}" ]; then + echo "Checkout seesm successful, continuing..." +else + echo "Error while checkout, missing directory ${TMP_DIR}" + exit 1 +fi + +# Ugly fix to work with the google repository which includes a trunk and +# branches directory instead of using mercurial branches +if [ -d "${TMP_DIR}/trunk" ]; then + touch "${TMP_DIR}/LICENSE" + touch "${TMP_DIR}/README.md" + bash -c "cd ${TMP_DIR}; cp -r trunk/* ./" +fi + + + +# Rebuild jar +echo "" +echo "Trying to apply patch. If it detects the patch doesn't match just skip" +echo "" +cp "build/makejar.diff" "${TMP_DIR}/makejar.diff" +bash -c "cd ${TMP_DIR}; patch -p1 < makejar.diff" +bash -c "cd ${TMP_DIR}/infrastructure; ./bin/makejar.sh" +bash -c "cd ${TMP_DIR}/infrastructure/ace; bin/make normal etherpad" +cp "${TMP_DIR}/infrastructure/build/appjet.jar" "${TMP_DIR}/etherpad/appjet-eth-dev.jar" + + + +# Testing the build +#bash -c "./build/test-build.sh" + + + +# Increments the version & create the control file +REVISION="0" +if [ -f "${REVISION_FILE}" ]; then + REVISION=`cat "${REVISION_FILE}"` + REVISION=`expr $REVISION + 1` +fi +echo $REVISION > "${REVISION_FILE}" + +# Patch the debain control file +cp "DEBIAN/control" "${TMP_DIR}/control.0" +sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/control.0" > "${TMP_DIR}/control.1" +sed "s/%REVISION%/${REVISION}/" "${TMP_DIR}/control.1" > "${TMP_DIR}/control.2" +cp "${TMP_DIR}/control.2" "${TMP_DIR}/control" + +# Patch the install & deinstall script +cp "DEBIAN/prerm" "${TMP_DIR}/prerm" +cp "DEBIAN/postinst" "${TMP_DIR}/postinst.0" +sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/postinst.0" > "${TMP_DIR}/postinst.1" +cp "${TMP_DIR}/postinst.1" "${TMP_DIR}/postinst" + +# Patch debconf templates +cp "DEBIAN/templates" "${TMP_DIR}/templates.0" +sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/templates.0" > "${TMP_DIR}/templates.1" +cp "${TMP_DIR}/templates.1" "${TMP_DIR}/templates" + +# Patch init script +cp "etc/init.d/etherpad" "${TMP_DIR}/init.0" +sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/init.0" > "${TMP_DIR}/init.1" +cp "${TMP_DIR}/init.1" "${TMP_DIR}/init" + +# Copy the config folder +cp -r "etc" "${TMP_DIR}/etc" + + + +# Build the package enviroment (needed to build with dpgk-deb build) +if [ -d "${BUILD_DIR}" ]; then + sudo rm -r "${BUILD_DIR}" +fi +mkdir "${BUILD_DIR}" +mkdir -p "${BUILD_DIR}/DEBIAN" +mkdir -p "${BUILD_DIR}/usr/share/etherpad" +mkdir -p "${BUILD_DIR}/usr/share/doc/etherpad" +mkdir -p "${BUILD_DIR}/var/log/etherpad" + + + +# Gather the required files +cp "${TMP_DIR}/control" "${BUILD_DIR}/DEBIAN/control" +cp "${TMP_DIR}/postinst" "${BUILD_DIR}/DEBIAN/postinst" +cp "${TMP_DIR}/prerm" "${BUILD_DIR}/DEBIAN/prerm" +cp "${TMP_DIR}/templates" "${BUILD_DIR}/DEBIAN/templates" +cp -r "${TMP_DIR}/etc" "${BUILD_DIR}/" +cp "${TMP_DIR}/init" "${BUILD_DIR}/etc/init.d/etherpad" +cp -r "${TMP_DIR}/etherpad" "${BUILD_DIR}/usr/share/etherpad" +cp "build/run.sh" "${BUILD_DIR}/usr/share/etherpad/etherpad/bin" +mkdir -p "${BUILD_DIR}/usr/share/etherpad/etherpad/data" +cp -r "${TMP_DIR}/infrastructure" "${BUILD_DIR}/usr/share/etherpad" +cp "${TMP_DIR}/COPYING" "${BUILD_DIR}/usr/share/doc/etherpad" +cp "${TMP_DIR}/LICENSE" "${BUILD_DIR}/usr/share/doc/etherpad" +cp "${TMP_DIR}/README.md" "${BUILD_DIR}/usr/share/doc/etherpad" + + + +# Fix priviliges and build the package +sudo chown -R root:root "${BUILD_DIR}" +sudo chmod +x "${BUILD_DIR}/DEBIAN/postinst" +sudo chmod +x "${BUILD_DIR}/DEBIAN/prerm" +sudo chmod +x "${BUILD_DIR}/etc/init.d/etherpad" +sudo chmod -R 777 "${BUILD_DIR}/usr/share/etherpad/etherpad/data" + +if [ -d "${PACKAGE_DIR}" ]; then + rm -rf "${PACKAGE_DIR}" +fi +mkdir "${PACKAGE_DIR}" + +dpkg-deb --build "${BUILD_DIR}" "${PACKAGE_DIR}" + + + +# Transfer the package to local repository if environment variable +PACKAGE=`bash -c "cd ${PACKAGE_DIR}; find . -name *.deb"` + +if [ "yes" == "${DEPLOY_TO_LOCAL_REPOSITORY}" ]; then + if [ -f "${PACKAGE_DIR}/${PACKAGE}" ]; then + cp "${PACKAGE_DIR}/${PACKAGE}" "/var/www/packages" + bash -c "cd /var/www/packages; reprepro -b . includedeb lenny ${PACKAGE}; rm ${PACKAGE}" + else + echo "No package in ${PACKAGE_DIR}" + fi +fi + +echo "Finished building package ${PACKAGE}" + diff --git a/build/apt/build/makejar.diff b/build/apt/build/makejar.diff new file mode 100644 index 0000000..6e0d44e --- /dev/null +++ b/build/apt/build/makejar.diff @@ -0,0 +1,17 @@ +diff -r 81287c8af1ac infrastructure/bin/makejar.sh +--- a/infrastructure/bin/makejar.sh Fri Dec 18 18:44:23 2009 +1100 ++++ b/infrastructure/bin/makejar.sh Sat Dec 19 09:50:05 2009 -0500 +@@ -32,11 +32,11 @@ + + TMPSTORE=/tmp/ajbuild-tmpstore-`date +%s` + +-JARFILES=`echo $SCALA_HOME/lib/scala-library.jar lib/*.jar lib/manifest` ++JARFILES=`echo $SCALA_HOME/scala-library.jar lib/*.jar lib/manifest` + function genjar { + echo "unzipping JARs..." + pushd $1 >> /dev/null +- $JAR xf $SCALA_HOME/lib/scala-library.jar ++ $JAR xf $SCALA_HOME/scala-library.jar + rm -rf META-INF + for a in ../../lib/*.jar; do + $JAR xf $a diff --git a/build/apt/build/run.sh b/build/apt/build/run.sh new file mode 100755 index 0000000..1aa3954 --- /dev/null +++ b/build/apt/build/run.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + + + +bash -c "`dirname $0`/run-local.sh" > "/var/log/etherpad/log" 2> "/var/log/etherpad/error" + diff --git a/build/apt/build/test.sh b/build/apt/build/test.sh new file mode 100755 index 0000000..0abf7bf --- /dev/null +++ b/build/apt/build/test.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + + + +##### +# Must be called by build.sh +##### + + + +# Truncate database to test start etherpad +echo "I'm going to lunch MySQL now, you maybe have to enter your root@localhost password" +sudo /etc/init.d/mysql start + +DATABASE_NAME="etherpad" +DATABASE_USER="etherpad" +DROP_DATABASE="DROP DATABASE ${DATABASE_NAME}" +CREATE_DATABASE="CREATE DATABASE ${DATABASE_NAME}" +DROP_USER="DROP USER '${DATABASE_USER}'@'localhost'" +CREATE_USER="GRANT ALL PRIVILEGES ON ${DATABASE_NAME}.* TO '${DATABASE_USER}'@'localhost' identified by 'password';" +echo "${DROP_DATABASE}; ${CREATE_DATABASE}; ${DROP_USER}; ${CREATE_USER}" | mysql -u root -p | grep etherpad + + + +# Start etherpad and wait for the HTTP-Server to be available +echo "I'm going to lunch etherpad in a clean environment, try if it works on http://localhost:9000/" +echo "Kill with ^C to build debian package (waiting 10 seconds)" +sleep 10 +bash -c "cd ${TMP_DIR}/etherpad; ./bin/run-local.sh" + diff --git a/build/apt/do.sh b/build/apt/do.sh new file mode 100755 index 0000000..c268ce9 --- /dev/null +++ b/build/apt/do.sh @@ -0,0 +1,127 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + + + +##### +# +# To build a Debian/Ubuntu package simply run this script. It will prompt you +# for the repository to build from. +# +# Dependencies: debconf (>= 0.2.17), dpkg, sun-java6-jdk, scala, mysql-client, +# libmysql-java, bash, mercurial | git-core +# +##### + + + +##### +# +# There has to be a better way of doing this ;-) +# +REPOSITORY_0_URL="https://etherpad.googlecode.com/hg/trunk" +REPOSITORY_0_NAME="deprecated" +REPOSITORY_0_TYPE="hg" +REPOSITORY_1_URL="git://github.com/ether/pad.git" +REPOSITORY_1_NAME="official" +REPOSITORY_1_TYPE="git" +REPOSITORY_2_URL="git://github.com/redhog/pad.git" +REPOSITORY_2_NAME="devel" +REPOSITORY_2_TYPE="git" +REPOSITORY_3_URL="git://github.com/johnyma22/pad.git" +REPOSITORY_3_NAME="johny" +REPOSITORY_3_TYPE="git" +REPOSITORY_4_URL="git://github.com/Pita/pad.git" +REPOSITORY_4_NAME="pita" +REPOSITORY_4_TYPE="git" +REPOSITORY_5_URL="./../../" +REPOSITORY_5_NAME="local" +REPOSITORY_5_TYPE="git" + + +# Tell the user his choises +echo "Please choose the repository to build a debian package from:" +echo "" + +for i in {0..5} +do + URL="REPOSITORY_${i}_URL" + NAME="REPOSITORY_${i}_NAME" + TYPE="REPOSITORY_${i}_TYPE" + + echo " ${i}) ${!NAME} ${!URL}" +done +echo "" +read -p "Repository id: " REPOSITORY + + + +# Test if user's too stupid to input correct number +URL="REPOSITORY_${REPOSITORY}_URL" +NAME="REPOSITORY_${REPOSITORY}_NAME" +TYPE="REPOSITORY_${REPOSITORY}_TYPE" + +if [ "" == "${!URL}" ]; then + echo "Invalid repository id \"${REPOSITORY}\"" + exit 1 +fi + + +# Communicate repository details to build script +export REPOSITORY_URL="${!URL}" +export REPOSITORY_NAME="${!NAME}" +export REPOSITORY_TYPE="${!TYPE}" +# +##### + + + +##### +# +# Is a complete rebuild necessary or is a simple update sufficient +# +echo "" +read -p "Purge before rebuild (yes/no) [n]: " REBUILD + +if [ "y" == "${REBUILD}" ]; then + echo "You answered \"${REBUILD}\", will purge before rebuilding" + REBUILD="rebuild" +else + echo "You answered \"${REBUILD}\", will try ${!TYPE} pull before rebuilding" +fi +# +##### + + + +##### +# +# Tell user what we're going to to and then do it +# +echo "" +echo "Will build package etherpad-${!NAME} form ${!TYPE}:${!URL}, please be patient..." +echo "" + +bash -c "./build/build.sh ${REBUILD}" +# +##### + diff --git a/build/apt/etc/etherpad/etherpad.properties b/build/apt/etc/etherpad/etherpad.properties new file mode 100644 index 0000000..69114c7 --- /dev/null +++ b/build/apt/etc/etherpad/etherpad.properties @@ -0,0 +1,16 @@ +ajstdlibHome = ../infrastructure/framework-src/modules +appjetHome = ./data/appjet +devMode = true +etherpad.adminPass = %ADMIN_PASSWORD% +etherpad.fakeProduction = false +etherpad.isProduction = %IS_PRODUCTION% +etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver +etherpad.SQL_JDBC_URL = jdbc:mysql://%DATABASE_HOST%:%DATABASE_PORT%/%DATABASE_NAME% +etherpad.SQL_PASSWORD = %DATABASE_PASSWORD% +etherpad.SQL_USERNAME = %DATABASE_USERNAME% +listen = %PORT% +logDir = /var/log/etherpad +modulePath = ./src +transportPrefix = /comet +transportUseWildcardSubdomains = true +useVirtualFileRoot = ./src diff --git a/build/apt/etc/etherpad/properties/admin-password b/build/apt/etc/etherpad/properties/admin-password new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/admin-password diff --git a/build/apt/etc/etherpad/properties/database-host b/build/apt/etc/etherpad/properties/database-host new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/database-host diff --git a/build/apt/etc/etherpad/properties/database-name b/build/apt/etc/etherpad/properties/database-name new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/database-name diff --git a/build/apt/etc/etherpad/properties/database-password b/build/apt/etc/etherpad/properties/database-password new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/database-password diff --git a/build/apt/etc/etherpad/properties/database-port b/build/apt/etc/etherpad/properties/database-port new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/database-port diff --git a/build/apt/etc/etherpad/properties/database-username b/build/apt/etc/etherpad/properties/database-username new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/database-username diff --git a/build/apt/etc/etherpad/properties/is-production b/build/apt/etc/etherpad/properties/is-production new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/is-production diff --git a/build/apt/etc/etherpad/properties/port b/build/apt/etc/etherpad/properties/port new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/build/apt/etc/etherpad/properties/port diff --git a/build/apt/etc/init.d/etherpad b/build/apt/etc/init.d/etherpad new file mode 100755 index 0000000..95847b8 --- /dev/null +++ b/build/apt/etc/init.d/etherpad @@ -0,0 +1,235 @@ +#! /bin/bash + +### BEGIN INIT INFO +# Provides: etherpad-%BRANCH% +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: S 0 1 6 +# Short-Description: etherpad initscript +# Description: EtherPad is the only web-based word processor that allows +# people to work together in really real-time. +# . +# When multiple people edit the same document simultaneously, +# any changes are instantly reflected on everyone's screen. +# The result is a new and productive way to collaborate on +# text documents, useful for meeting notes, drafting +# sessions, education, team programming, and more. +### END INIT INFO + +# Author: penSec.IT UG (haftungsbeschränkt) <mail@pensec.it> + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + +# Do NOT "set -e" + + + +##### +# +# Patches the configuration file by replacing ,,%$2%'' with the contents of file +# $1 in file $3 +# +# @param $1 Configuration File which contains the value to set to +# @param $2 Configuration key to apply (can be done only once) +# @param $3 Configuration file +# +function apply_config() { + CONFIG_FILE="${3}" + TMP_FILE="/tmp/etherpad.properties" + + CONFIG_KEY="$2" + CONFIG_VALUE=`cat $1` + + sed "s/%$CONFIG_KEY%/$CONFIG_VALUE/" $CONFIG_FILE > $TMP_FILE + cp $TMP_FILE $CONFIG_FILE + rm $TMP_FILE +} +# +##### + + + + + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="etherpad daemon" +NAME="etherpad" +DAEMON_BASE="/usr/share/etherpad/etherpad" +DAEMON=$DAEMON_BASE/bin/run.sh +DAEMON_ARGS="" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +[ -f /etc/default/rcS ] && . /etc/default/rcS + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + CONFIGURATION_BASE="/etc/etherpad" + CONFIGURATION_SRC="${CONFIGURATION_BASE}/etherpad.properties" + CONFIGURATION_DEST="${DAEMON_BASE}/etc/etherpad.localdev-default.properties" + + + # Reset configuration + cp "${CONFIGURATION_BASE}/etherpad.properties" "${CONFIGURATION_DEST}" + + + # Apply configuration properties + apply_config "${CONFIGURATION_BASE}/properties/is-production" "IS_PRODUCTION" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/admin-password" "ADMIN_PASSWORD" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/port" "PORT" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/database-host" "DATABASE_HOST" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/database-port" "DATABASE_PORT" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/database-name" "DATABASE_NAME" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/database-username" "DATABASE_USERNAME" "${CONFIGURATION_DEST}" + apply_config "${CONFIGURATION_BASE}/properties/database-password" "DATABASE_PASSWORD" "${CONFIGURATION_DEST}" + + + # Give the etherpad user the configuration file + chown etherpad:etherpad "${CONFIGURATION_DEST}" + + + + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test \ + || return 1 + start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: + diff --git a/etherpad/etc/etherpad.localdev-default.properties b/etherpad/etc/etherpad.localdev-default.properties index 26bc8e5..97f420f 100644 --- a/etherpad/etc/etherpad.localdev-default.properties +++ b/etherpad/etc/etherpad.localdev-default.properties @@ -8,6 +8,7 @@ etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad etherpad.SQL_PASSWORD = password etherpad.SQL_USERNAME = etherpad +etherpad.proAccounts = true listen = 9000 logDir = ./data/logs modulePath = ./src diff --git a/etherpad/src/etherpad/admin/plugins.js b/etherpad/src/etherpad/admin/plugins.js index 7b59662..385e2ca 100644 --- a/etherpad/src/etherpad/admin/plugins.js +++ b/etherpad/src/etherpad/admin/plugins.js @@ -228,11 +228,13 @@ function callHook(hookName, args) { if (hooks[hookName] === undefined) return []; var res = []; - for (i = 0; i < hooks[hookName].length; i++) { + + for (var i = 0; i < hooks[hookName].length; i++) { var plugin = hooks[hookName][i]; var pluginRes = pluginModules[plugin.plugin][plugin.original || hookName](args); if (pluginRes != undefined && pluginRes != null) - res = res.concat(pluginRes); + for (var j = 0; j < pluginRes.length; j++) + res.push(pluginRes[j]); /* Don't use Array.concat as it flatterns arrays within the array */ } return res; } diff --git a/etherpad/src/etherpad/control/admincontrol.js b/etherpad/src/etherpad/control/admincontrol.js index 02f6428..ec48824 100644 --- a/etherpad/src/etherpad/control/admincontrol.js +++ b/etherpad/src/etherpad/control/admincontrol.js @@ -51,6 +51,8 @@ import("etherpad.collab.collab_server"); import("etherpad.pro.pro_accounts"); import("etherpad.pro.pro_utils"); import("etherpad.pro.domains"); +import("etherpad.admin.plugins"); +import("etherpad.control.admin.pluginmanager"); jimport("java.lang.System.out.println"); @@ -87,7 +89,8 @@ var _mainLinks = [ ['reload-blog-db', 'Reload blog DB'], ['pro-domain-accounts', 'Pro Domain Accounts'], ['beta-valve', 'Beta Valve'], - ['reset-subscription', "Reset Subscription"] + ['reset-subscription', "Reset Subscription"], + ['pluginmanager/', "Plugin manager"] ]; function onRequest(name) { @@ -100,7 +103,11 @@ function onRequest(name) { } var disp = new Dispatcher(); + + disp.addLocations(plugins.callHook("handleAdminPath")); + disp.addLocations([ + [PrefixMatcher('/ep/admin/pluginmanager/'), forward(pluginmanager)], [PrefixMatcher('/ep/admin/usagestats/'), forward(statscontrol)] ]); @@ -152,9 +159,13 @@ function render_main() { div.push(A({href: "/"}, html("«"), " home")); div.push(H1("Admin")); - _mainLinks.forEach(function(l) { + function addMenuItem(l) { div.push(DIV(A({href: l[0]}, l[1]))); - }); + } + + plugins.callHook("adminMenu").forEach(addMenuItem); + _mainLinks.forEach(addMenuItem); + if (sessions.isAnEtherpadAdmin()) { div.push(P(A({href: "/ep/admin/setadminmode?v=false"}, "Exit Admin Mode"))); diff --git a/etherpad/src/etherpad/globals.js b/etherpad/src/etherpad/globals.js index 8087337..87fe428 100644 --- a/etherpad/src/etherpad/globals.js +++ b/etherpad/src/etherpad/globals.js @@ -1,5 +1,6 @@ /** * Copyright 2009 Google Inc. + * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,6 +29,11 @@ function isProduction() { return (trueRegex.test(appjet.config['etherpad.isProduction'])); } +function isProAccountEnabled() { + return (appjet.config['etherpad.proAccounts'] == "true"); +} + + var SUPERDOMAINS = { 'localbox.info': true, 'localhost': true, diff --git a/etherpad/src/etherpad/pro/pro_utils.js b/etherpad/src/etherpad/pro/pro_utils.js index 787f424..c9874f0 100644 --- a/etherpad/src/etherpad/pro/pro_utils.js +++ b/etherpad/src/etherpad/pro/pro_utils.js @@ -1,5 +1,6 @@ /** * Copyright 2009 Google Inc. + * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,7 +55,9 @@ function getRequestSuperdomain() { } function isProDomainRequest() { - // the result of this function never changes within the same request. + if(!isProAccountEnabled()) + return false; + // the result of this function never changes within the same request. var c = appjet.requestCache; if (c.isProDomainRequest === undefined) { c.isProDomainRequest = _computeIsProDomainRequest(); diff --git a/etherpad/src/main.js b/etherpad/src/main.js index c881223..6faa71a 100644 --- a/etherpad/src/main.js +++ b/etherpad/src/main.js @@ -34,7 +34,6 @@ import("etherpad.importexport.importexport"); import("etherpad.legacy_urls"); import("etherpad.control.aboutcontrol"); -import("etherpad.control.admin.pluginmanager"); import("etherpad.control.admincontrol"); import("etherpad.control.blogcontrol"); import("etherpad.control.connection_diagnostics_control"); @@ -365,20 +364,22 @@ function handlePath() { // these paths are handled identically on all sites/subdomains. var commonDispatcher = new Dispatcher(); - commonDispatcher.addLocations( - plugins.callHook('handlePath').concat([ - ['/favicon.ico', forward(static_control)], - ['/robots.txt', forward(static_control)], - ['/crossdomain.xml', forward(static_control)], - [PrefixMatcher('/static/'), forward(static_control)], - [PrefixMatcher('/ep/genimg/'), genimg.renderPath], - [PrefixMatcher('/ep/pad/'), forward(pad_control)], - [PrefixMatcher('/ep/script/'), forward(scriptcontrol)], - [/^\/([^\/]+)$/, pad_control.render_pad], - [DirMatcher('/ep/unit-tests/'), forward(testcontrol)], - [DirMatcher('/ep/pne-manual/'), forward(pne_manual_control)], - [DirMatcher('/ep/pro-help/'), forward(pro_help_control)] - ])); + + commonDispatcher.addLocations(plugins.callHook('handlePath')); + + commonDispatcher.addLocations([ + ['/favicon.ico', forward(static_control)], + ['/robots.txt', forward(static_control)], + ['/crossdomain.xml', forward(static_control)], + [PrefixMatcher('/static/'), forward(static_control)], + [PrefixMatcher('/ep/genimg/'), genimg.renderPath], + [PrefixMatcher('/ep/pad/'), forward(pad_control)], + [PrefixMatcher('/ep/script/'), forward(scriptcontrol)], + [/^\/([^\/]+)$/, pad_control.render_pad], + [DirMatcher('/ep/unit-tests/'), forward(testcontrol)], + [DirMatcher('/ep/pne-manual/'), forward(pne_manual_control)], + [DirMatcher('/ep/pro-help/'), forward(pro_help_control)] + ]); var etherpadDotComDispatcher = new Dispatcher(); etherpadDotComDispatcher.addLocations([ @@ -386,7 +387,6 @@ function handlePath() { [DirMatcher('/ep/beta-account/'), forward(pro_beta_control)], [DirMatcher('/ep/pro-signup/'), forward(pro_signup_control)], [DirMatcher('/ep/about/'), forward(aboutcontrol)], - [DirMatcher('/ep/admin/pluginmanager'), forward(pluginmanager)], [DirMatcher('/ep/admin/'), forward(admincontrol)], [DirMatcher('/ep/blog/posts/'), blogcontrol.render_post], [DirMatcher('/ep/blog/'), forward(blogcontrol)], diff --git a/etherpad/src/plugins/fileUpload/controllers/fileUpload.js b/etherpad/src/plugins/fileUpload/controllers/fileUpload.js new file mode 100644 index 0000000..d6585f1 --- /dev/null +++ b/etherpad/src/plugins/fileUpload/controllers/fileUpload.js @@ -0,0 +1,87 @@ +/** + * Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS-IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import("faststatic"); +import("dispatch.{Dispatcher,PrefixMatcher,forward}"); + +import("etherpad.utils.*"); +import("etherpad.collab.server_utils"); +import("etherpad.globals.*"); +import("etherpad.log"); +import("etherpad.pad.padusers"); +import("etherpad.pro.pro_utils"); +import("etherpad.helpers"); +import("etherpad.pro.pro_accounts.getSessionProAccount"); +import("sqlbase.sqlbase"); +import("sqlbase.sqlcommon"); +import("sqlbase.sqlobj"); +import("plugins.fileUpload.models"); +jimport("org.apache.commons.fileupload"); + +function onRequest() { + var isPro = pro_utils.isProDomainRequest(); + var userId = padusers.getUserId(); + + + helpers.addClientVars({ + userAgent: request.headers["User-Agent"], + debugEnabled: request.params.djs, + clientIp: request.clientAddr, + colorPalette: COLOR_PALETTE, + serverTimestamp: +(new Date), + isProPad: isPro, + userIsGuest: padusers.isGuest(userId), + userId: userId, + }); + + var isProUser = (isPro && ! padusers.isGuest(userId)); + + if (request.isPost) { + var uploads = []; + var itemFactory = new fileupload.disk.DiskFileItemFactory(); + var handler = new fileupload.servlet.ServletFileUpload(itemFactory); + var items = handler.parseRequest(request.underlying).toArray(); + for (var i = 0; i < items.length; i++){ + if (!items[i].isFormField()) + uploads.push('/up/' + models.storeFile(items[i])); + } + + response.setContentType("text/json; charset=utf-8"); + response.write( + renderTemplateAsString( + "fileUploaded.ejs", + { + uploads: uploads, + isPro: isPro, + isProAccountHolder: isProUser, + account: getSessionProAccount(), // may be falsy + }, + 'fileUpload')); + if (request.acceptsGzip) { + response.setGzip(true); + } + } else { + renderHtml( + "fileUpload.ejs", + { + isPro: isPro, + isProAccountHolder: isProUser, + account: getSessionProAccount(), // may be falsy + }, + 'fileUpload'); + } + return true; +} diff --git a/etherpad/src/plugins/fileUpload/hooks.js b/etherpad/src/plugins/fileUpload/hooks.js new file mode 100644 index 0000000..0948c17 --- /dev/null +++ b/etherpad/src/plugins/fileUpload/hooks.js @@ -0,0 +1,11 @@ +import("etherpad.log"); +import("faststatic"); +import("etherpad.utils.*"); +import("etherpad.globals.*"); +import("dispatch.{Dispatcher,PrefixMatcher,forward}"); +import("plugins.fileUpload.controllers.fileUpload"); + +function handlePath() { + return [[PrefixMatcher('/ep/fileUpload/'), forward(fileUpload)], + [PrefixMatcher('/up/'), faststatic.directoryServer('/plugins/fileUpload/upload/', {cache: isProduction()})]]; +} diff --git a/etherpad/src/plugins/fileUpload/main.js b/etherpad/src/plugins/fileUpload/main.js new file mode 100644 index 0000000..5ff105f --- /dev/null +++ b/etherpad/src/plugins/fileUpload/main.js @@ -0,0 +1,19 @@ +import("etherpad.log"); +import("plugins.fileUpload.hooks"); + +function init() { + this.hooks = ['handlePath']; + this.description = 'File upload manager'; + this.handlePath = hooks.handlePath; + this.install = install; + this.uninstall = uninstall; +} + +function install() { + log.info("Installing fileUpload"); +} + +function uninstall() { + log.info("Uninstalling fileUpload"); +} + diff --git a/etherpad/src/plugins/fileUpload/models.js b/etherpad/src/plugins/fileUpload/models.js new file mode 100644 index 0000000..f8fb563 --- /dev/null +++ b/etherpad/src/plugins/fileUpload/models.js @@ -0,0 +1,95 @@ +/** + * Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS-IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import("etherpad.utils.*"); +import("etherpad.globals.*"); +import("etherpad.log"); +import("sqlbase.sqlbase"); +import("sqlbase.sqlcommon"); +import("sqlbase.sqlobj"); + +jimport("java.io.File", + "java.io.DataInputStream", + "java.io.FileInputStream", + "java.lang.Byte", + "java.io.FileReader", + "java.io.BufferedReader", + "java.security.MessageDigest", + "java.lang.Runtime"); + + +/* Normal base64 encoding, except we don't care about adding newlines */ +function base64Encode(stringArray) { + base64code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "+/"; + + /* Pad array to nearest three byte multiple */ + var padding = (3 - (stringArray.length % 3)) % 3; + var padded = java.lang.reflect.Array.newInstance(Byte.TYPE, stringArray.length + padding); + java.lang.System.arraycopy(stringArray, 0, padded, 0, stringArray.length); + stringArray = padded; + + var encoded = ""; + for (var i = 0; i < stringArray.length; i += 3) { + var j = (((stringArray[i] & 0xff) << 16) + + ((stringArray[i + 1] & 0xff) << 8) + + (stringArray[i + 2] & 0xff)); + encoded = (encoded + + base64code.charAt((j >> 18) & 0x3f) + + base64code.charAt((j >> 12) & 0x3f) + + base64code.charAt((j >> 6) & 0x3f) + + base64code.charAt(j & 0x3f)); + } + /* replace padding with "=" */ + return encoded.substring(0, encoded.length - padding) + "==".substring(0, padding); +} + + +function makeSymlink(destination, source) { + return Runtime.getRuntime().exec(['ln', '-s', source.getPath(), destination.getPath()]).waitFor(); +} + + +/* Reads a File and updates a digest with its content */ +function updateDigestFromFile(digest, file) { + var handle = new java.io.FileInputStream(file); + + var bytes = java.lang.reflect.Array.newInstance(Byte.TYPE, 512); + var nbytes = 0; + + while ((nbytes = handle.read(bytes, 0, 512)) != -1) + digest.update(bytes, 0, nbytes); + + handle.close(); +} + + +/* Stores a org.apache.commons.fileupload.disk.DiskFileItem permanently and returns a filename. */ +function storeFile(fileItem) { + var nameParts = fileItem.name.split('.'); + var extension = nameParts[nameParts.length-1]; + + var digest = MessageDigest.getInstance("SHA1"); + updateDigestFromFile(digest, fileItem.getStoreLocation()); + var checksum = base64Encode(digest.digest()); + + fileItem.write(File("src/plugins/fileUpload/upload/" + checksum)); + + makeSymlink( + File("src/plugins/fileUpload/upload/" + checksum + '.' + extension), + File(checksum)); + + return checksum + '.' + extension; +} diff --git a/etherpad/src/templates/pro/admin/manage-billing.ejs b/etherpad/src/plugins/fileUpload/templates/fileUpload.ejs index 8a7bd51..57f33e6 100644 --- a/etherpad/src/templates/pro/admin/manage-billing.ejs +++ b/etherpad/src/plugins/fileUpload/templates/fileUpload.ejs @@ -12,24 +12,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ %> <% - helpers.includeCss('store/ondemand-billing.css'); + helpers.setHtmlTitle("Test plugin"); + helpers.setBodyId("padbody"); + helpers.addBodyClass("limwidth nonpropad nonprouser"); + helpers.includeCss("pad2_ejs.css"); + helpers.setRobotsPolicy({index: false, follow: false}) + helpers.includeJQuery(); + helpers.includeCometJs(); + helpers.includeJs("json2.js"); + helpers.addToHead('\n<style type="text/css" title="dynamicsyntax"></style>\n'); %> -<% function fmtdate(d) { - if (!d) { - return "Never"; - } else { - return d.toString().split(' ').slice(0,5).join(' '); - } -} +<div id="padpage"> + <form method="POST" enctype="multipart/form-data"> + <input type="file" name="fileParam"> + <button type="submit">Submit</button> + </form> -function plural(amt) { - return (amt == 1 ? "" : "s"); -} - -%> - -<h3 class="top">Payment Information</h3> - -<p>EtherPad Professional will be discontinued on <%= helpers.rafterTerminationDate() %>. No further payments will be collected.</p> -<p><a href="http://etherpad.com<%= helpers.rafterBlogUrl() %>">Read more</a>.</p> +</div> diff --git a/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs b/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs new file mode 100644 index 0000000..5a62f7e --- /dev/null +++ b/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs @@ -0,0 +1,5 @@ +[ +<% for (var i = 0; i < uploads.length; i++) { %> + '<%= uploads[i] %>', +<% } %> +] diff --git a/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js b/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js index 461f30a..793067d 100644 --- a/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js +++ b/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js @@ -1,5 +1,6 @@ /** * Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se> + * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,6 +46,14 @@ function stringFormat(text, obj) { return text; } +/* All these sql query functions both takes a querySql object as + * parameter and returns one. This object has two members - sql and + * params. Sql is a string of an sql table name or a subqyery in + * parens. The table pr subquery should have an ID column containing a + * PAD_ID. + */ + +/* Filters pads by tags and anti-tags */ function getQueryToSql(tags, antiTags, querySql) { var queryTable; var queryParams; @@ -100,6 +109,7 @@ function getQueryToSql(tags, antiTags, querySql) { info["excepts"] = exceptArray.join(' '); info["wheres"] = whereArray.length > 0 ? ' where ' + whereArray.join(' and ') : ''; + /* Create a subselect from all the joins */ return { sql: stringFormat( '(select distinct ' + @@ -114,6 +124,8 @@ function getQueryToSql(tags, antiTags, querySql) { params: queryParams.concat(joinParamArray).concat(exceptParamArray)}; } +/* Returns the sql to count the number of results from some other + * query. */ function nrSql(querySql) { var queryTable; var queryParams; @@ -133,6 +145,9 @@ function nrSql(querySql) { params: queryParams}; } +/* Returns the sql to select the 10 best new tags to tack on to a + * query, that is, the tags that are closest to halving the result-set + * if tacked on. */ function newTagsSql(querySql) { var queryTable; var queryParams; @@ -165,6 +180,7 @@ function newTagsSql(querySql) { 'where ' + ' tp.TAG_ID = t.ID ' + ' and tp.PAD_ID in %(query_post_table)s ' + + ' and tp.PAD_ID NOT LIKE \'%$%\'' + 'group by t.NAME, tn.total ' + 'having ' + ' count(tp.PAD_ID) > 0 and count(tp.PAD_ID) < tn.total ' + @@ -189,13 +205,14 @@ function onRequest() { tags.push(query[i]); } + /* Create the pad filter sql */ var querySql = getQueryToSql(tags.concat(['public']), antiTags); - //log.info(querySql.sql); + /* Use the pad filter sql to figure out which tags to show in the tag browser this time. */ var queryNewTagsSql = newTagsSql(querySql); var newTags = sqlobj.executeRaw(queryNewTagsSql.sql, queryNewTagsSql.params); - var matchingPads; + /* Select the 10 last changed matching pads and some extra information on them. Except the Pro Pads*/ var sql = '' + 'select ' + ' m.id as ID, ' + @@ -207,11 +224,12 @@ function onRequest() { ' m.id = q.ID ' + ' join PAD_TAG_CACHE as c on ' + ' c.PAD_ID = q.ID ' + + 'where ' + + ' m.id NOT LIKE \'%$%\'' + 'order by ' + ' m.lastWriteTime desc ' + 'limit 10'; - - matchingPads = sqlobj.executeRaw(sql, querySql.params); + var matchingPads = sqlobj.executeRaw(sql, querySql.params); for (i = 0; i < matchingPads.length; i++) { matchingPads[i].TAGS = matchingPads[i].TAGS.split('#'); diff --git a/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css b/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css index 94b2be8..f3321a4 100644 --- a/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css +++ b/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css @@ -49,7 +49,7 @@ h1 { margin-top: 0; } -#home-newpad { +#home-newpad, #home-newteam { display: block; background-color: #a3bde0; color: #555555; diff --git a/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs b/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs index 1f1c0e3..d5d09c3 100644 --- a/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs +++ b/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs @@ -1,4 +1,6 @@ -<% /* Copyright 2009 Google Inc. +<% /* +Copyright 2009 Google Inc. +Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -62,24 +64,30 @@ limitations under the License. */ %> <div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div> <% } %> </div> - <div id="docbar" class="docbar-public"> - <div id="docbarleft"><!-- --></div> - <div title="Browse pads by tag" id="docbarpadtitle"><span>Browse tags</span></div> - - <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div> - <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div> - <div id="docbarimpexp-outer"><a href="javascript:void(0)" id="docbarimpexp">Import/Export</a></div> - <div id="docbarslider-outer"><a target="_blank" href="/ep/pad/view/xx/latest" id="docbarslider">Time Slider</a></div> - - </div> + <div id="docbar"> + <table border="0" cellpadding="0" cellspacing="0" width="100%" id="docbartable"> + <td><img src="/static/img/jun09/pad/roundcorner_left.gif"></td> + <td id="docbarpadtitle"><span>Browse Tags</span></td> + <td width="100%"> </td> + <td><img src="/static/img/jun09/pad/roundcorner_right.gif"></td> + </table> </div> <div id="padmain"> <div id="padsidebar"> <div id="padusers"> - <a href="/ep/pad/newpad" id="home-newpad"> - Create new pad - </a> + <% if (isProAccountEnabled()) { %> + <a href="/ep/pad/newpad" style="padding: 25px 0" id="home-newpad"> + Create new pad + </a> + <a href="/ep/pro-signup/" style="padding: 25px 0" id="home-newteam"> + Create new team + </a> + <% } else { %> + <a href="/ep/pad/newpad" id="home-newpad"> + Create new pad + </a> + <% } %> </div> <div id="hdraggie"><!-- --></div> diff --git a/etherpad/src/static/css/beta.css b/etherpad/src/static/css/beta.css deleted file mode 100644 index afba271..0000000 --- a/etherpad/src/static/css/beta.css +++ /dev/null @@ -1,49 +0,0 @@ -div.beta-signup { } - -div.right { - float: right; - width: 500px; -} -div.left { - width: 224x; - float: left; - text-align: center; - padding: 60px 0 0 80px; -} - -form#beta-signup-form { - border: 1px solid #ccc; - margin: 2em 0; - padding: 1em; - background: #eee; -} - -form#beta-signup-form p { margin: 0; } - -form input { - border: 1px solid #3773c6; - font-size: 14pt; -} - -form button { - border: 0; - cursor: pointer; - color: #fff; - font-weight: bold; - overflow: visible; - padding: 0; - background: #70a4ec; - border: 1px solid #3773c6; - padding: 4px 6px; - margin-top: 4px; -} - -#error-msg { - margin: 0; - padding: .5em; - margin-bottom: .5em; - border: 1px solid red; - background: #fee; - font-weight: bold; -} - diff --git a/etherpad/src/static/css/connection_diagnostics.css b/etherpad/src/static/css/connection_diagnostics.css deleted file mode 100644 index fc040d0..0000000 --- a/etherpad/src/static/css/connection_diagnostics.css +++ /dev/null @@ -1,13 +0,0 @@ -#content { - text-align: center; -} - -#statusmsg { - font-size: 200%; - color: #444; -} - -#emailform { margin: 2em; padding: 1em; background: #eee; border: 1px solid #999; } -#emailform p { font-size: 200%; color: #444; } -#emailform input { font-size: 200%; margin-bottom: 1em; } -#emailform #email { color: #555; } diff --git a/etherpad/src/static/css/fluxbb.css b/etherpad/src/static/css/fluxbb.css deleted file mode 100644 index 844ceca..0000000 --- a/etherpad/src/static/css/fluxbb.css +++ /dev/null @@ -1,55 +0,0 @@ -/* fluxbb-specific CSS rules go here. */ - -/*----------------------------------------------------------------*/ -/* Etherpad overriding shit */ -/*----------------------------------------------------------------*/ - -div.epforum { - width: 780px; - padding-top: 1em; - margin-left: auto; - margin-right: auto; -} - -div#punwrap div.pun { - font-size: 120%; -} - -div#idx1 h2 { display: none; } - -div#punwrap div.pun h2 { - color: white; - font-style: normal; - font-weight: normal; - font-family: sans-serif; - font-size: 1.2em; -} - -div#punwrap div.pun p { margin: 0; } - -.pun div.box { - border: 1px solid #ccc; -} - -div#brdheader div.box { - background: #fff; - border: 0; - padding: 0; - margin: 0; -} - -div#brdheader div#brdtitle { - padding: 0; -} -div#brdheader h1 { - font-family: "Lucida Grande","Lucida Sans Unicode",sans-serif; - color: #666; - border-bottom: 1px solid #666; - font-size: 1.8em; -} - -div#brdwelcome { - margin-top: 1em; - border: 1px solid #ccc; - background: #f1f1f1; -} diff --git a/etherpad/src/static/css/home-opensource.css b/etherpad/src/static/css/home-opensource.css index 41e7996..82f15da 100644 --- a/etherpad/src/static/css/home-opensource.css +++ b/etherpad/src/static/css/home-opensource.css @@ -10,7 +10,7 @@ font-size: 3.6em; } -#home a#home-newpad { +#home a#home-newpad, #home a#home-newteam{ display: block; padding: 1em; margin: 12px 60px; @@ -20,7 +20,7 @@ color: #fff; } -#home a#home-newpad:hover { +#home a#home-newpad:hover, #home a#home-newteam:hover{ background: #26b; } diff --git a/etherpad/src/static/css/home.css b/etherpad/src/static/css/home.css deleted file mode 100644 index 797a8a7..0000000 --- a/etherpad/src/static/css/home.css +++ /dev/null @@ -1,264 +0,0 @@ -/*-------- - Homepage - --------*/ - -/* Top */ - -#top { - height: 349px; - position: relative; - background: url(/static/img/davy/gfx/screenshot.gif) no-repeat bottom right; -} - -#homepage-notice { - margin: 10px auto; - width: 888px; - background: #ffc; - color: #000; - border: 2px solid #550; - font-size: 1.4em; - padding: 8px; -} - -#intro-left { - width: 340px; - float: left; - font-family: Arial, Helvetica, sans-serif; - text-shadow: 0 0 1px #18487F; - padding-top: 10px; -} - #intro-left h1 { - width: 210px; - position: relative; - padding: 57px 0 0 0; - overflow: hidden; - background: transparent url(/static/img/davy/gfx/home-logo2.gif) no-repeat top left; - height: 0px; - margin: 0 0 5px -8px; - } - #intro-left h2 { - color: #d1e5ff; - font-size: 1.5em; - font-weight: bold; - line-height: 1.2; - } - #intro-left h2 a { - color: #9ac6ff; - font-style: italic; - border-bottom: 2px solid; - } - #intro-left h2 a:hover { - text-decoration: none; - color: #4A91EE; - } - #intro-left p { - color: #fff; - font-size: 1.167em; - line-height: 1.3; - margin: 10px 0; - } - #intro-links { - position: absolute; - bottom: 17px; - left: -1px; - width: 500px; - } - #intro-links a { - display: block; - float: left; - position: relative; - padding: 64px 0 0 0; - overflow: hidden; - background-repeat: no-repeat; - background-position: top left; - height: 0; - } - #newpadbutton { - width: 212px; - background-image: url(/static/img/davy/btn/createpad-home.gif); - margin-right: 11px; - } - #betabutton { - width: 220px; - background-image: url(/static/img/davy/btn/signup-home-4.gif); - } - -/* Bottom */ - -#bottom { - padding-top: 28px; -} - -#quote { - border-bottom: 1px solid #e0e0e0; - padding-bottom: 24px; - text-shadow: 0 0 1px #F7F7F7; -} - #quote q { - width: 680px; - float: left; - font-size: 1.33em; - height: 1.5em; - } - #quote #quote-right { - width: 200px; - float: right; - text-align: right; - } - #quote #quote-right cite { - display: block; - font-size: 1.33em; - font-style: italic; - margin-bottom: 8px; - } - -#features { - border-top: 1px solid #fff; - padding-top: 22px; - text-shadow: 0 0 1px #F7F7F7; -} - #features li { - width: 213px; - float: left; - margin-left: 12px; - } - #features li.first { - margin-left: 0; - } - #features li img { - float: left; - margin-right: 8px; - } - #features li strong, - #features li span { - display: block; - margin-left: 40px; - } - #features li strong { - font-size: 16px; - font-weight: normal; - margin-bottom: 6px; - } - #features li span { - line-height: 17px; - } - -#uses { -width: 675px; -float: left; - margin-bottom: 28px; - margin-right: -12px; -position: relative; -} -#uses li { -width: 213px; -float: left; - margin-right: 12px; -} -#uses li a { - font-size: 1.5em; - font-family: Calibri, Arial, Helvetica, sans-serif; - text-shadow: 0 1px 0 #fff; -color: #214b7e; -} -#uses li a:hover { - text-decoration: none; -color: #30619c; -} -#uses li .thumb { -display: block; -width: 213px; -position: relative; -padding: 123px 0 0 0; -overflow: hidden; - background-repeat: no-repeat; - background-position: top left; -height: 0px; - margin-top: 10px; -} -#uses #use-meetings .thumb { background-image: url(/static/img/davy/gfx/use-meetings.png); } -#uses #use-programming .thumb { background-image: url(/static/img/davy/gfx/use-programming.png); } -#uses #use-writing .thumb { background-image: url(/static/img/davy/gfx/use-writing.png); } -#uses .more { -display: block; -position: absolute; -padding: 21px 0 0 0; -overflow: hidden; -background: transparent url(/static/img/davy/btn/uses-more.gif) no-repeat top left; -height: 0px; -width: 58px; -top: 0; -right: 12px; - z-index: 10; -} -* html #uses .more { -right: 24px; -} - -#blog { -width: 213px; -float: left; - margin-right: 12px; -clear: left; -} -#blog h3 { - font-family: Calibri, "Trebuchet MS", Trebuchet, Arial, Helvetica, sans-serif; -color: #666; - text-transform: uppercase; - text-shadow: 0 1px 0 #fff; - letter-spacing: 1px; -} -#blog li { -margin: 1.25em 0; -} -#blog li strong a { - font-size: 1.33em; - font-family: Calibri, Arial, Helvetica, sans-serif; - font-weight: bold; -} -#blog li small { -display: block; - font-size: .917em; - font-family: Calibri, Arial, Helvetica, sans-serif; -color: #666; -margin: 2px 0; -} -#blog li small a { -color: #4182c2; -} -#blog li span { - line-height: 1.3; -} - -#quotes { -width: 406px; -float: left; -background: #e0ecf9; -border: 1px solid #8ba9cc; - border-left: 0; - border-right: 0; -color: #334050; - font-family: Calibri, Arial, Helvetica, sans-serif; -padding: 12px 16px 0; - text-shadow: 0 0 1px #e0ecf9; -} -#quotes q { - font-size: 1.5em; - line-height: 1.22; -display: block; - text-indent: -.45em; -} -#quotes cite { - font-size: 1.33em; -display: block; - font-style: italic; - text-align: right; -margin: .5em 0 1em;; -} -#quotes .more { - text-align: right; - margin-bottom: 1em; - position: relative; - right: -.75em; - font-size: 1.167em; -} diff --git a/etherpad/src/static/css/pad.css b/etherpad/src/static/css/pad.css deleted file mode 100644 index 02c341f..0000000 --- a/etherpad/src/static/css/pad.css +++ /dev/null @@ -1,1000 +0,0 @@ -*,html.body,p { margin: 0; padding: 0; } -html { - font-size: 62.5%; -} -div.hidden { display: none; } - -/*----------------------------------------------------------------*/ -/* pad */ -/*----------------------------------------------------------------*/ -body#padbody { - font-family: verdana, helvetica, sans-serif; - background: white; - color: black; -} - -body#padbody.limwidth { - background: #d2d2d2 url(/static/img/apr09/backgrad.png) repeat-x left top; -} - -body #padoutertable { width: 100%; } -body.limwidth #padoutertable { width: 940px; margin-left: auto; margin-right: auto; } -#padoutertable td#pot_main, #padoutertable td#pot_top, #padoutertable td.potshad { - vertical-align: top; zoom: 1; position: relative; } -#padoutertable #pot_main { background: white; padding-left: 12px; padding-right: 12px; - padding-top: 2px; -} - -body.fullwidth #padoutertable .potshad { display: none; } - -/* Achieve side drop shadows on top of background gradient using two drop shadow - images for each side (one with gradient in background, one to repeat down the - page). Each side drop shadow gets a column of the padoutertable, but split into - two cells, because if a single cell is used on each side with rowspan=2 with a - tall image in it, IE 6 chooses an unsightly initial height for the top bar. -*/ -body.limwidth #padoutertable .potshad { width: 4px; } -body.limwidth #padoutertable .potshad div { height: 200px; } -body.limwidth #padoutertable #pot_shadleft { - background: url(/static/img/apr09/shadleft.png) repeat-y right top; } -body.limwidth #padoutertable #pot_shadleft div, -body.limwidth #padoutertable #pot_shadlefttopseg { - background: url(/static/img/apr09/shadlefttop.png) no-repeat right top; } -body.limwidth #padoutertable #pot_shadright { - background: url(/static/img/apr09/shadright.png) repeat-y left top; } -body.limwidth #padoutertable #pot_shadright div, -body.limwidth #padoutertable #pot_shadrighttopseg { - background: url(/static/img/apr09/shadrighttop.png) no-repeat left top; } -body.limwidth #padoutertable #pot_main, body.limwidth #padoutertable #pot_top { - border-left: 1px solid #333; - border-right: 1px solid #333; -} -body.limwidth #padoutertable #pot_main { border-bottom: 1px solid #333; } - -#padoutertable #pot_top { background: #2e609e url(/static/img/apr09/topbar.gif) repeat-x left top; - height: 28px; vertical-align: middle; - border-bottom: 1px solid #333; - padding-left: 1px; padding-right: 1px; /* a little padding helps "active" rects not extend outside */ -} - -#padpage #pot_top a#headhomelink { - display: block; float: left; - height: 0; width: 88px; - padding-top: 28px; - overflow: hidden; - text-decoration: none; - background: url(/static/img/apr09/topbarlogo.gif) no-repeat left top; -} -#padpage #pot_top a#widthlink { - display: block; float: right; - height: 0; width: 28px; - padding-top: 28px; - overflow: hidden; - text-decoration: none; -} - -#padpage #pot_top, #padpage #pot_top a { color: #cbd7e7; } -#padpage #pot_top a:focus { outline: 0; } /* for firefox */ - -body.limwidth #padpage #pot_top a#widthlink { - background: url(/static/img/apr09/widthfull.gif) no-repeat center 8px; } -body.fullwidth #padpage #pot_top a#widthlink { - background: url(/static/img/apr09/widthlim.gif) no-repeat center 8px; } -body.limwidth #padpage #pot_top a#widthlink:hover { - background: url(/static/img/apr09/widthfullactive.gif) no-repeat center 8px; } -body.fullwidth #padpage #pot_top a#widthlink:hover { - background: url(/static/img/apr09/widthlimactive.gif) no-repeat center 8px; } - -#padpage #pot_top #headurl { - margin-left: 30px; - margin-top: 5px; - float: left; - margin-right: 20px; - padding: 2px; - height: 15px; - line-height: 14px; - font-size: 1.1em; -} - -#padpage #pot_top #shareurl { font-weight: bold; } - -#padpage #pot_top #newpadlink { - display: block; float: right; margin-right: 30px; font-size: 1.0em; - font-weight: bold; text-decoration: none; - height: 0; - padding-top: 8px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 6px; - overflow: hidden; - background: url(/static/img/apr09/newpadicon.gif) no-repeat 2px 8px; -} -#padpage #pot_top a#newpadlink:hover { - text-decoration: underline; color: white; -} - -/* -body#padbody.fullwidth { - background: #ddd; -} -#padpage { - -} -body.limwidth #padcontent { - width: 940px; - margin-left: auto; - margin-right: auto; -} -#padpage #padhead { - height: 38px; - text-align: center; - margin-bottom: 4px; -} -#padpage #padhead_inner { - width: 938px; - margin-left: auto; - margin-right: auto; - padding: 0 1px; - background: url(/static/img/oct/minitopback2.gif) repeat center top; - border: 1px solid #666; - border-top: 0; -} -#padpage #padhead a#headhomelink { - display: block; - float: left; - height: 0; - width: 154px; - padding-top: 37px; - overflow: hidden; - text-decoration: none; - background: url(/static/img/oct/minitoplogo2.gif) no-repeat left top; -} -#padpage #headnewpad { - float: right; -} -#padpage #headnewpad #newbutton { - margin-top: 5px; - margin-right: 20px; -} -#padpage #headurl { - margin-left: 70px; - margin-top: 5px; - float: left; - font-size: 1.4em; - margin-right: 20px; - padding: 5px 5px 5px 5px; - height: 17px; - line-height: 17px; -} -#padpage #headurl label { - font-weight: bold; - font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; - font-size:1em; - position: relative; - top: 1px; -} -#padpage #headurl #shareurl { - border: 1px solid #999; - padding: 3px; -} -#padpage #padtablediv { - margin: 0; -} -body.limwidth #padpage #padtablediv { - margin: 0 20px; -} -*/ - -#padpage #padtable { - width: 100%; -} -#padpage #padtable td#topbar { - height: 16px; -} -#padpage #padtable div#topbarmsg { - display: none; - float: left; - color: #642; - font-size: 1.0em; - padding-top: 2px; - padding-left: 4px; - border-left: 1px solid #ccc; -} - -#padpage #topbar #connectionstatus { - float: left; - padding-top: 2px; - padding-right: 4px; - padding-left: 16px; - height: 16px; - font-size: 1.0em; - color: #666; -} -#padpage #topbar .connecting { - background: url(/static/img/pad/animated-orb-orange-12.gif) no-repeat left center; -} -#padpage #topbar .connected { - background: url(/static/img/pad/orb-greenred-12.gif) no-repeat left 3px; -} -#padpage #topbar .disconnected { - background: url(/static/img/pad/orb-greenred-12.gif) no-repeat left -17px; -} -#padpage #padtable a.showhide { - display: block; - margin: 0; - font-size: 1em; - text-decoration: none; -} -#padpage #padtable a.showhide:hover { - text-decoration: underline; -} -#padpage #padtable a.showhide, #padpage #padtable a.showhide:visited { - color: #66f; -} -#padpage #padtable a#showsidebar { - float: right; - display: none; - position: relative; - top: 2px; -} -#padpage #padtable a#hidesidebar { - float: left; - display: none; -} -/*#padpage #editorcontainer { - display: none; -}*/ -/*#padpage #toptoolbar { - display: none; -}*/ -#padpage .editorcell_loaded #editorcontainer { - background: #fff; - overflow: hidden; - display: block; -} -#padpage #toptoolbar { - border-bottom: 1px solid #666; - height: 30px; - background: #eee; - display: block; - position: relative; /* make it an offsetParent for padtitle stuff */ - overflow: hidden; -} -#padpage #bottoolbar { - border-top: 1px solid #666; - height: 30px; - background: #eee; - display: none; /* set in pad.js */ -} -#padpage #bottoolbar #viewzoom { - padding-left: 5px; - padding-top: 5px; - padding-right: 5px; - float: left; -} -#padpage #bottoolbar #viewfont { - padding-left: 5px; - padding-top: 5px; - padding-right: 5px; - float: left; -} -#padpage #editorcell { - border: 1px solid #666; -} -#padpage #toptoolbar a.toptoolbarbutton { - float: left; - height: 20px; - width: 20px; - border: 1px solid #999; - background-color: #eee; - background-repeat: no-repeat; - background-position: center center; - margin-top: 5px; - text-decoration: none; -} -#padpage #toptoolbar.disabledtoolbar a.toptoolbarbutton { - opacity: 0.5; - filter: alpha(opacity = 50); /* IE */ - zoom: 1; - cursor: auto; -} -#padpage #toptoolbar #padtitle { - float: left; - margin-top: 5px; - margin-left: 20px; - line-height: 20px; - width: 400px; - height: 20px; - overflow: hidden; - display: none; -} -#padpage #toptoolbar .padtitlepad { - font-style: italic; - color: #666; - font-size: 1.2em; -} -#padpage #toptoolbar #padtitletitle { - font-weight: bold; - font-size: 1.2em; -} -#padpage #toptoolbar .editlink { - font-size: 1em; - color: #666; -} -#padpage #toptoolbar .oklink { - display: none; - z-index: 2; - position: absolute; - line-height: 20px; - font-size: 1em; -} -#padpage #toptoolbar #padtitleedit { - z-index: 2; - position: absolute; - left: 0; - top: 0; - display: none; -} -#padpage #toptoolbar a:focus { - outline: 0; -} -#padpage #toptoolbar .bold { background-image: url(/static/img/may09/bold.gif); } -#padpage #toptoolbar .italic { background-image: url(/static/img/may09/italic.gif); } -#padpage #toptoolbar .underline { background-image: url(/static/img/may09/underline.gif); } -#padpage #toptoolbar .undo { background-image: url(/static/img/may09/undo.gif); } -#padpage #toptoolbar .redo { background-image: url(/static/img/may09/redo.gif); } -#padpage #toptoolbar .bold, #padpage #toptoolbar .undo { - margin-left: 5px; -} -#padpage #toptoolbar #passwordlock { - float: right; - margin-top: 5px; - margin-right: 5px; - width: 22px; - height: 22px; - text-decoration: none; -} -#padpage #toptoolbar a#passwordlock:hover { - background-color: #ffffee; -} -#padpage #toptoolbar .passwordhidden { display: none; } -#padpage #toptoolbar .passwordlocked { - display: block; - background: url(/static/img/may09/passwordlocked.gif) no-repeat center center; -} -#padpage #toptoolbar .passwordnone { - display: block; - background: url(/static/img/may09/passwordnone.gif) no-repeat center center; -} -#padpage #sidebarcell {} -#padpage #sidebar { - width: 300px; - border-top: 1px solid #666; - border-right: 1px solid #666; - border-bottom: 1px solid #666; - background: #fff; - overflow: auto; -} -#padpage div.sidebar_loading { - border-left: 1px solid #666; -} -#padpage #editorcontainer iframe { - width: 100%; - padding:0; - margin:0; -} -#padpage #appjetfooter { - padding: 3px 3px; - font-family: Verdana, Helvetica, sans-serif; - font-size: 1em; - text-align: right; -} -div#djs { - font-family: monospace; - font-size: 10pt; - height: 300px; - overflow: scroll; - border: 1px solid #ccc; - background: #fee; - margin: 5px 0; - padding: 6px; -} -div#djs p { margin: 0; padding: 0; display: block; } -#padpage a.small_link { - font-style: normal; - color: #66f; - text-decoration: none; - font-size: 1.1em; -} -#padpage a.small_link:hover { text-decoration: underline; } -#padpage .editorcell_loading #editorcellinner { - height: 400px; /* make #sizedcontent stretch the outer table for height calc */ -} -#padpage #editorcellinner { - position: relative; - zoom: 1; -} -#padpage #loadingbox { - padding-top: 100px; - padding-bottom: 100px; - font-size: 2.5em; - color: #aaa; - text-align: center; - position: absolute; - width: 100%; - height: 30px; - z-index: 100; -} -/*----------------------------------------------------------------*/ -/* userlist */ -/*----------------------------------------------------------------*/ -#sidebar div.sideheadwrap { - font-weight: normal; - font-size: 1.2em; - text-align: center; - padding: 3px 6px; - background: #eee url(/static/img/pad/sidehead-grad.gif) repeat-x bottom left; - border-bottom: 1px solid #666; - cursor: pointer; - zoom: 1; -} -#sidebar div.sh_hilited { - background-image: url(/static/img/oct/sidehead-gradhilite.gif); -} -#sidebar div.sideheadwrap p.sidehead { - display: block; - text-align: left; - padding: 0 0 0 18px; - margin: 0; -} -#sidebar div.sh_uncollapsed p.sidehead { - background: url(/static/img/pad/expandy-arrow6-down.gif) no-repeat center left; -} -#sidebar div.sh_collapsed p.sidehead { - background: url(/static/img/pad/expandy-arrow6-right.gif) no-repeat center left; -} -#sidebar div.sideheadwrap:hover { - cursor: pointer; - background: #bbb; -} -#sidebar div.sh_uncollapsed:hover p.sidehead { - background: url(/static/img/pad/expandy-arrow6-down-active.gif) no-repeat center left; -} -#sidebar div.sh_collapsed:hover p.sidehead { - background: url(/static/img/pad/expandy-arrow6-right-active.gif) no-repeat center left; -} -#sidebar div.sidebox { margin-bottom: 10px; } -#sidebar div#chatbox { margin-bottom: 2px; } -#sidebar div.sidebox_last { margin-bottom: 0; } -#sidebar #userlist div.userbox { - border-bottom: 1px solid #ccc; -} -#sidebar #userlist div.lastuser { - border-bottom: 0; -} -#sidebar #userlist div.userbox div.userinfo { - font-style: italic; - margin-top: 3px; -} -#sidebar #userlist div.userbox div.userinfo span.username { - padding-bottom: 4px; - font-size: 1.2em; -} -#sidebar #userlist div.userbox div.userinfo div.ip { - color: #999; - font-size: 1em; - margin-bottom: 3px; -} -#sidebar #userlist div.userbox div.usercolor { - border: 1px solid black; - width: 12px; - height: 12px; - float: left; - margin: 6px; - margin-top: 3px; - margin-left: 0; -} -#sidebar #userlist div.userbox div#rightuserlink { - float: right; - text-align: right; - width: 120px; -} -#sidebar #userlist a#changenamelink { - padding-right: 18px; - background: url(/static/img/pad/pencil-icon-small-blue.gif) no-repeat top right; -} -#sidebar #userlist div.userinfowrap { - padding: 6px 0 6px 6px; -} -#sidebar #userlist div.myuserwrap:hover { - cursor: pointer; - background: #eee; -} -/*----------------------------------------------------------------*/ -/* editing my user info */ -/*----------------------------------------------------------------*/ -#userlist div.edituserinfo { - color: black; - padding: 6px 0 12px 12px; -} -#userlist div.edituserinfo p { - font-size: 1.2em; - margin: 8px 4px; -} -#userlist div.edituserinfo h4 { - margin-top: 1em; - margin-left: 4px; - font-size: 1.3em; - color: black; - font-weight: bold; -} -#userlist div.edituserinfo input { - width: 260px; -} -#userlist div.edituserinfo button { - margin: 8px 4px; -} -#colorpicker a { - border: 3px solid #ccc; - text-decoration: none; - display: block; - width: 12px; - height: 12px; - float: left; - margin: 4px; - cursor: pointer; -} -#colorpicker a.selectedcolor { - border: 3px solid black; -} -#colorpicker a:hover { - border: 3px solid black; -} -/*----------------------------------------------------------------*/ -/* invitemore */ -/*----------------------------------------------------------------*/ -#sidebar #invitemore { - display: none; - text-align: center; - margin-top: 10px; - font-size: 1.1em; -} -#sidebar #invitemore input { - font-size: 1.1em; -} -#sidebar #invitemore a {} -#sidebar #invitemore #inviteinstructions { - background-color: #efe; - border: 1px solid #ccc; -} -#sidebar #invitemore #inviteinstructions p { - text-align: justify; - padding: .4em 1em; -} -#sidebar #invitemore #inviteinstructions p#hideinstructions { - text-align: center; -} -#sidebar #invitemore #inviteinstructions p#emailinviteleadin { - margin-top: .6em; -} -#sidebar #invite_email { width: 160px; } -#sidebar #invitemore #inviteinstructions #invite_email_submit {} -#sidebar #invitemore #invite_email_status { color: #642; } -/*----------------------------------------------------------------*/ -/* prefs */ -/*----------------------------------------------------------------*/ -#sidebar div#headprefs { border-top: 1px solid #666; } -#sidebar div#headfeedback { border-top: 1px solid #666; } -#sidebar div#headrevisions { border-top: 1px solid #666; } -#sidebar div#headchatbox { border-top: 1px solid #666; } -#sidebar div#headimportexport { border-top: 1px solid #666; } -#sidebar #prefs div.prefcheckbox { - margin: 0; - cursor: pointer; - border: 1px solid #fff; - font-size: 1em; -} -#sidebar #prefs div.prefcheckbox td.checkboxcell { - padding: 0 4px; -} -#sidebar #prefs div.prefcheckbox td.labelcell { - padding: 3px 4px; -} -#sidebar #prefs div.prefcheckbox:hover { - cursor: pointer; - background-color: #def; - border: 1px solid #aaa; -} -/*----------------------------------------------------------------*/ -/* revisions */ -/*----------------------------------------------------------------*/ -#sidebar #revisions { - text-align: center; -} -#sidebar #revisionlist {} -#sidebar #revisions input#savenow { - width: 260px; - margin-left: auto; margin-right: auto; - margin-top: 6px; margin-bottom: 6px; -} -#sidebar #revisions .revisioninfo { - text-align: left; - font-size: 1.1em; - border-top: 1px solid #ccc; - padding: 3px 2px 3px 6px; -} -#sidebar #revisions .revisioninfo .ractions { - color: #aaa; - font-size: 1em; -} -#sidebar #revisions .revisioninfo .rleft { - width: 96px; - float: left; -} -#sidebar #revisions .revisioninfo .editrlabel { - padding-left: 16px; - background: url(/static/img/pad/pencil-icon-small-blue.gif) no-repeat center left; -} -#sidebar #revisions .revisioninfo .rright { - margin-left: 18px; - color: #777; - font-style: italic; -} -#sidebar #revisions .revisionbottomlinks { - border-top: 1px solid #eee; - padding-top: 5px; - color: #888; - font-size: 1.1em; -} -#sidebar #revisions #nosaveprivs { - display: none; - color: #282; - font-size: 1.2em; - padding: 1em; -} -#sidebar #revisions p.revlabelprompt { - color: #444; - padding: 2px; -} -#sidebar #revisions input.inputrevlabel { - display: block; - width: 260px; - margin-left: auto; margin-right: auto; - margin-top: 6px; margin-bottom: 6px; - border: 1px solid #ccf; -} - -/*----------------------------------------------------------------*/ -/* feedback */ -/*----------------------------------------------------------------*/ -#sidebar #feedback { - background: #eee; - padding: 1px 8px; /* non-zero padding so that background extends */ - border-bottom: 1px solid #bbb; - text-align: center; - padding-bottom: 12px; -} -#sidebar #feedback p { - font-size: 1.1em; - margin: 10px 0; - color: #333; - text-align: justify; -} -#sidebar #feedback p em { - font-weight: bold; - font-style: italic; -} -#sidebar #feedback #formbox { - width: 260px; - margin-left: auto; - margin-right: auto; - zoom: 1; - positive: relative; -} -#sidebar #feedback textarea { - width: 100%; - margin-left: auto; - margin-right: auto; - height: 100px; -} -#sidebar #feedbacksubmit { - width: 100%; - text-align: center; - margin-left: auto; - margin-right: auto; -} -#sidebar #feedbackresult { - display: none; -} -/*----------------------------------------------------------------*/ -/* other */ -/*----------------------------------------------------------------*/ -a#newbutton { - font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; - font-size:1.2em; - line-height:1.0; - margin:0 0 0 0; - text-decoration:none; - - background-color:#eee; - border:1px solid #999; - border-top: 1px solid #bbb; - border-bottom: 1px solid #666; - - padding:5px 5px 3px 5px; - - cursor:pointer; - font-weight:bold; - color:#555; - display: block; -} -a#newbutton:hover { - background-color: #ddd; - border: 1px solid #999; - color: #333; -} -a#newbutton img { - padding:0; - padding-bottom: 2px; - border:none; - width: 16px; - height: 16px; - vertical-align: middle; -} - -#framedpage #notice { - padding: 40px 20px; -} -#framedpage #notice p { - margin: 16px 0; -} - -img#plane { border: 0; vertical-align: middle; } - -/*----------------------------------------------------------------*/ -/* top msgs */ -/*----------------------------------------------------------------*/ - -div.topmsg { - zoom: 1; - margin: 5px 0; - position: relative; -} -div.topmsg a#hidetopmsg { - position: absolute; - right: 5px; - bottom: 5px; -} - -div#bigtoperror_wrap { - border: 1px solid #a66; - background: #fdd; - font-size: 1.2em; - padding: 1em; - padding-bottom: .5em; -} -div#bigtoperror_wrap p { - margin-bottom: 6px; - color: #222; -} -div#bigtoperror_wrap p.whynote { - color: #444; -} -div#bigtoperror_wrap p.whynote a { - color: #33f; -} -div#bigtoperror_wrap button.forcereconnect { - margin-top: 6px; -} -div#bigtoperror_wrap a { color: #00a; } -div#bigtoperror_wrap a:visited { color: #00a; } - -div#servermsg { - position: relative; - border: 1px solid #992; - background: #ffc; - padding: 1em; -} - -/*----------------------------------------------------------------*/ -/* chat */ -/*----------------------------------------------------------------*/ -#chatbox {} -#chatbox #chatmessages { - margin: 0; - margin-bottom: 2px; - height: 160px; - border: 1px solid #ccc; - overflow: auto; -} -#chatbox div.chatmessage { padding: 2px 0; } -#chatbox div.chatusermessage0 { background-color: #eee; } -#chatbox span.chatname { font-style: italic; } -#chatbox span.chattime { font-style: italic; color: #444; } -#chatbox span.chatline { color: #222; } -#chatbox input#chatinput { width: 100%; } -#chatbox #chatsaytable { - width: 270px; - margin-left: auto; - margin-right: auto; - padding: 0; - border-spacing: 0; -} -#chatbox #chatsaytable td { padding: 0 2px; } - -/*----------------------------------------------------------------*/ -/* import/export */ -/*----------------------------------------------------------------*/ - -#importexport td.exportpic a img { - border: 0; -} - -#importexport .exportspinner { - display: none; -} - -#importexport .exportspinner img { - margin-left: 7px; -} - -#importexport a.disabledexport { - color: gray; -} - -#importexport { - font-size: 1em; - font-family: verdana, helvetica, sans-serif; -} - -#importexport .exportlink { - margin: 2px 0; -} - -#importexport td.labelcell { - padding-left: 4px; -} - -#importexport td.firsttd { - padding-left: 10px; -} - -#importexport td.secondtd { - padding-left: 50px; -} - -#importexport #headexport { - font-size: 1.1em; - margin: 7px; - margin-top: 10px; -} - -#importexport #importsection { - border-top: 1px solid #ccc; - margin-top: 5px; - padding-top: 3px; -} - -#importexport .importformdiv { - padding: 5px 15px; -} - -#importexport #importformsubmitdiv { - margin-top: 5px; -} - -.importformenabled { - background: #cfc; - border-top: 1px solid #292; - border-bottom: 1px solid #292; -} - -#importexport #headimport { - font-size: 1.1em; - margin: 7px; -} - -#importexport .importmessage { - display: none; - border: 1px solid #992; - background: #ffc; - padding: 5px; -} - -#importexport #exportmessage { - display: none; - border: 1px solid #992; - background: #ffc; - padding: 5px; - margin: 10px 15px; -} - -#importexport #importmessagefail { - margin-top: 10px; - margin-bottom: 5px; -} - -#importexport #importmessagesuccess { - margin: 0 20px; -} - -#importexport #importstatusball { - display: none; - padding-bottom: 3px; -} - -#importexport #importarrow { - display: none; - margin-left: 5px; -} - -span.nowrap { - white-space: nowrap; -} - -#sidebar #prefs div.prefcheckbox { - margin: 0; - cursor: pointer; - border: 1px solid #fff; - font-size: 1em; -} -#sidebar #prefs div.prefcheckbox td.checkboxcell { - padding: 0 4px; -} -#sidebar #prefs div.prefcheckbox td.labelcell { - padding: 3px 4px; -} -#sidebar #prefs div.prefcheckbox:hover { - cursor: pointer; - background-color: #def; - border: 1px solid #aaa; -} - -/*----------------------------------------------------------------*/ -/* modal dialogs */ -/*----------------------------------------------------------------*/ - -#modaloverlay { - position: absolute; - z-index: 100; - background-image: url(/static/img/apr09/black35.png); - zoom: 1; - display: none; - left: 0; top: 0; - width: 100%; -} - -* html #modaloverlay { /* for IE 6+ */ - background-color: transparent; - background-image: url(/static/img/apr09/blank.gif); - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/static/img/apr09/black35.png", sizingMethod="scale"); -} - -#modaldialog { - border: 1px solid #333; - background: #ddd; - width: 400px; - margin-left: auto; - margin-right: auto; - position: relative; -} - -#dialogtopbar { - height: 18px; - border-bottom: 1px solid #333; - background: #2e609e url(/static/img/apr09/modalbar.gif) repeat-x left top; - color: #cbd7e7; - font-size: 1.0em; - font-weight: bold; - line-height: 18px; - padding-left: 10px; - cursor: default; -} - -td#dialogcontent { - padding: 10px; - height: 100px; - vertical-align: top; -} - -table#dialogcontenttable { width: 100%; } diff --git a/etherpad/src/static/css/pad2_ejs.css b/etherpad/src/static/css/pad2_ejs.css index 4b3d7e6..0029e7d 100644 --- a/etherpad/src/static/css/pad2_ejs.css +++ b/etherpad/src/static/css/pad2_ejs.css @@ -27,18 +27,6 @@ body.squish2width #padpage { width: 700px; } .propad #topbar { background: #2c2c2c url(/static/img/jun09/pad/protop.gif) repeat-x 0 -25px; } .propad #topbarleft { background: url(/static/img/jun09/pad/protop.gif) no-repeat left top; } .propad #topbarright { background: url(/static/img/jun09/pad/protop.gif) no-repeat right top; } - -/* -a#topbarnewpad { display: block; float: left; position: relative; top: 4px; width: 94px; - height: 0; padding-top: 26px; overflow: hidden; - background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -5px -4px; } -a#topbarnewpad:focus { outline: 0; } - -a#topbarfullwidth { display: block; float: right; position: relative; top: 2px; width: 107px; - height: 0; padding-top: 27px; overflow: hidden; - background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -788px -2px; } -a#topbarfullwidth:focus { outline: 0; } -*/ a#backtoprosite, #accountnav { display: block; position: absolute; height: 15px; line-height: 15px; @@ -78,41 +66,41 @@ a#hidetopmsg { position: absolute; right: 5px; bottom: 5px; } #docbar { margin-top: 6px; height: 30px; position: relative; zoom: 1; background: #fbfbfb url(/static/img/jun09/pad/padtopback2.gif) repeat-x 0 -31px; } -#docbarleft { position: absolute; left: 0; top: 0; height: 100%; - overflow: hidden; - background: url(/static/img/jun09/pad/padtop5.gif) no-repeat left -31px; width: 7px; } +.docbarbutton +{ + padding: 2px; + border-left: 1px solid #CCC; +} -<% function docbarButton(name, width, imgleft, posright, hoverimgleft, openimgleft) { - return ("#docbar$name$-outer { width: "+width+"px; position: absolute; height: 30px; top: 0; right: "+posright+"px; "+ - "background: url(/static/img/jun09/pad/padtop5.gif) no-repeat "+(-imgleft)+"px -31px; "+ - "/* avoid IE flicker using double background */ }"+ - "a#docbar$name$ { display: block; height: 0; padding-top: 30px; position: absolute; width: 100%; "+ - "overflow: hidden; background: url(/static/img/jun09/pad/padtop5.gif) no-repeat "+(-imgleft)+"px -31px; "+ - "z-index: 53; /* > .dbpanel-wrapper */} "+ - "a#docbar$name$:focus { outline: 0; } "+ - "a#docbar$name$:hover { background: url(/static/img/jun09/pad/docbarstates3.png) no-repeat "+(-hoverimgleft)+"px 0; } "+ - ".docbar$name$-opening a#docbar$name$, .docbar$name$-opening a#docbar$name$:hover, .docbar$name$-closing a#docbar$name$, .docbar$name$-closing a#docbar$name$:hover, .docbar$name$-open a#docbar$name$, .docbar$name$-open a#docbar$name$:hover { "+ - "background: url(/static/img/jun09/pad/docbarstates3.png) no-repeat "+(-openimgleft)+"px 0; } "+ - "a#docbar$name$:hover, .docbar$name$-closing a#docbar$name$ { padding-top: 29px; } "+ - ".docbar$name$-opening a#docbar$name$, .docbar$name$-opening a#docbar$name$:hover { "+ - "/* opening or closing: link covers gray line below it */ "+ - "padding-top: 30px; }"+ - ".docbar$name$-open a#docbar$name$, .docbar$name$-open a#docbar$name$:hover { "+ - "/* link covers gray line below it, and also top highlight of panel */ "+ - "padding-top: 30px; }").replace(/\$name\$/g, name); -} %> +.docbarbutton img +{ + border: 0px; + width: 13px; + height: 13px; + position: relative; + top: 2px; + margin-right: 2px; +} -<% // include left border, not right %> -<%= docbarButton("savedrevs", 128, 669, 103, 123, 123) %> -<%= docbarButton("impexp", 122, 547, 231, 0, 0) %> -<%= docbarButton("options", 109, 438, 353, 379, 379) %> -<%= docbarButton("security", 85, 353, 462, 489, 489) %> +.docbarbutton a +{ + font-size:10px; + text-decoration: none; + color: #444; + font-weight: bold; + float: right; +} -#docbarslider-outer { width: 104px; position: absolute; height: 30px; top: 0; right: 0; - background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -796px -31px; - /* avoid IE flicker using double background */ } -a#docbarslider { display: block; height: 0; padding-top: 30px; position: absolute; width: 100%; - overflow: hidden; background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -796px -31px; z-index: 53; /* > .dbpanel-wrapper */} +#docbarslider-outer +{ + background-color: #fef2bd; + border: 1px solid #CCC; + border-right: 0px; +} + +#docbarleft { position: absolute; left: 0; top: 0; height: 100%; + overflow: hidden; + background: url(/static/img/jun09/pad/padtop5.gif) no-repeat left -31px; width: 7px; } <% /* changing the size of the title / rename area means adjusting the #docbarpadtitle.width, #padtitlebuttons.left, @@ -130,21 +118,21 @@ a#docbarslider { display: block; height: 0; padding-top: 30px; position: absolut font-size: 1.1em; display: none; } #docbarrenamelink a { color: #999; } #docbarrenamelink a:hover { color: #48d; } -#padtitlebuttons { position: absolute; width: 120px; zoom: 1; - height: 22px; top: 4px; left: 223px; display: none; - background: url(/static/img/jun09/pad/padtop5.gif) -19px -35px; } +#padtitlebuttons { position: absolute; width: 74px; zoom: 1; + height: 17px; top: 6px; left: 170px; display: none; + background: url(/static/img/jun09/pad/ok_or_cancel.gif) 0px 0px; } #padtitlesave { position: absolute; display: block; - height: 0; padding-top: 22px; overflow: hidden; - width: 49px; left: 0; top: 0; } + height: 0; padding-top: 17px; overflow: hidden; + width: 23px; left: 0; top: 0; } #padtitlecancel { position: absolute; display: block; - height: 0; padding-top: 22px; overflow: hidden; - width: 49px; right: 0; top: 0; } + height: 0; padding-top: 17px; overflow: hidden; + width: 35px; right: 0; top: 0; } #padtitleedit { position: absolute; top: 4px; left: 5px; height: 17px; padding: 2px; font-size: 1.4em; background: white; border-left: 1px solid #c3c3c3; border-top: 1px solid #c3c3c3; border-right: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; - width: 207px; display: none; + width: 150px; display: none; } #padmain { margin-top: 6px; position: relative; zoom: 1; } diff --git a/etherpad/src/static/css/pne-manual.css b/etherpad/src/static/css/pne-manual.css deleted file mode 100644 index 19f1ba0..0000000 --- a/etherpad/src/static/css/pne-manual.css +++ /dev/null @@ -1,143 +0,0 @@ -/* global */ - -div.pne-manpage { - font-size: 1.1em; -} - -.pne-manual-topnav { - border-bottom: 1px solid #ccc; - margin-bottom: 1em; - padding-bottom: 4px; -} - -div.pne-manpage h2 { - color: #111; - border-bottom: 1px solid #111; -} - -div.pne-manpage ul,ol { - padding-left: 2em; -} -div.pne-manpage li { - margin-top: .4em; -} -div.pne-manpage ol li { - list-style: decimal; - margin-top: 1em; -} - - -div.pne-manpage tt { - font-family: monospace; - font-size: 1.1em; - color: #040; - font-style: italic; -} - -div.pne-manpage div.code { - font-family: monospace; - font-size: 1.0em; - padding: 0 1em; - border: 1px solid #ccc; - background: #eee; - margin: 0; -} - -div.pne-manpage div.code span.prompt { - color: #609; -} - -div.pne-manpage div.code tt { - font-style: normal; - font-size: 1.0em; - color: #00f; -} - -div.pne-manpage div.code p { - line-height: 125%; - margin: 1em 0; - padding: 0; -} - -/* main */ - -div#pne-main h2 { - font-size: 1.4em; - color: black; - font-weight: bold; - border: 0; - margin: 0; - padding: 0; -} -div#pne-main h3 { - font-size: 1.1em; - color: #555; - font-style: italic; -} -div#pne-main h4 { - color: #888; - margin-top: 2em; - font-weight: bold; -} -div#pne-main ul { - padding-left: 2em; -} -div#pne-main ul li { - list-style: square; -} -div#pne-main p#version-notice { - font-size: 88%; - color: #333; - margin-top: 2em; - border-top: 1px solid #ccc; -} - -/* configuration-guide */ - -table#opts { - width: 100%; - border-top: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 0; - border-bottom: 0; - margin: 2em 0 1em 0; -} -table#opts td, table#opts th { - padding: 4px 0; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} -table#opts td { - font-family: monospace; -} -table#opts td.desc { - font-family: Verdana, sans-serif; -} -table#opts th { - text-align: left; - font-weight: bold; -} -table#opts td.rowhead { - padding-top: 1em; - font-style: italic; - color: #222; - border-bottom: 1px solid #222; -} - -/* changelog */ - -div#pne-changelog h2 { - margin-top: 2em; -} - -div#pne-changelog h3 { - font-weight: bold; - padding-left: 1em; - margin: 1em 0; -} - -div#pne-changelog ul { - padding-left: 3em; -} - - diff --git a/etherpad/src/static/css/pricing.css b/etherpad/src/static/css/pricing.css deleted file mode 100644 index 0b7c9d5..0000000 --- a/etherpad/src/static/css/pricing.css +++ /dev/null @@ -1,153 +0,0 @@ -/*----------------------------------------------------------------*/ -/* pricing */ -/*----------------------------------------------------------------*/ - -div.pricingpage { -} - -.pricingpage form#pricingcontact { - display: block; - margin: 1em 0; - background: #eee; - border: 1px solid #ccc; - padding: 1em; -} -.pricingpage form#pricingcontact p { margin: .75em 0; font-weight: bold; } -.pricingpage form#pricingcontact ul li { list-style: none; margin: 0;} - -.pricingpage .eepnet-inquiry label { - display: block; - float: left; - width: 140px; - text-align: right; - font-weight: normal; - color: #444; -} -.pricingpage .eepnet-inquiry input.ti, -.pricingpage .eepnet-inquiry select { - width: 240px; - margin-left: 12px; -} -.pricingpage .eepnet-inquiry button { - width: 100px; - margin-left: 160px; -} -.pricingpage div.inquiryhead { - font-weight: bold; - color: #000; - margin-bottom: 1em; - border-bottom: 2px solid #aaa; -} - -.pricingpage div#errorbox, .pricingpage div#confirmbox { - color: #222; - font-weight: bold; - padding: 1em .5em; -} -.pricingpage div#errorbox { - background: #fee; - border: 1px solid #f66; -} -.pricingpage div#confirmbox { - background: #efe; - border: 1px solid #ccc; -} - -a.pricingbox { - display: block; - height: 280px; - border: 1px solid #777; - background: #fcfcfc; - cursor: pointer; - text-align: center; - text-decoration: none; -} - -a.pricingbox span { - display: block; -} - -a.pricingbox span#buylink { - display: inline; - color: #004ca8; -} - -a.pricingbox span#buylink:hover { - text-decoration: underline; -} - -a.pricingbox:hover { - background: #e2f2ff; - border: 1px solid #000; - text-decoration: none; -} - -a.pricingbox img { - margin: 10px 0; - border: 0; -} - -a.pricingbox span.pricingtitle { - display: block; - margin-top: 5px; - margin-left: 10px; - font-size: 1.2em; - color: #119; - text-decoration: underline; -} - -a.pricingbox span.pricingdesc { - display: block; - color: #555; - margin: 10px; - height: 4.25em; -} - -a.pricingbox span.pricingcost { - top: 10px; - display: block; - color: #000; - margin: 10px; - font-weight: bold; -} - -a.pricingbox span.pricingcost p { - font-weight: normal; -} - -#freetrialwrap a.freetrialbox { - padding-top: 4px; - display: block; - border: 1px solid #ccc; - background: #eee; - cursor: pointer; - color: #000; - text-decoration: underline; -} -#freetrialwrap a.freetrialbox:hover { - background: #def; -} -#freetrialwrap a.freetrialbox span.freetrialtext { - margin-top: 7px; - float: left; -} -a.freetrialbox img { - border: 0; - float: left; - margin: 5px 10px; -} - -a.pro-signup-button { - display: block - border: 0; - cursor: pointer; - color: #fff; - font-weight: bold; - overflow: visible; - padding: 0; - background: #70a4ec; - border: 1px solid #3773c6; - padding: 4px 6px; - margin-top: 4px; -} - diff --git a/etherpad/src/static/css/pro/payment-required.css b/etherpad/src/static/css/pro/payment-required.css deleted file mode 100644 index 44d55b2..0000000 --- a/etherpad/src/static/css/pro/payment-required.css +++ /dev/null @@ -1,39 +0,0 @@ - -#outside{ - padding: 0 0 0 266px; - background: url(/static/img/pro/billing/cards-button.gif) 50px 25px no-repeat; -} - -#inside { - margin: 0; - padding: 1em; - border-left: 1px solid #ccc; - background: #fff; -} - -h1 { - font-weight: bold; - font-size: 1.33em; - border-bottom: 1px solid #ccc; -} - -#message { - border: 1px solid #b97; - background: #ffe; - padding: 1em; - margin: 1em 0; -} - -a.manage-billing-button { - display: block - border: 0; - cursor: pointer; - color: #fff; - font-weight: bold; - overflow: visible; - background: #70a4ec; - border: 1px solid #3773c6; - padding: 8px 12px; - margin-top: 4px; -} - diff --git a/etherpad/src/static/css/stats.css b/etherpad/src/static/css/stats.css deleted file mode 100644 index 25dd074..0000000 --- a/etherpad/src/static/css/stats.css +++ /dev/null @@ -1,71 +0,0 @@ -div.statentry { - width: 600px; - border: 1px solid #060; - background: #afa; - margin: 1em; -} - -body { - margin: 0; -} - -div.warning { - background: #ffa; - border: 1px solid #630; -} - -div.error { - background: #faa; - border: 1px solid #600; -} - -.statentry h2 { - font-size: 13pt; - font-family: sans-serif; - background: #0a0; - color: white; - padding: 5px; - margin: 0; - cursor: pointer; -} - -.statentry h2:hover { - text-decoration: underline; -} - -.warning h2 { - background: #ea0; -} - -.error h2 { - background: #a00; -} - -.statentry th { - padding: 3px; - font-weight: normal; -} - -.statentry td { - text-align: left; - padding: 3px; - width: 400px; - font-size: 24px; -} - -.statentry table { - width: 100%; -} - -.statbody { - display: none; -} - -/*div.categorywrapper { - -moz-column-width: 500px; - -moz-column-gap: 20px; - -webkit-column-width: 500px; - -webkit-column-gap: 20px; - column-width: 500px; - column-gap: 20px; -}*/
\ No newline at end of file diff --git a/etherpad/src/static/css/store/eepnet-checkout.css b/etherpad/src/static/css/store/eepnet-checkout.css deleted file mode 100644 index 20254af..0000000 --- a/etherpad/src/static/css/store/eepnet-checkout.css +++ /dev/null @@ -1,284 +0,0 @@ -#shoppingmain dt { - margin: 0.5em; - margin-left: 0.5em; - font-weight: bold; - line-height: 120%; -} - -#shoppingmain dd { - margin: 0.5em; - margin-top: 1em; - margin-bottom: 2em; - line-height: 120%; -} - -#shoppingmain dd:first-letter, -#shoppingmain dt:first-letter { - font-weight: bold; -} - -#shoppingmain table { - background: #eef; - width: 100%; -} - -#shoppingmain table tr {} -#shoppingmain > table td, -#shoppingmain > table th { - padding: 6px 8px; -} - -#shoppingmain { - width: 100%; - border: 1px solid #ccc; -} - -#shoppingmain p { - margin: 1em; -} - -#shoppingmain a { - text-decoration: underline; -} - -#shoppingmain ul, -#shoppingmain ol { - margin-right: 1em; -} - -#shoppingmain h3 { - background: #eee; - padding: 0.5em 1em; - border-bottom: 1px solid #ccc; - font-weight: bold; - font-size: 110%; -} - -#shoppingwrapper { - width: 580px; -} - -.shoppingcart table td.pcell, table th.pcell { - text-align: right; - white-space: nowrap; -} - -#shoppingcart { - border: 1px solid #ccc; - background: white; -} - -.shoppingcart table { - width: 100%; -} - -.shoppingcart table th { - font-weight: bold; - background: #eee; - border-bottom: 1px solid #ccc; -} - -.shoppingcart table td { - padding: 0 3px; -} - -.shoppingcart table th { - padding: 5px; -} - -div.checkoutnav { - padding-top: 10px; - clear: both; - display: block; - text-align: center; -} - -.center, -.center td { - text-align: center; -} - -div.errormsg { - border: 1px solid #caa; - padding: 1em; - margin: 1em 0; -} - -div.errormsg, -table tr.error, -p.error, -div.error { - background: #fdd; -} - -div.innererrormsg { - margin: 1em; - border: 1px solid #aca; - padding: 1em; - background: #dfd; -} - -a#cschelp { - font-size: 7pt; - color: blue; - border-bottom: 1px dashed blue; -} - -table tr.total td { - font-weight: bold; -} - -#shoppingcart { - width: 250px; - float: right; - font-size: 85%; -} - -.shoppingcart span.desc { - display: block; - padding-top: 4px; - padding-left: 10px; - font-style: italic; -} - -table tr.withoutsubtotal td, -table tr.subtotal td { - border-top: 1px solid #ccc; -} - -#backbutton { - float: right; - padding: 5px; -} - -#continuebutton { - float: right; - padding: 5px; -} - -.shoppingcart tr.base td { - padding-top: 5px; -} - -.shoppingcart tr.refer td { - color: green; - font-weight: bold; -} - -.shoppingcart tr.support td { - padding-top: 10px; -} - -.shoppingcart tr.referralbonus td { - padding-top: 10px; -} - -.shoppingcart tr.spacer td { - padding-top: 10px; -} - -.shoppingcart tr.subtotal td { - padding-top: 5px; -} - -.shoppingcart tr.referraldiscount td { - padding-top: 5px; -} - -.shoppingcart tr.total td { - padding-top: 5px; - padding-bottom: 5px; -} - -.shoppingcart td.noitems { - text-align: center; - padding-top: 15px; -} - -.paymentbutton label { - cursor: pointer; -} - -.billingtable td.pcell { - width: 300px; -} - -.billingtable tr.intonly { - display: none; -} - -.billingtable #ccimages img.ccimageselected { - border: 3px solid #0f0; - opacity: 1; -} - -.billingtable #ccimages img { - border: 3px solid #eef; - opacity: 0.5; -} - -input[type="text"].greenborder { - border: 1px solid #0f0; -} - -input[type="text"].redborder { - border: 1px solid #f00; -} - -input[type="text"] { - border: 1px solid black; - padding: 2px; -} - -td.tcell { - width: 200px; -} - -#shoppingmain td { - font-weight: bold; -} - -#shoppingmain input, -#shoppingmain p, -#shoppingmain td, -#shoppingmain li { - font-size: 85%; -} - -h4 { - font-weight: bold; - font-size: 100%; - margin: 10px; - margin-top: 20px; -} - -h4 .editlink { - font-size: 75%; -} - -span.item .editlink { - font-size: 75%; -} - -span.desc .editlink { - font-size: 75%; - font-style: normal; -} - -.paymentbutton { - padding-left: 1.5em; -} - -div.position { - font-size: 80%; - color: #999; - padding-bottom: 10px; -} - -div.position .current { - color: #f93; -} - -span.poslabel { - padding: 0 1em; -} diff --git a/etherpad/src/static/css/store/ondemand-billing.css b/etherpad/src/static/css/store/ondemand-billing.css deleted file mode 100644 index 7c4afe3..0000000 --- a/etherpad/src/static/css/store/ondemand-billing.css +++ /dev/null @@ -1,170 +0,0 @@ -input[type="text"].greenborder { - border: 1px solid #0f0; -} - -input[type="text"].redborder { - border: 1px solid #f00; -} - -input[type="text"] { - border: 1px solid black; - padding: 2px; -} - -h4 { - font-weight: bold; - margin-bottom: 0.75em; - margin-top: 1em; - margin-left: 15px; -} - -div.billinginfo { - margin-left: 65px; - border-left: 1px solid gray; - border-right: 1px solid gray; - border-top: 1px solid gray; - border-bottom: 1px solid gray; - width: 600px; -} - -.billinginfo table.billingtable { - width: 100%; - margin: 0; - background: #eef; -} - -.billinginfo table.billingtable td, -.billinginfo table.billingtable th { - padding: 5px; -} - -.billinginfo table.billingtable td.pcell, -.billinginfo table.billingtable td.firstcell { - padding-left: 35px; -} - -.billinginfo table.billingtable td.pcell { - width: 200px; -} - -.billinginfo div { - padding-left: 35px; -} - -.billinginfo div#billingselect { - padding-left: 0; -} - -.billinginfo div#billingselect p { - padding: 3px; - padding-left: 35px; -} - -.billingtable #ccimages img.ccimageselected { - border: 3px solid #0f0; - opacity: 1; -} - -.billingtable #ccimages img { - border: 3px solid #eef; - opacity: 0.5; -} - -a#cschelp { - font-size: 7pt; - color: blue; - border-bottom: 1px dashed blue; -} - -div#contbutton { - margin-top: 1em; - margin-right: 45px; - float: right; -} - -div#backbutton { - margin-top: 1em; - float: right; -} - -div.errormsg { - border: 1px solid #caa; - padding: 1em; - margin: 1em 0; -} - -div.errormsg, -table tr.error, -p.error, -div.error { - background: #fdd; -} - -table.billingsummary { - width: 100%; - border-top: 1px solid gray; - border-left: 1px solid gray; -} - -table.billingsummary th, -table.billingsummary td { - padding: 5px; - border-bottom: 1px solid gray; - border-right: 1px solid gray; -} - -table.billingsummary th { - font-weight: bold; -} - -span#editpaymentslink { - text-align: right; - font-size: 80%; - margin-left: 0.5em; -} - -#editpaymentslink a { - text-decoration: underline; -} - - -.paymentbutton label { - cursor: pointer; -} -.paymentbutton { - padding-left: 1.5em; -} - -/* invoice list */ - -.informational { - font-style: italic; -} - -table.invoicelist { - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-right: 1px solid #ccc; - width: 100%; - font-size: 10pt; -} - -table.invoicelist tr:hover { - background: #ffc; -} - -table.invoicelist td, -table.invoicelist th { - border-bottom: 1px solid #ccc; - padding: 5px; -} - -table.invoicelist th { - font-weight: bold; - background: #eef; -} - -.returnlink { - font-size: 10pt; - font-style: italic; -}
\ No newline at end of file diff --git a/etherpad/src/static/css/store/store.css b/etherpad/src/static/css/store/store.css deleted file mode 100644 index f228698..0000000 --- a/etherpad/src/static/css/store/store.css +++ /dev/null @@ -1,90 +0,0 @@ -div.storepage a.downloadbutton_disabled { - text-decoration: none; - display: block; - padding: .4em; - margin: 1em; - font-size: 1.4em; - width: 270px; - margin-left: auto; - margin-right: auto; - border: 2px solid #ccc; - background: #eee; - color: #888; -} - -div.storepage a.downloadbutton { - text-decoration: none; - display: block; - padding: .4em; - margin: 1em; - font-size: 1.4em; - width: 270px; - margin-left: auto; - margin-right: auto; - border: 2px solid #333; - background: #ccc; -} -div.storepage a.downloadbutton:hover { - background: #ddf; - cursor: pointer; -} - -div.storepage label:hover { - cursor: pointer; -} - -div.storepage div#topmsg { - border: 1px solid #999; - background: #dfd; - font-weight: bold; - padding: 1em; -} - -div.storepage div#errormsg { - border: 1px solid #f00; - background: #fee; - font-weight: bold; - padding: 1em 2em; - magin-top: 1em; - margin-bottom: 1em; -} - -#dlsignup { - border: 1px solid #ccc; -/* background: #ffefdf; */ - background: #efe; - padding: 1em 2em; -} - -#dlsignup, div#errormsg { - display: block; -} - -#dlsignup p { - margin: 0; -} - -#dlsignup p label { - display: block; - margin-top: .7em; - color: #444; -} - -#dlsignup input, -#dlsignup select { - width: 400px; -} - -#dlsignup button { - margin-top: 1em; - width: 200px; - margin-left: 100px; -} - -div#processingmsg { - border: 1px solid #ccc; - background: #efe; - padding: 1em 2em; - font-weight: bold; - font-size: 1.4em; -} diff --git a/etherpad/src/static/img/about/appjet-logo-large.gif b/etherpad/src/static/img/about/appjet-logo-large.gif Binary files differdeleted file mode 100644 index 11351b2..0000000 --- a/etherpad/src/static/img/about/appjet-logo-large.gif +++ /dev/null diff --git a/etherpad/src/static/img/about/appjet-logo-medium.png b/etherpad/src/static/img/about/appjet-logo-medium.png Binary files differdeleted file mode 100644 index f6297e1..0000000 --- a/etherpad/src/static/img/about/appjet-logo-medium.png +++ /dev/null diff --git a/etherpad/src/static/img/about/investors/mitchkapor.jpg b/etherpad/src/static/img/about/investors/mitchkapor.jpg Binary files differdeleted file mode 100644 index 5a65938..0000000 --- a/etherpad/src/static/img/about/investors/mitchkapor.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/investors/pb.jpg b/etherpad/src/static/img/about/investors/pb.jpg Binary files differdeleted file mode 100644 index bd59c5c..0000000 --- a/etherpad/src/static/img/about/investors/pb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/investors/pg.jpg b/etherpad/src/static/img/about/investors/pg.jpg Binary files differdeleted file mode 100644 index 184155d..0000000 --- a/etherpad/src/static/img/about/investors/pg.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/investors/sanjeev.jpg b/etherpad/src/static/img/about/investors/sanjeev.jpg Binary files differdeleted file mode 100644 index 9073b50..0000000 --- a/etherpad/src/static/img/about/investors/sanjeev.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/investors/seth.jpg b/etherpad/src/static/img/about/investors/seth.jpg Binary files differdeleted file mode 100644 index 00f2aa9..0000000 --- a/etherpad/src/static/img/about/investors/seth.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg b/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg Binary files differdeleted file mode 100644 index 70c17db..0000000 --- a/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-david-iphones.jpg b/etherpad/src/static/img/about/people/aaron-david-iphones.jpg Binary files differdeleted file mode 100644 index 70c17db..0000000 --- a/etherpad/src/static/img/about/people/aaron-david-iphones.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-google-air.jpg b/etherpad/src/static/img/about/people/aaron-google-air.jpg Binary files differdeleted file mode 100644 index 5948454..0000000 --- a/etherpad/src/static/img/about/people/aaron-google-air.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg Binary files differdeleted file mode 100644 index b0cffcd..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot.jpg b/etherpad/src/static/img/about/people/aaron-headshot.jpg Binary files differdeleted file mode 100644 index 2b88437..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg Binary files differdeleted file mode 100644 index d6c1a97..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot2.jpg b/etherpad/src/static/img/about/people/aaron-headshot2.jpg Binary files differdeleted file mode 100644 index e4b2a77..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot2.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg Binary files differdeleted file mode 100644 index cca1b68..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/aaron-headshot3.jpg b/etherpad/src/static/img/about/people/aaron-headshot3.jpg Binary files differdeleted file mode 100644 index 13c433d..0000000 --- a/etherpad/src/static/img/about/people/aaron-headshot3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg b/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg Binary files differdeleted file mode 100644 index 567316c..0000000 --- a/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/david-headshot-thumb.jpg b/etherpad/src/static/img/about/people/david-headshot-thumb.jpg Binary files differdeleted file mode 100644 index 5f9da44..0000000 --- a/etherpad/src/static/img/about/people/david-headshot-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/david-headshot.jpg b/etherpad/src/static/img/about/people/david-headshot.jpg Binary files differdeleted file mode 100644 index 89ab3ea..0000000 --- a/etherpad/src/static/img/about/people/david-headshot.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/davy-headshot.jpg b/etherpad/src/static/img/about/people/davy-headshot.jpg Binary files differdeleted file mode 100644 index 9430186..0000000 --- a/etherpad/src/static/img/about/people/davy-headshot.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg b/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg Binary files differdeleted file mode 100644 index b399a57..0000000 --- a/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/jd-headshot.jpg b/etherpad/src/static/img/about/people/jd-headshot.jpg Binary files differdeleted file mode 100644 index 182d534..0000000 --- a/etherpad/src/static/img/about/people/jd-headshot.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg b/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg Binary files differdeleted file mode 100644 index 8d9358b..0000000 --- a/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/people/rhonda-headshot.jpg b/etherpad/src/static/img/about/people/rhonda-headshot.jpg Binary files differdeleted file mode 100644 index b4c4ec8..0000000 --- a/etherpad/src/static/img/about/people/rhonda-headshot.jpg +++ /dev/null diff --git a/etherpad/src/static/img/about/pier38.png b/etherpad/src/static/img/about/pier38.png Binary files differdeleted file mode 100644 index d15b3a8..0000000 --- a/etherpad/src/static/img/about/pier38.png +++ /dev/null diff --git a/etherpad/src/static/img/about/quote-close.png b/etherpad/src/static/img/about/quote-close.png Binary files differdeleted file mode 100644 index de4b18b..0000000 --- a/etherpad/src/static/img/about/quote-close.png +++ /dev/null diff --git a/etherpad/src/static/img/about/quote-open.png b/etherpad/src/static/img/about/quote-open.png Binary files differdeleted file mode 100644 index e637705..0000000 --- a/etherpad/src/static/img/about/quote-open.png +++ /dev/null diff --git a/etherpad/src/static/img/about/screencastpreview800x600.jpg b/etherpad/src/static/img/about/screencastpreview800x600.jpg Binary files differdeleted file mode 100644 index 2a4ed39..0000000 --- a/etherpad/src/static/img/about/screencastpreview800x600.jpg +++ /dev/null diff --git a/etherpad/src/static/img/account/betawarn.jpg b/etherpad/src/static/img/account/betawarn.jpg Binary files differdeleted file mode 100644 index c3cec1b..0000000 --- a/etherpad/src/static/img/account/betawarn.jpg +++ /dev/null diff --git a/etherpad/src/static/img/acecarets/000000.gif b/etherpad/src/static/img/acecarets/000000.gif Binary files differdeleted file mode 100644 index f67bd3d..0000000 --- a/etherpad/src/static/img/acecarets/000000.gif +++ /dev/null diff --git a/etherpad/src/static/img/acecarets/666666.gif b/etherpad/src/static/img/acecarets/666666.gif Binary files differdeleted file mode 100644 index cd8e264..0000000 --- a/etherpad/src/static/img/acecarets/666666.gif +++ /dev/null diff --git a/etherpad/src/static/img/acecarets/999999.gif b/etherpad/src/static/img/acecarets/999999.gif Binary files differdeleted file mode 100644 index fa75d25..0000000 --- a/etherpad/src/static/img/acecarets/999999.gif +++ /dev/null diff --git a/etherpad/src/static/img/acecarets/default.gif b/etherpad/src/static/img/acecarets/default.gif Binary files differdeleted file mode 100644 index 196d9ff..0000000 --- a/etherpad/src/static/img/acecarets/default.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/backgrad.png b/etherpad/src/static/img/apr09/backgrad.png Binary files differdeleted file mode 100644 index c61d830..0000000 --- a/etherpad/src/static/img/apr09/backgrad.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/black35.png b/etherpad/src/static/img/apr09/black35.png Binary files differdeleted file mode 100644 index 9d82846..0000000 --- a/etherpad/src/static/img/apr09/black35.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/blank.gif b/etherpad/src/static/img/apr09/blank.gif Binary files differdeleted file mode 100644 index 8fb6fb0..0000000 --- a/etherpad/src/static/img/apr09/blank.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/modalbar.gif b/etherpad/src/static/img/apr09/modalbar.gif Binary files differdeleted file mode 100644 index 3e86759..0000000 --- a/etherpad/src/static/img/apr09/modalbar.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/newpadicon.gif b/etherpad/src/static/img/apr09/newpadicon.gif Binary files differdeleted file mode 100644 index a282728..0000000 --- a/etherpad/src/static/img/apr09/newpadicon.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadbot.png b/etherpad/src/static/img/apr09/shadbot.png Binary files differdeleted file mode 100644 index 9506058..0000000 --- a/etherpad/src/static/img/apr09/shadbot.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadleft.png b/etherpad/src/static/img/apr09/shadleft.png Binary files differdeleted file mode 100644 index 72049e0..0000000 --- a/etherpad/src/static/img/apr09/shadleft.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadleftbot.png b/etherpad/src/static/img/apr09/shadleftbot.png Binary files differdeleted file mode 100644 index 7d3fb5b..0000000 --- a/etherpad/src/static/img/apr09/shadleftbot.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadlefttop.png b/etherpad/src/static/img/apr09/shadlefttop.png Binary files differdeleted file mode 100644 index 9af4e90..0000000 --- a/etherpad/src/static/img/apr09/shadlefttop.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadright.png b/etherpad/src/static/img/apr09/shadright.png Binary files differdeleted file mode 100644 index 41d099c..0000000 --- a/etherpad/src/static/img/apr09/shadright.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadrightbot.png b/etherpad/src/static/img/apr09/shadrightbot.png Binary files differdeleted file mode 100644 index 6770ec5..0000000 --- a/etherpad/src/static/img/apr09/shadrightbot.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/shadrighttop.png b/etherpad/src/static/img/apr09/shadrighttop.png Binary files differdeleted file mode 100644 index 0f7a0ba..0000000 --- a/etherpad/src/static/img/apr09/shadrighttop.png +++ /dev/null diff --git a/etherpad/src/static/img/apr09/topbar.gif b/etherpad/src/static/img/apr09/topbar.gif Binary files differdeleted file mode 100644 index 65ed7c8..0000000 --- a/etherpad/src/static/img/apr09/topbar.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/topbarlogo.gif b/etherpad/src/static/img/apr09/topbarlogo.gif Binary files differdeleted file mode 100644 index 9a3aa77..0000000 --- a/etherpad/src/static/img/apr09/topbarlogo.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/widthfull.gif b/etherpad/src/static/img/apr09/widthfull.gif Binary files differdeleted file mode 100644 index 8850ec2..0000000 --- a/etherpad/src/static/img/apr09/widthfull.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/widthfullactive.gif b/etherpad/src/static/img/apr09/widthfullactive.gif Binary files differdeleted file mode 100644 index 36b566f..0000000 --- a/etherpad/src/static/img/apr09/widthfullactive.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/widthlim.gif b/etherpad/src/static/img/apr09/widthlim.gif Binary files differdeleted file mode 100644 index 551e741..0000000 --- a/etherpad/src/static/img/apr09/widthlim.gif +++ /dev/null diff --git a/etherpad/src/static/img/apr09/widthlimactive.gif b/etherpad/src/static/img/apr09/widthlimactive.gif Binary files differdeleted file mode 100644 index 8cf0194..0000000 --- a/etherpad/src/static/img/apr09/widthlimactive.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/amex.gif b/etherpad/src/static/img/billing/amex.gif Binary files differdeleted file mode 100644 index 96e2cbb..0000000 --- a/etherpad/src/static/img/billing/amex.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/creditcard.gif b/etherpad/src/static/img/billing/creditcard.gif Binary files differdeleted file mode 100644 index ac2353e..0000000 --- a/etherpad/src/static/img/billing/creditcard.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/csc-help.gif b/etherpad/src/static/img/billing/csc-help.gif Binary files differdeleted file mode 100644 index 1afb6b7..0000000 --- a/etherpad/src/static/img/billing/csc-help.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/disc.gif b/etherpad/src/static/img/billing/disc.gif Binary files differdeleted file mode 100644 index a5e3a90..0000000 --- a/etherpad/src/static/img/billing/disc.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/invoice.gif b/etherpad/src/static/img/billing/invoice.gif Binary files differdeleted file mode 100644 index cee681a..0000000 --- a/etherpad/src/static/img/billing/invoice.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/mc.gif b/etherpad/src/static/img/billing/mc.gif Binary files differdeleted file mode 100644 index 2331849..0000000 --- a/etherpad/src/static/img/billing/mc.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/paypal.gif b/etherpad/src/static/img/billing/paypal.gif Binary files differdeleted file mode 100644 index 25333b1..0000000 --- a/etherpad/src/static/img/billing/paypal.gif +++ /dev/null diff --git a/etherpad/src/static/img/billing/visa.gif b/etherpad/src/static/img/billing/visa.gif Binary files differdeleted file mode 100644 index 4769f0c..0000000 --- a/etherpad/src/static/img/billing/visa.gif +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif b/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif Binary files differdeleted file mode 100644 index 73f427d..0000000 --- a/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/new-features/importexport.gif b/etherpad/src/static/img/blog/posts/new-features/importexport.gif Binary files differdeleted file mode 100644 index f0d2bac..0000000 --- a/etherpad/src/static/img/blog/posts/new-features/importexport.gif +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/new-features/richtext.gif b/etherpad/src/static/img/blog/posts/new-features/richtext.gif Binary files differdeleted file mode 100644 index 5d03bdc..0000000 --- a/etherpad/src/static/img/blog/posts/new-features/richtext.gif +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif b/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif Binary files differdeleted file mode 100644 index 47e1caa..0000000 --- a/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/pricing-survey-results.png b/etherpad/src/static/img/blog/posts/pricing-survey-results.png Binary files differdeleted file mode 100644 index 668dd72..0000000 --- a/etherpad/src/static/img/blog/posts/pricing-survey-results.png +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/pricing-survey.png b/etherpad/src/static/img/blog/posts/pricing-survey.png Binary files differdeleted file mode 100644 index 7289aa8..0000000 --- a/etherpad/src/static/img/blog/posts/pricing-survey.png +++ /dev/null diff --git a/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif b/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif Binary files differdeleted file mode 100644 index 782ac15..0000000 --- a/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-features-bottom.gif b/etherpad/src/static/img/davy/bg/home-features-bottom.gif Binary files differdeleted file mode 100644 index 7dc7644..0000000 --- a/etherpad/src/static/img/davy/bg/home-features-bottom.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif b/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif Binary files differdeleted file mode 100644 index 3bd7ba8..0000000 --- a/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-features-paid-top.gif b/etherpad/src/static/img/davy/bg/home-features-paid-top.gif Binary files differdeleted file mode 100644 index faed96c..0000000 --- a/etherpad/src/static/img/davy/bg/home-features-paid-top.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-features-top.gif b/etherpad/src/static/img/davy/bg/home-features-top.gif Binary files differdeleted file mode 100644 index 2db70a6..0000000 --- a/etherpad/src/static/img/davy/bg/home-features-top.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-nav-selected.png b/etherpad/src/static/img/davy/bg/home-nav-selected.png Binary files differdeleted file mode 100644 index 01c0a99..0000000 --- a/etherpad/src/static/img/davy/bg/home-nav-selected.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home-screencast.png b/etherpad/src/static/img/davy/bg/home-screencast.png Binary files differdeleted file mode 100644 index e03b83d..0000000 --- a/etherpad/src/static/img/davy/bg/home-screencast.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/home2.png b/etherpad/src/static/img/davy/bg/home2.png Binary files differdeleted file mode 100644 index 814c339..0000000 --- a/etherpad/src/static/img/davy/bg/home2.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/product-nav-selected-white.png b/etherpad/src/static/img/davy/bg/product-nav-selected-white.png Binary files differdeleted file mode 100644 index 4365d4a..0000000 --- a/etherpad/src/static/img/davy/bg/product-nav-selected-white.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/bg/product-nav-selected.png b/etherpad/src/static/img/davy/bg/product-nav-selected.png Binary files differdeleted file mode 100644 index a3094d0..0000000 --- a/etherpad/src/static/img/davy/bg/product-nav-selected.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/createpad-home.gif b/etherpad/src/static/img/davy/btn/createpad-home.gif Binary files differdeleted file mode 100644 index 5a46f02..0000000 --- a/etherpad/src/static/img/davy/btn/createpad-home.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/createpad-large.gif b/etherpad/src/static/img/davy/btn/createpad-large.gif Binary files differdeleted file mode 100644 index 9e37808..0000000 --- a/etherpad/src/static/img/davy/btn/createpad-large.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/intro-screencast.png b/etherpad/src/static/img/davy/btn/intro-screencast.png Binary files differdeleted file mode 100644 index 8343ddf..0000000 --- a/etherpad/src/static/img/davy/btn/intro-screencast.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/intro-testimonials.png b/etherpad/src/static/img/davy/btn/intro-testimonials.png Binary files differdeleted file mode 100644 index b1df4f2..0000000 --- a/etherpad/src/static/img/davy/btn/intro-testimonials.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/learnmore.gif b/etherpad/src/static/img/davy/btn/learnmore.gif Binary files differdeleted file mode 100644 index 9f0f612..0000000 --- a/etherpad/src/static/img/davy/btn/learnmore.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/signup-home-2.gif b/etherpad/src/static/img/davy/btn/signup-home-2.gif Binary files differdeleted file mode 100644 index 1aea6ff..0000000 --- a/etherpad/src/static/img/davy/btn/signup-home-2.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/signup-home-3.gif b/etherpad/src/static/img/davy/btn/signup-home-3.gif Binary files differdeleted file mode 100644 index a237242..0000000 --- a/etherpad/src/static/img/davy/btn/signup-home-3.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/signup-home-4.gif b/etherpad/src/static/img/davy/btn/signup-home-4.gif Binary files differdeleted file mode 100644 index 966371e..0000000 --- a/etherpad/src/static/img/davy/btn/signup-home-4.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/signup-home.gif b/etherpad/src/static/img/davy/btn/signup-home.gif Binary files differdeleted file mode 100644 index 0a83858..0000000 --- a/etherpad/src/static/img/davy/btn/signup-home.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/btn/uses-more.gif b/etherpad/src/static/img/davy/btn/uses-more.gif Binary files differdeleted file mode 100644 index 6a73bbc..0000000 --- a/etherpad/src/static/img/davy/btn/uses-more.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/32/114.png b/etherpad/src/static/img/davy/gfx/32/114.png Binary files differdeleted file mode 100644 index cbab795..0000000 --- a/etherpad/src/static/img/davy/gfx/32/114.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/32/15.png b/etherpad/src/static/img/davy/gfx/32/15.png Binary files differdeleted file mode 100644 index 596fd0f..0000000 --- a/etherpad/src/static/img/davy/gfx/32/15.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/32/65.png b/etherpad/src/static/img/davy/gfx/32/65.png Binary files differdeleted file mode 100644 index c331ee1..0000000 --- a/etherpad/src/static/img/davy/gfx/32/65.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/32/78.png b/etherpad/src/static/img/davy/gfx/32/78.png Binary files differdeleted file mode 100644 index fae3f29..0000000 --- a/etherpad/src/static/img/davy/gfx/32/78.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/bullet.gif b/etherpad/src/static/img/davy/gfx/bullet.gif Binary files differdeleted file mode 100644 index cb2e123..0000000 --- a/etherpad/src/static/img/davy/gfx/bullet.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/home-logo2.gif b/etherpad/src/static/img/davy/gfx/home-logo2.gif Binary files differdeleted file mode 100644 index 24b67bd..0000000 --- a/etherpad/src/static/img/davy/gfx/home-logo2.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/home-screencast.png b/etherpad/src/static/img/davy/gfx/home-screencast.png Binary files differdeleted file mode 100644 index b5516d3..0000000 --- a/etherpad/src/static/img/davy/gfx/home-screencast.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/plane.gif b/etherpad/src/static/img/davy/gfx/plane.gif Binary files differdeleted file mode 100644 index cf3226e..0000000 --- a/etherpad/src/static/img/davy/gfx/plane.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/product-logo.gif b/etherpad/src/static/img/davy/gfx/product-logo.gif Binary files differdeleted file mode 100644 index 72975bb..0000000 --- a/etherpad/src/static/img/davy/gfx/product-logo.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/screenshot.gif b/etherpad/src/static/img/davy/gfx/screenshot.gif Binary files differdeleted file mode 100644 index ba87f99..0000000 --- a/etherpad/src/static/img/davy/gfx/screenshot.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-meetings.gif b/etherpad/src/static/img/davy/gfx/use-meetings.gif Binary files differdeleted file mode 100644 index 3451969..0000000 --- a/etherpad/src/static/img/davy/gfx/use-meetings.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-meetings.png b/etherpad/src/static/img/davy/gfx/use-meetings.png Binary files differdeleted file mode 100644 index 4e41581..0000000 --- a/etherpad/src/static/img/davy/gfx/use-meetings.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-programming.gif b/etherpad/src/static/img/davy/gfx/use-programming.gif Binary files differdeleted file mode 100644 index 795e7fd..0000000 --- a/etherpad/src/static/img/davy/gfx/use-programming.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-programming.png b/etherpad/src/static/img/davy/gfx/use-programming.png Binary files differdeleted file mode 100644 index 825095d..0000000 --- a/etherpad/src/static/img/davy/gfx/use-programming.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-writing.gif b/etherpad/src/static/img/davy/gfx/use-writing.gif Binary files differdeleted file mode 100644 index 0e2d11b..0000000 --- a/etherpad/src/static/img/davy/gfx/use-writing.gif +++ /dev/null diff --git a/etherpad/src/static/img/davy/gfx/use-writing.png b/etherpad/src/static/img/davy/gfx/use-writing.png Binary files differdeleted file mode 100644 index c6e267c..0000000 --- a/etherpad/src/static/img/davy/gfx/use-writing.png +++ /dev/null diff --git a/etherpad/src/static/img/davy/txt/home-button.gif b/etherpad/src/static/img/davy/txt/home-button.gif Binary files differdeleted file mode 100644 index bdf4945..0000000 --- a/etherpad/src/static/img/davy/txt/home-button.gif +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/code.gif b/etherpad/src/static/img/featuretour/code.gif Binary files differdeleted file mode 100644 index abff862..0000000 --- a/etherpad/src/static/img/featuretour/code.gif +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/edits.gif b/etherpad/src/static/img/featuretour/edits.gif Binary files differdeleted file mode 100644 index d38f83a..0000000 --- a/etherpad/src/static/img/featuretour/edits.gif +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/editsandusers.gif b/etherpad/src/static/img/featuretour/editsandusers.gif Binary files differdeleted file mode 100644 index 90c36f8..0000000 --- a/etherpad/src/static/img/featuretour/editsandusers.gif +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/padlock.png b/etherpad/src/static/img/featuretour/padlock.png Binary files differdeleted file mode 100644 index f6d6c05..0000000 --- a/etherpad/src/static/img/featuretour/padlock.png +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/revisions.gif b/etherpad/src/static/img/featuretour/revisions.gif Binary files differdeleted file mode 100644 index a0d8220..0000000 --- a/etherpad/src/static/img/featuretour/revisions.gif +++ /dev/null diff --git a/etherpad/src/static/img/featuretour/users.gif b/etherpad/src/static/img/featuretour/users.gif Binary files differdeleted file mode 100644 index 48b4470..0000000 --- a/etherpad/src/static/img/featuretour/users.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/framedheaderback.gif b/etherpad/src/static/img/feb09/framedheaderback.gif Binary files differdeleted file mode 100644 index 5b17b9f..0000000 --- a/etherpad/src/static/img/feb09/framedheaderback.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/framedheaderlogo.gif b/etherpad/src/static/img/feb09/framedheaderlogo.gif Binary files differdeleted file mode 100644 index 01de8cd..0000000 --- a/etherpad/src/static/img/feb09/framedheaderlogo.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_firstp.gif b/etherpad/src/static/img/feb09/home_firstp.gif Binary files differdeleted file mode 100644 index af0a2cd..0000000 --- a/etherpad/src/static/img/feb09/home_firstp.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_firstp.png b/etherpad/src/static/img/feb09/home_firstp.png Binary files differdeleted file mode 100644 index cb7fc8c..0000000 --- a/etherpad/src/static/img/feb09/home_firstp.png +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_firstp2.gif b/etherpad/src/static/img/feb09/home_firstp2.gif Binary files differdeleted file mode 100644 index 9e0ed1e..0000000 --- a/etherpad/src/static/img/feb09/home_firstp2.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_h1.gif b/etherpad/src/static/img/feb09/home_h1.gif Binary files differdeleted file mode 100644 index 1fe08cb..0000000 --- a/etherpad/src/static/img/feb09/home_h1.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_h1.png b/etherpad/src/static/img/feb09/home_h1.png Binary files differdeleted file mode 100644 index 1b5784d..0000000 --- a/etherpad/src/static/img/feb09/home_h1.png +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_newpadbutton.gif b/etherpad/src/static/img/feb09/home_newpadbutton.gif Binary files differdeleted file mode 100644 index 8706407..0000000 --- a/etherpad/src/static/img/feb09/home_newpadbutton.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_newpadbutton.png b/etherpad/src/static/img/feb09/home_newpadbutton.png Binary files differdeleted file mode 100644 index ead253c..0000000 --- a/etherpad/src/static/img/feb09/home_newpadbutton.png +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_newpadbutton2.gif b/etherpad/src/static/img/feb09/home_newpadbutton2.gif Binary files differdeleted file mode 100644 index ba5d478..0000000 --- a/etherpad/src/static/img/feb09/home_newpadbutton2.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif b/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif Binary files differdeleted file mode 100644 index a365351..0000000 --- a/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/hometop_back.gif b/etherpad/src/static/img/feb09/hometop_back.gif Binary files differdeleted file mode 100644 index 7cdd406..0000000 --- a/etherpad/src/static/img/feb09/hometop_back.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/nav1.gif b/etherpad/src/static/img/feb09/nav1.gif Binary files differdeleted file mode 100644 index 4af4869..0000000 --- a/etherpad/src/static/img/feb09/nav1.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/nav1_back.gif b/etherpad/src/static/img/feb09/nav1_back.gif Binary files differdeleted file mode 100644 index d2db7ee..0000000 --- a/etherpad/src/static/img/feb09/nav1_back.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/nav2.gif b/etherpad/src/static/img/feb09/nav2.gif Binary files differdeleted file mode 100644 index f43a40e..0000000 --- a/etherpad/src/static/img/feb09/nav2.gif +++ /dev/null diff --git a/etherpad/src/static/img/feb09/screencast.gif b/etherpad/src/static/img/feb09/screencast.gif Binary files differdeleted file mode 100644 index 3819082..0000000 --- a/etherpad/src/static/img/feb09/screencast.gif +++ /dev/null diff --git a/etherpad/src/static/img/home/etherpad-mainheader1.jpg b/etherpad/src/static/img/home/etherpad-mainheader1.jpg Binary files differdeleted file mode 100644 index ed7e830..0000000 --- a/etherpad/src/static/img/home/etherpad-mainheader1.jpg +++ /dev/null diff --git a/etherpad/src/static/img/home/headergradient.gif b/etherpad/src/static/img/home/headergradient.gif Binary files differdeleted file mode 100644 index d6526dc..0000000 --- a/etherpad/src/static/img/home/headergradient.gif +++ /dev/null diff --git a/etherpad/src/static/img/home/homeheader1.jpg b/etherpad/src/static/img/home/homeheader1.jpg Binary files differdeleted file mode 100644 index 3436158..0000000 --- a/etherpad/src/static/img/home/homeheader1.jpg +++ /dev/null diff --git a/etherpad/src/static/img/home/homeheader2.jpg b/etherpad/src/static/img/home/homeheader2.jpg Binary files differdeleted file mode 100644 index e19ba41..0000000 --- a/etherpad/src/static/img/home/homeheader2.jpg +++ /dev/null diff --git a/etherpad/src/static/img/home/leftgrad.gif b/etherpad/src/static/img/home/leftgrad.gif Binary files differdeleted file mode 100644 index ff3931a..0000000 --- a/etherpad/src/static/img/home/leftgrad.gif +++ /dev/null diff --git a/etherpad/src/static/img/home/pencilpaperback.png b/etherpad/src/static/img/home/pencilpaperback.png Binary files differdeleted file mode 100644 index e0d2f9d..0000000 --- a/etherpad/src/static/img/home/pencilpaperback.png +++ /dev/null diff --git a/etherpad/src/static/img/home/screencapture1.gif b/etherpad/src/static/img/home/screencapture1.gif Binary files differdeleted file mode 100644 index 7c3ce5a..0000000 --- a/etherpad/src/static/img/home/screencapture1.gif +++ /dev/null diff --git a/etherpad/src/static/img/home/underdevicon.gif b/etherpad/src/static/img/home/underdevicon.gif Binary files differdeleted file mode 100644 index 5b75fd1..0000000 --- a/etherpad/src/static/img/home/underdevicon.gif +++ /dev/null diff --git a/etherpad/src/static/img/icon/downarrow.gif b/etherpad/src/static/img/icon/downarrow.gif Binary files differdeleted file mode 100644 index 6389439..0000000 --- a/etherpad/src/static/img/icon/downarrow.gif +++ /dev/null diff --git a/etherpad/src/static/img/icon/feed.gif b/etherpad/src/static/img/icon/feed.gif Binary files differdeleted file mode 100644 index fb9b66c..0000000 --- a/etherpad/src/static/img/icon/feed.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/bottomareagfx.gif b/etherpad/src/static/img/jun09/pad/bottomareagfx.gif Binary files differdeleted file mode 100644 index c499a62..0000000 --- a/etherpad/src/static/img/jun09/pad/bottomareagfx.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/connectionindicator.gif b/etherpad/src/static/img/jun09/pad/connectionindicator.gif Binary files differdeleted file mode 100644 index ecc270d..0000000 --- a/etherpad/src/static/img/jun09/pad/connectionindicator.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/docbarstates.png b/etherpad/src/static/img/jun09/pad/docbarstates.png Binary files differdeleted file mode 100644 index 13a5913..0000000 --- a/etherpad/src/static/img/jun09/pad/docbarstates.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/docbarstates2.png b/etherpad/src/static/img/jun09/pad/docbarstates2.png Binary files differdeleted file mode 100644 index 9e26b1d..0000000 --- a/etherpad/src/static/img/jun09/pad/docbarstates2.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/docbarstates3.png b/etherpad/src/static/img/jun09/pad/docbarstates3.png Binary files differdeleted file mode 100644 index cdc6a45..0000000 --- a/etherpad/src/static/img/jun09/pad/docbarstates3.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/docpaneledge.png b/etherpad/src/static/img/jun09/pad/docpaneledge.png Binary files differdeleted file mode 100644 index de22d6a..0000000 --- a/etherpad/src/static/img/jun09/pad/docpaneledge.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/docpanelmiddle.png b/etherpad/src/static/img/jun09/pad/docpanelmiddle.png Binary files differdeleted file mode 100644 index 9290e86..0000000 --- a/etherpad/src/static/img/jun09/pad/docpanelmiddle.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/editbar.gif b/etherpad/src/static/img/jun09/pad/editbar.gif Binary files differdeleted file mode 100644 index eb7100c..0000000 --- a/etherpad/src/static/img/jun09/pad/editbar.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/editbar2.gif b/etherpad/src/static/img/jun09/pad/editbar2.gif Binary files differdeleted file mode 100644 index d222fb8..0000000 --- a/etherpad/src/static/img/jun09/pad/editbar2.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/icon_import_export.gif b/etherpad/src/static/img/jun09/pad/icon_import_export.gif Binary files differnew file mode 100644 index 0000000..1b77245 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/icon_import_export.gif diff --git a/etherpad/src/static/img/jun09/pad/icon_pad_options.gif b/etherpad/src/static/img/jun09/pad/icon_pad_options.gif Binary files differnew file mode 100644 index 0000000..68c79a7 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/icon_pad_options.gif diff --git a/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif b/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif Binary files differnew file mode 100644 index 0000000..8040145 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif diff --git a/etherpad/src/static/img/jun09/pad/icon_security.gif b/etherpad/src/static/img/jun09/pad/icon_security.gif Binary files differnew file mode 100644 index 0000000..9131fc3 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/icon_security.gif diff --git a/etherpad/src/static/img/jun09/pad/icon_time_slider.gif b/etherpad/src/static/img/jun09/pad/icon_time_slider.gif Binary files differnew file mode 100644 index 0000000..2006186 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/icon_time_slider.gif diff --git a/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif b/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif Binary files differnew file mode 100644 index 0000000..76ba692 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif diff --git a/etherpad/src/static/img/jun09/pad/overlay.png b/etherpad/src/static/img/jun09/pad/overlay.png Binary files differdeleted file mode 100644 index 46abff3..0000000 --- a/etherpad/src/static/img/jun09/pad/overlay.png +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/padtop.gif b/etherpad/src/static/img/jun09/pad/padtop.gif Binary files differdeleted file mode 100644 index 9e77b07..0000000 --- a/etherpad/src/static/img/jun09/pad/padtop.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/padtop2.gif b/etherpad/src/static/img/jun09/pad/padtop2.gif Binary files differdeleted file mode 100644 index 1e3d8c2..0000000 --- a/etherpad/src/static/img/jun09/pad/padtop2.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/padtop3.gif b/etherpad/src/static/img/jun09/pad/padtop3.gif Binary files differdeleted file mode 100644 index b6bc589..0000000 --- a/etherpad/src/static/img/jun09/pad/padtop3.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/padtop4.gif b/etherpad/src/static/img/jun09/pad/padtop4.gif Binary files differdeleted file mode 100644 index d896250..0000000 --- a/etherpad/src/static/img/jun09/pad/padtop4.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/padtop5.gif b/etherpad/src/static/img/jun09/pad/padtop5.gif Binary files differindex ce41dcb..a163f30 100644 --- a/etherpad/src/static/img/jun09/pad/padtop5.gif +++ b/etherpad/src/static/img/jun09/pad/padtop5.gif diff --git a/etherpad/src/static/img/jun09/pad/padtopback.gif b/etherpad/src/static/img/jun09/pad/padtopback.gif Binary files differdeleted file mode 100644 index 335979b..0000000 --- a/etherpad/src/static/img/jun09/pad/padtopback.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_left.gif b/etherpad/src/static/img/jun09/pad/roundcorner_left.gif Binary files differnew file mode 100644 index 0000000..c023c36 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/roundcorner_left.gif diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_right.gif b/etherpad/src/static/img/jun09/pad/roundcorner_right.gif Binary files differnew file mode 100644 index 0000000..456b156 --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/roundcorner_right.gif diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif b/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif Binary files differnew file mode 100644 index 0000000..884c87b --- /dev/null +++ b/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif diff --git a/etherpad/src/static/img/jun09/pad/sharebox2.gif b/etherpad/src/static/img/jun09/pad/sharebox2.gif Binary files differdeleted file mode 100644 index 8e89925..0000000 --- a/etherpad/src/static/img/jun09/pad/sharebox2.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/sharebox3.gif b/etherpad/src/static/img/jun09/pad/sharebox3.gif Binary files differdeleted file mode 100644 index 6f8f03c..0000000 --- a/etherpad/src/static/img/jun09/pad/sharebox3.gif +++ /dev/null diff --git a/etherpad/src/static/img/jun09/pad/syncing2.gif b/etherpad/src/static/img/jun09/pad/syncing2.gif Binary files differdeleted file mode 100644 index 29470e3..0000000 --- a/etherpad/src/static/img/jun09/pad/syncing2.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/bold.gif b/etherpad/src/static/img/may09/bold.gif Binary files differdeleted file mode 100644 index 49e0d17..0000000 --- a/etherpad/src/static/img/may09/bold.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/doc.png b/etherpad/src/static/img/may09/doc.png Binary files differdeleted file mode 100644 index b374d0d..0000000 --- a/etherpad/src/static/img/may09/doc.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/html.png b/etherpad/src/static/img/may09/html.png Binary files differdeleted file mode 100644 index 917f1a4..0000000 --- a/etherpad/src/static/img/may09/html.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/italic.gif b/etherpad/src/static/img/may09/italic.gif Binary files differdeleted file mode 100644 index 2876ed9..0000000 --- a/etherpad/src/static/img/may09/italic.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/leftarrow.gif b/etherpad/src/static/img/may09/leftarrow.gif Binary files differdeleted file mode 100644 index c26475f..0000000 --- a/etherpad/src/static/img/may09/leftarrow.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/leftarrow2.gif b/etherpad/src/static/img/may09/leftarrow2.gif Binary files differdeleted file mode 100644 index 63bbddc..0000000 --- a/etherpad/src/static/img/may09/leftarrow2.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/link.gif b/etherpad/src/static/img/may09/link.gif Binary files differdeleted file mode 100644 index 44ffdd2..0000000 --- a/etherpad/src/static/img/may09/link.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/link.png b/etherpad/src/static/img/may09/link.png Binary files differdeleted file mode 100644 index 4e46fcb..0000000 --- a/etherpad/src/static/img/may09/link.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/odt.gif b/etherpad/src/static/img/may09/odt.gif Binary files differdeleted file mode 100644 index be42352..0000000 --- a/etherpad/src/static/img/may09/odt.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/odt.png b/etherpad/src/static/img/may09/odt.png Binary files differdeleted file mode 100644 index 5d630db..0000000 --- a/etherpad/src/static/img/may09/odt.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/padlock.gif b/etherpad/src/static/img/may09/padlock.gif Binary files differdeleted file mode 100644 index 167bf75..0000000 --- a/etherpad/src/static/img/may09/padlock.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/padlockopen.gif b/etherpad/src/static/img/may09/padlockopen.gif Binary files differdeleted file mode 100644 index 0aaf413..0000000 --- a/etherpad/src/static/img/may09/padlockopen.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/passwordlocked.gif b/etherpad/src/static/img/may09/passwordlocked.gif Binary files differdeleted file mode 100644 index 167bf75..0000000 --- a/etherpad/src/static/img/may09/passwordlocked.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/passwordlocked_cropped.gif b/etherpad/src/static/img/may09/passwordlocked_cropped.gif Binary files differdeleted file mode 100644 index 969a8bd..0000000 --- a/etherpad/src/static/img/may09/passwordlocked_cropped.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/passwordnone.gif b/etherpad/src/static/img/may09/passwordnone.gif Binary files differdeleted file mode 100644 index 61e38d9..0000000 --- a/etherpad/src/static/img/may09/passwordnone.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/paypal.gif b/etherpad/src/static/img/may09/paypal.gif Binary files differdeleted file mode 100644 index add5454..0000000 --- a/etherpad/src/static/img/may09/paypal.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/pdf.png b/etherpad/src/static/img/may09/pdf.png Binary files differdeleted file mode 100644 index ac4fa75..0000000 --- a/etherpad/src/static/img/may09/pdf.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/redo.gif b/etherpad/src/static/img/may09/redo.gif Binary files differdeleted file mode 100644 index bb07b8e..0000000 --- a/etherpad/src/static/img/may09/redo.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/txt.png b/etherpad/src/static/img/may09/txt.png Binary files differdeleted file mode 100644 index f830cc6..0000000 --- a/etherpad/src/static/img/may09/txt.png +++ /dev/null diff --git a/etherpad/src/static/img/may09/underline.gif b/etherpad/src/static/img/may09/underline.gif Binary files differdeleted file mode 100644 index 1d1f573..0000000 --- a/etherpad/src/static/img/may09/underline.gif +++ /dev/null diff --git a/etherpad/src/static/img/may09/undo.gif b/etherpad/src/static/img/may09/undo.gif Binary files differdeleted file mode 100644 index 273e9e6..0000000 --- a/etherpad/src/static/img/may09/undo.gif +++ /dev/null diff --git a/etherpad/src/static/img/miniplane.gif b/etherpad/src/static/img/miniplane.gif Binary files differdeleted file mode 100644 index aeaacb0..0000000 --- a/etherpad/src/static/img/miniplane.gif +++ /dev/null diff --git a/etherpad/src/static/img/misc/diagnostic-links.gif b/etherpad/src/static/img/misc/diagnostic-links.gif Binary files differdeleted file mode 100644 index f76669a..0000000 --- a/etherpad/src/static/img/misc/diagnostic-links.gif +++ /dev/null diff --git a/etherpad/src/static/img/misc/traclogo.gif b/etherpad/src/static/img/misc/traclogo.gif Binary files differdeleted file mode 100644 index 7ee31d1..0000000 --- a/etherpad/src/static/img/misc/traclogo.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/atlonglast.gif b/etherpad/src/static/img/oct/atlonglast.gif Binary files differdeleted file mode 100644 index 88e1c98..0000000 --- a/etherpad/src/static/img/oct/atlonglast.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner1.jpg b/etherpad/src/static/img/oct/banner1.jpg Binary files differdeleted file mode 100644 index 431d2ba..0000000 --- a/etherpad/src/static/img/oct/banner1.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner2.jpg b/etherpad/src/static/img/oct/banner2.jpg Binary files differdeleted file mode 100644 index 50570a8..0000000 --- a/etherpad/src/static/img/oct/banner2.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner3.jpg b/etherpad/src/static/img/oct/banner3.jpg Binary files differdeleted file mode 100644 index c0260a3..0000000 --- a/etherpad/src/static/img/oct/banner3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner4.jpg b/etherpad/src/static/img/oct/banner4.jpg Binary files differdeleted file mode 100644 index e1593b7..0000000 --- a/etherpad/src/static/img/oct/banner4.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner5.gif b/etherpad/src/static/img/oct/banner5.gif Binary files differdeleted file mode 100644 index 82c8eee..0000000 --- a/etherpad/src/static/img/oct/banner5.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner6.gif b/etherpad/src/static/img/oct/banner6.gif Binary files differdeleted file mode 100644 index 9016ed8..0000000 --- a/etherpad/src/static/img/oct/banner6.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner7.gif b/etherpad/src/static/img/oct/banner7.gif Binary files differdeleted file mode 100644 index a999f93..0000000 --- a/etherpad/src/static/img/oct/banner7.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner8.gif b/etherpad/src/static/img/oct/banner8.gif Binary files differdeleted file mode 100644 index cc2c436..0000000 --- a/etherpad/src/static/img/oct/banner8.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/banner9.gif b/etherpad/src/static/img/oct/banner9.gif Binary files differdeleted file mode 100644 index e7d9043..0000000 --- a/etherpad/src/static/img/oct/banner9.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bannerback5.gif b/etherpad/src/static/img/oct/bannerback5.gif Binary files differdeleted file mode 100644 index d748357..0000000 --- a/etherpad/src/static/img/oct/bannerback5.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bannerback6.gif b/etherpad/src/static/img/oct/bannerback6.gif Binary files differdeleted file mode 100644 index 416314f..0000000 --- a/etherpad/src/static/img/oct/bannerback6.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodyback1.gif b/etherpad/src/static/img/oct/bodyback1.gif Binary files differdeleted file mode 100644 index 39d3fd7..0000000 --- a/etherpad/src/static/img/oct/bodyback1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodyback2.gif b/etherpad/src/static/img/oct/bodyback2.gif Binary files differdeleted file mode 100644 index 5bbdad8..0000000 --- a/etherpad/src/static/img/oct/bodyback2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodyback3.gif b/etherpad/src/static/img/oct/bodyback3.gif Binary files differdeleted file mode 100644 index a04faf4..0000000 --- a/etherpad/src/static/img/oct/bodyback3.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodyback4.gif b/etherpad/src/static/img/oct/bodyback4.gif Binary files differdeleted file mode 100644 index a875cd6..0000000 --- a/etherpad/src/static/img/oct/bodyback4.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodyback5.gif b/etherpad/src/static/img/oct/bodyback5.gif Binary files differdeleted file mode 100644 index 66f67ce..0000000 --- a/etherpad/src/static/img/oct/bodyback5.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/bodybacktop1.gif b/etherpad/src/static/img/oct/bodybacktop1.gif Binary files differdeleted file mode 100644 index 20a9261..0000000 --- a/etherpad/src/static/img/oct/bodybacktop1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/computers.gif b/etherpad/src/static/img/oct/computers.gif Binary files differdeleted file mode 100644 index c8f2aff..0000000 --- a/etherpad/src/static/img/oct/computers.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/computers2.gif b/etherpad/src/static/img/oct/computers2.gif Binary files differdeleted file mode 100644 index bd8d133..0000000 --- a/etherpad/src/static/img/oct/computers2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/glossyblue.gif b/etherpad/src/static/img/oct/glossyblue.gif Binary files differdeleted file mode 100644 index eed77e7..0000000 --- a/etherpad/src/static/img/oct/glossyblue.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/glossyblue2.gif b/etherpad/src/static/img/oct/glossyblue2.gif Binary files differdeleted file mode 100644 index c323ebb..0000000 --- a/etherpad/src/static/img/oct/glossyblue2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/glossyblueh.gif b/etherpad/src/static/img/oct/glossyblueh.gif Binary files differdeleted file mode 100644 index e56ceeb..0000000 --- a/etherpad/src/static/img/oct/glossyblueh.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/insetrect.gif b/etherpad/src/static/img/oct/insetrect.gif Binary files differdeleted file mode 100644 index 1d8124d..0000000 --- a/etherpad/src/static/img/oct/insetrect.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minilogo1-05e.gif b/etherpad/src/static/img/oct/minilogo1-05e.gif Binary files differdeleted file mode 100644 index a09ef16..0000000 --- a/etherpad/src/static/img/oct/minilogo1-05e.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minilogo1-07f.gif b/etherpad/src/static/img/oct/minilogo1-07f.gif Binary files differdeleted file mode 100644 index 8565272..0000000 --- a/etherpad/src/static/img/oct/minilogo1-07f.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minilogo3.jpg b/etherpad/src/static/img/oct/minilogo3.jpg Binary files differdeleted file mode 100644 index d0cd89b..0000000 --- a/etherpad/src/static/img/oct/minilogo3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopback1.gif b/etherpad/src/static/img/oct/minitopback1.gif Binary files differdeleted file mode 100644 index da8f575..0000000 --- a/etherpad/src/static/img/oct/minitopback1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopback2.gif b/etherpad/src/static/img/oct/minitopback2.gif Binary files differdeleted file mode 100644 index a1f43ab..0000000 --- a/etherpad/src/static/img/oct/minitopback2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopbar1-05e.gif b/etherpad/src/static/img/oct/minitopbar1-05e.gif Binary files differdeleted file mode 100644 index 1115749..0000000 --- a/etherpad/src/static/img/oct/minitopbar1-05e.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopbar2-05e.gif b/etherpad/src/static/img/oct/minitopbar2-05e.gif Binary files differdeleted file mode 100644 index 2c5d10f..0000000 --- a/etherpad/src/static/img/oct/minitopbar2-05e.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopbar2-07f.gif b/etherpad/src/static/img/oct/minitopbar2-07f.gif Binary files differdeleted file mode 100644 index 5687aed..0000000 --- a/etherpad/src/static/img/oct/minitopbar2-07f.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopbar3.jpg b/etherpad/src/static/img/oct/minitopbar3.jpg Binary files differdeleted file mode 100644 index d0cd89b..0000000 --- a/etherpad/src/static/img/oct/minitopbar3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitopbar4.gif b/etherpad/src/static/img/oct/minitopbar4.gif Binary files differdeleted file mode 100644 index bf7aec9..0000000 --- a/etherpad/src/static/img/oct/minitopbar4.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitoplogo1.gif b/etherpad/src/static/img/oct/minitoplogo1.gif Binary files differdeleted file mode 100644 index 6317c0f..0000000 --- a/etherpad/src/static/img/oct/minitoplogo1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/minitoplogo2.gif b/etherpad/src/static/img/oct/minitoplogo2.gif Binary files differdeleted file mode 100644 index bbb5e21..0000000 --- a/etherpad/src/static/img/oct/minitoplogo2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/newpadmain.gif b/etherpad/src/static/img/oct/newpadmain.gif Binary files differdeleted file mode 100644 index 6427037..0000000 --- a/etherpad/src/static/img/oct/newpadmain.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/newpadmainback.gif b/etherpad/src/static/img/oct/newpadmainback.gif Binary files differdeleted file mode 100644 index 2016864..0000000 --- a/etherpad/src/static/img/oct/newpadmainback.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/newpadmainbackh.gif b/etherpad/src/static/img/oct/newpadmainbackh.gif Binary files differdeleted file mode 100644 index 3060634..0000000 --- a/etherpad/src/static/img/oct/newpadmainbackh.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/pageshot.png b/etherpad/src/static/img/oct/pageshot.png Binary files differdeleted file mode 100644 index cb86428..0000000 --- a/etherpad/src/static/img/oct/pageshot.png +++ /dev/null diff --git a/etherpad/src/static/img/oct/pageshotmini.png b/etherpad/src/static/img/oct/pageshotmini.png Binary files differdeleted file mode 100644 index 0f8a9d0..0000000 --- a/etherpad/src/static/img/oct/pageshotmini.png +++ /dev/null diff --git a/etherpad/src/static/img/oct/sidehead-gradhilite.gif b/etherpad/src/static/img/oct/sidehead-gradhilite.gif Binary files differdeleted file mode 100644 index 5469d87..0000000 --- a/etherpad/src/static/img/oct/sidehead-gradhilite.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/tinytriangle.gif b/etherpad/src/static/img/oct/tinytriangle.gif Binary files differdeleted file mode 100644 index 1821e3b..0000000 --- a/etherpad/src/static/img/oct/tinytriangle.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav1.gif b/etherpad/src/static/img/oct/topnav1.gif Binary files differdeleted file mode 100644 index d801c59..0000000 --- a/etherpad/src/static/img/oct/topnav1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav2.gif b/etherpad/src/static/img/oct/topnav2.gif Binary files differdeleted file mode 100644 index c1ab5c5..0000000 --- a/etherpad/src/static/img/oct/topnav2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav3.gif b/etherpad/src/static/img/oct/topnav3.gif Binary files differdeleted file mode 100644 index fa25e75..0000000 --- a/etherpad/src/static/img/oct/topnav3.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav4.gif b/etherpad/src/static/img/oct/topnav4.gif Binary files differdeleted file mode 100644 index 1f4c714..0000000 --- a/etherpad/src/static/img/oct/topnav4.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav5.gif b/etherpad/src/static/img/oct/topnav5.gif Binary files differdeleted file mode 100644 index fa8b737..0000000 --- a/etherpad/src/static/img/oct/topnav5.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnav6.gif b/etherpad/src/static/img/oct/topnav6.gif Binary files differdeleted file mode 100644 index e0e6815..0000000 --- a/etherpad/src/static/img/oct/topnav6.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnavback1.gif b/etherpad/src/static/img/oct/topnavback1.gif Binary files differdeleted file mode 100644 index 55103a3..0000000 --- a/etherpad/src/static/img/oct/topnavback1.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnavback2.gif b/etherpad/src/static/img/oct/topnavback2.gif Binary files differdeleted file mode 100644 index 9b4bdca..0000000 --- a/etherpad/src/static/img/oct/topnavback2.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/topnavback3.gif b/etherpad/src/static/img/oct/topnavback3.gif Binary files differdeleted file mode 100644 index 327cba1..0000000 --- a/etherpad/src/static/img/oct/topnavback3.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/usecasesnavdown.gif b/etherpad/src/static/img/oct/usecasesnavdown.gif Binary files differdeleted file mode 100644 index c8fc7df..0000000 --- a/etherpad/src/static/img/oct/usecasesnavdown.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/usecasesnavdownh.gif b/etherpad/src/static/img/oct/usecasesnavdownh.gif Binary files differdeleted file mode 100644 index e1fa3a5..0000000 --- a/etherpad/src/static/img/oct/usecasesnavdownh.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/usecasesnavup.gif b/etherpad/src/static/img/oct/usecasesnavup.gif Binary files differdeleted file mode 100644 index 470dcbe..0000000 --- a/etherpad/src/static/img/oct/usecasesnavup.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/usecasesnavuph.gif b/etherpad/src/static/img/oct/usecasesnavuph.gif Binary files differdeleted file mode 100644 index 4207386..0000000 --- a/etherpad/src/static/img/oct/usecasesnavuph.gif +++ /dev/null diff --git a/etherpad/src/static/img/oct/watchscreencast.gif b/etherpad/src/static/img/oct/watchscreencast.gif Binary files differdeleted file mode 100644 index f52ed17..0000000 --- a/etherpad/src/static/img/oct/watchscreencast.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/animated-orb-orange-12.gif b/etherpad/src/static/img/pad/animated-orb-orange-12.gif Binary files differdeleted file mode 100644 index 9db02c6..0000000 --- a/etherpad/src/static/img/pad/animated-orb-orange-12.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/backgrad.png b/etherpad/src/static/img/pad/backgrad.png Binary files differdeleted file mode 100644 index d85f73c..0000000 --- a/etherpad/src/static/img/pad/backgrad.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif Binary files differdeleted file mode 100644 index bc3088b..0000000 --- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif Binary files differdeleted file mode 100644 index 8a87283..0000000 --- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif Binary files differdeleted file mode 100644 index 695ecbe..0000000 --- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif Binary files differdeleted file mode 100644 index 0005405..0000000 --- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif b/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif Binary files differdeleted file mode 100644 index 92fb5dc..0000000 --- a/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif b/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif Binary files differdeleted file mode 100644 index a65aa15..0000000 --- a/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/etherpad-logo-small.gif b/etherpad/src/static/img/pad/etherpad-logo-small.gif Binary files differdeleted file mode 100644 index 6669f39..0000000 --- a/etherpad/src/static/img/pad/etherpad-logo-small.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/etherpad-logo-small2.gif b/etherpad/src/static/img/pad/etherpad-logo-small2.gif Binary files differdeleted file mode 100644 index 6e33392..0000000 --- a/etherpad/src/static/img/pad/etherpad-logo-small2.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow-down.gif b/etherpad/src/static/img/pad/expandy-arrow-down.gif Binary files differdeleted file mode 100644 index 4b67c17..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow-down.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow-right.gif b/etherpad/src/static/img/pad/expandy-arrow-right.gif Binary files differdeleted file mode 100644 index 61303e6..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow-right.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif b/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif Binary files differdeleted file mode 100644 index 5f530b7..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow6-down.gif b/etherpad/src/static/img/pad/expandy-arrow6-down.gif Binary files differdeleted file mode 100644 index 42fa9af..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow6-down.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif b/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif Binary files differdeleted file mode 100644 index 4496fad..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/expandy-arrow6-right.gif b/etherpad/src/static/img/pad/expandy-arrow6-right.gif Binary files differdeleted file mode 100644 index 9a8274c..0000000 --- a/etherpad/src/static/img/pad/expandy-arrow6-right.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/header-revgrad.gif b/etherpad/src/static/img/pad/header-revgrad.gif Binary files differdeleted file mode 100644 index e803e2a..0000000 --- a/etherpad/src/static/img/pad/header-revgrad.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/newpad.gif b/etherpad/src/static/img/pad/newpad.gif Binary files differdeleted file mode 100644 index c631cc4..0000000 --- a/etherpad/src/static/img/pad/newpad.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/orb-greenred-12.gif b/etherpad/src/static/img/pad/orb-greenred-12.gif Binary files differdeleted file mode 100644 index d722168..0000000 --- a/etherpad/src/static/img/pad/orb-greenred-12.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/padbg1.jpg b/etherpad/src/static/img/pad/padbg1.jpg Binary files differdeleted file mode 100644 index 8e640fd..0000000 --- a/etherpad/src/static/img/pad/padbg1.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padbg2.jpg b/etherpad/src/static/img/pad/padbg2.jpg Binary files differdeleted file mode 100644 index 1248bc0..0000000 --- a/etherpad/src/static/img/pad/padbg2.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padbg3.jpg b/etherpad/src/static/img/pad/padbg3.jpg Binary files differdeleted file mode 100644 index 99bba32..0000000 --- a/etherpad/src/static/img/pad/padbg3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padbg4.jpg b/etherpad/src/static/img/pad/padbg4.jpg Binary files differdeleted file mode 100644 index 2497360..0000000 --- a/etherpad/src/static/img/pad/padbg4.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padbg5.jpg b/etherpad/src/static/img/pad/padbg5.jpg Binary files differdeleted file mode 100644 index bc3953c..0000000 --- a/etherpad/src/static/img/pad/padbg5.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padhead1.jpg b/etherpad/src/static/img/pad/padhead1.jpg Binary files differdeleted file mode 100644 index e263cf4..0000000 --- a/etherpad/src/static/img/pad/padhead1.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padhead2.jpg b/etherpad/src/static/img/pad/padhead2.jpg Binary files differdeleted file mode 100644 index a2f247d..0000000 --- a/etherpad/src/static/img/pad/padhead2.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/padhead3.jpg b/etherpad/src/static/img/pad/padhead3.jpg Binary files differdeleted file mode 100644 index 101432f..0000000 --- a/etherpad/src/static/img/pad/padhead3.jpg +++ /dev/null diff --git a/etherpad/src/static/img/pad/pencil-icon-small-blue.gif b/etherpad/src/static/img/pad/pencil-icon-small-blue.gif Binary files differdeleted file mode 100644 index f60b0f2..0000000 --- a/etherpad/src/static/img/pad/pencil-icon-small-blue.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/sidehead-grad.gif b/etherpad/src/static/img/pad/sidehead-grad.gif Binary files differdeleted file mode 100644 index 32bac92..0000000 --- a/etherpad/src/static/img/pad/sidehead-grad.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/button_depressed.png b/etherpad/src/static/img/pad/timeslider/button_depressed.png Binary files differdeleted file mode 100644 index 1e96692..0000000 --- a/etherpad/src/static/img/pad/timeslider/button_depressed.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/button_undepressed.png b/etherpad/src/static/img/pad/timeslider/button_undepressed.png Binary files differdeleted file mode 100644 index cd2d7a8..0000000 --- a/etherpad/src/static/img/pad/timeslider/button_undepressed.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/crushed_pause.png b/etherpad/src/static/img/pad/timeslider/crushed_pause.png Binary files differdeleted file mode 100644 index 437b384..0000000 --- a/etherpad/src/static/img/pad/timeslider/crushed_pause.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/crushed_play.png b/etherpad/src/static/img/pad/timeslider/crushed_play.png Binary files differdeleted file mode 100644 index c5b754b..0000000 --- a/etherpad/src/static/img/pad/timeslider/crushed_play.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/crushed_play_button.png b/etherpad/src/static/img/pad/timeslider/crushed_play_button.png Binary files differdeleted file mode 100644 index 3b112f6..0000000 --- a/etherpad/src/static/img/pad/timeslider/crushed_play_button.png +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/current_location.gif b/etherpad/src/static/img/pad/timeslider/current_location.gif Binary files differdeleted file mode 100644 index 5d5062f..0000000 --- a/etherpad/src/static/img/pad/timeslider/current_location.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/pause.gif b/etherpad/src/static/img/pad/timeslider/pause.gif Binary files differdeleted file mode 100644 index 0fa105b..0000000 --- a/etherpad/src/static/img/pad/timeslider/pause.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/play.gif b/etherpad/src/static/img/pad/timeslider/play.gif Binary files differdeleted file mode 100644 index ae308c2..0000000 --- a/etherpad/src/static/img/pad/timeslider/play.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/star.gif b/etherpad/src/static/img/pad/timeslider/star.gif Binary files differdeleted file mode 100644 index f6a2c70..0000000 --- a/etherpad/src/static/img/pad/timeslider/star.gif +++ /dev/null diff --git a/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png b/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png Binary files differdeleted file mode 100644 index bc93914..0000000 --- a/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png +++ /dev/null diff --git a/etherpad/src/static/img/pricing/free.gif b/etherpad/src/static/img/pricing/free.gif Binary files differdeleted file mode 100644 index bce2a0b..0000000 --- a/etherpad/src/static/img/pricing/free.gif +++ /dev/null diff --git a/etherpad/src/static/img/pricing/group.gif b/etherpad/src/static/img/pricing/group.gif Binary files differdeleted file mode 100644 index b839d3e..0000000 --- a/etherpad/src/static/img/pricing/group.gif +++ /dev/null diff --git a/etherpad/src/static/img/pricing/on-demand.gif b/etherpad/src/static/img/pricing/on-demand.gif Binary files differdeleted file mode 100644 index 19d2e57..0000000 --- a/etherpad/src/static/img/pricing/on-demand.gif +++ /dev/null diff --git a/etherpad/src/static/img/pricing/private-network.gif b/etherpad/src/static/img/pricing/private-network.gif Binary files differdeleted file mode 100644 index 70d197f..0000000 --- a/etherpad/src/static/img/pricing/private-network.gif +++ /dev/null diff --git a/etherpad/src/static/img/pricing/support.gif b/etherpad/src/static/img/pricing/support.gif Binary files differdeleted file mode 100644 index 7f42f76..0000000 --- a/etherpad/src/static/img/pricing/support.gif +++ /dev/null diff --git a/etherpad/src/static/img/pro/billing/cards-button.gif b/etherpad/src/static/img/pro/billing/cards-button.gif Binary files differdeleted file mode 100644 index 2f9c8cf..0000000 --- a/etherpad/src/static/img/pro/billing/cards-button.gif +++ /dev/null diff --git a/etherpad/src/static/img/pro/header/pro-header-back.gif b/etherpad/src/static/img/pro/header/pro-header-back.gif Binary files differdeleted file mode 100644 index 9514dbf..0000000 --- a/etherpad/src/static/img/pro/header/pro-header-back.gif +++ /dev/null diff --git a/etherpad/src/static/img/tinyplane.gif b/etherpad/src/static/img/tinyplane.gif Binary files differdeleted file mode 100644 index 5aaa223..0000000 --- a/etherpad/src/static/img/tinyplane.gif +++ /dev/null diff --git a/etherpad/src/static/img/wavejet.jpg b/etherpad/src/static/img/wavejet.jpg Binary files differdeleted file mode 100644 index 8d10fd0..0000000 --- a/etherpad/src/static/img/wavejet.jpg +++ /dev/null diff --git a/etherpad/src/static/swf/vidplayer.swf b/etherpad/src/static/swf/vidplayer.swf Binary files differdeleted file mode 100755 index a38a94e..0000000 --- a/etherpad/src/static/swf/vidplayer.swf +++ /dev/null diff --git a/etherpad/src/templates/admin/pluginmanager.ejs b/etherpad/src/templates/admin/pluginmanager.ejs index 33b04bf..8a3d0bf 100644 --- a/etherpad/src/templates/admin/pluginmanager.ejs +++ b/etherpad/src/templates/admin/pluginmanager.ejs @@ -12,15 +12,35 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ %> <% - helpers.setHtmlTitle("Browse tags"); + helpers.setHtmlTitle("EtherPad: Manage plugins"); +/* + helpers.includeCss("plugins/twitterStyleTags/tagBrowser.css"); + helpers.includeCss("plugins/twitterStyleTags/pad.css"); */ helpers.setBodyId("padbody"); helpers.addBodyClass("limwidth nonpropad nonprouser"); helpers.includeCss("pad2_ejs.css"); - helpers.setRobotsPolicy({index: false, follow: false}) - helpers.includeJQuery(); + helpers.includeJs("undo-xpopup.js"); helpers.includeCometJs(); + helpers.includeJQuery(); helpers.includeJs("json2.js"); - helpers.addToHead('\n<style type="text/css" title="dynamicsyntax"></style>\n'); + helpers.includeJs("colorutils.js"); + helpers.includeJs("ace.js"); + helpers.includeJs("collab_client.js"); + helpers.includeJs("draggable.js"); + helpers.includeJs("pad_utils.js"); + helpers.includeJs("pad_cookie.js"); + helpers.includeJs("pad_editor.js"); + helpers.includeJs("pad_userlist.js"); + helpers.includeJs("pad_editbar.js"); + helpers.includeJs("pad_chat.js"); + helpers.includeJs("pad_docbar.js"); + helpers.includeJs("pad_impexp.js"); + helpers.includeJs("pad_savedrevs.js"); + helpers.includeJs("pad_connectionstatus.js"); + helpers.includeJs("pad_modals.js"); + helpers.includeJs("pad2.js"); + helpers.suppressGA(); + helpers.setRobotsPolicy({index: false, follow: false}); function inArray(item, arr) { for (var i = 0; i < arr.length; i++) @@ -34,18 +54,17 @@ limitations under the License. */ %> <div id="padtop"> <div id="topbar" style="margin: 7px; margin-top: 0px;"> <div id="topbarleft"><!-- --></div> - <div id="topbarright"><!-- --></div> - <div id="topbarcenter"><a href="/" id="topbaretherpad">EtherPad</a></div> - <% if (isProAccountHolder) { %> - <div id="accountnav"><%= toHTML(account.email) %><a href="/ep/account/sign-out">(sign out)</a></div> - <% } else if (isPro) { %> - <div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div> - <% } %> - </div> + <div id="topbarright"><!-- --></div> + <div id="topbarcenter"><a href="/" id="topbaretherpad">EtherPad</a></div> + <% if (isProAccountHolder) { %> + <div id="accountnav"><%= toHTML(account.email) %><a href="/ep/account/sign-out">(sign out)</a></div> + <% } else if (isPro) { %> + <div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div> + <% } %> </div> <div id="docbar" class="docbar-public"> <div id="docbarleft"><!-- --></div> - <div title="Browse pads by tag" id="docbarpadtitle"><span>Browse tags</span></div> + <div title="Manage plugins" id="docbarpadtitle"><span>Manage plugins</span></div> <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div> <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div> @@ -71,21 +90,10 @@ limitations under the License. */ %> <div id="editbarright"><!-- --></div> <div id="editbarinner"> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('bold'));" class="editbarbutton bold" title="Bold (ctrl-B)"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('italic'));" class="editbarbutton italic" title="Italics (ctrl-I)"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('underline'));" class="editbarbutton underline" title="Underline (ctrl-U)"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('strikethrough'));" class="editbarbutton strikethrough" title="Strikethrough"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('clearauthorship'));" class="editbarbutton clearauthorship" title="Clear Authorship Colors"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('undo'));" class="editbarbutton undo" title="Undo (ctrl-Z)"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('redo'));" class="editbarbutton redo" title="Redo (ctrl-Y)"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('insertunorderedlist'));" class="editbarbutton insertunorderedlist" title="Toggle Bullet List"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('indent'));" class="editbarbutton indent" title="Indent List"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('outdent'));" class="editbarbutton outdent" title="Unindent List"> </a> - <a unselectable="on" href="javascript:void (window.pad&&pad.editbarClick('save'));" class="editbarbutton save" title="Save Revision"> </a> </div> </div> - <div style="height: 268px;" id="editorcontainerbox"> - <div id="editorcontainer" style="padding:5pt; height: 600pt;"> + <div id="editorcontainerbox"> + <div id="editorcontainer"> <h1>Plugin manager</h1> <table> <tr> diff --git a/etherpad/src/templates/beta/signup.ejs b/etherpad/src/templates/beta/signup.ejs deleted file mode 100644 index 5268a29..0000000 --- a/etherpad/src/templates/beta/signup.ejs +++ /dev/null @@ -1,63 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeJQuery() %> -<% helpers.includeJs("etherpad.js") %> -<% helpers.includeCss("beta.css") %> - -<div class="fpcontent"> - <div class="beta-signup"> - - <h1 style="border: 0;">EtherPad Professional Edition</h1> - - <div class="right"> - <br/> - - <p>Want an account to keep track of all your team's pads? - EtherPad Professional Edition - gives you your own site to keep track - of pads and control who gets to access what.</p> - - - <form id="beta-signup-form" action="/ep/beta-account/signup" - method="post"> - - <% if (errorMsg) { %> - <div id="error-msg"> - <%= errorMsg %> - </div> - <% } %> - - <p>Your Email:</p> - <input type="text" name="email" id="email" /> - <br/> - <button type="submit">Submit</button> - - </form> - - <p>Email <%= helpers.oemail("support") %> with questions or - concerns.</p> - </div> - - <div class="left"> - - <img src="/static/img/account/betawarn.jpg" - /> - - </div> - - <%= helpers.clearFloats() %> - - </div> -</div> - - diff --git a/etherpad/src/templates/email/eepnet_license_info.ejs b/etherpad/src/templates/email/eepnet_license_info.ejs deleted file mode 100644 index ea431de..0000000 --- a/etherpad/src/templates/email/eepnet_license_info.ejs +++ /dev/null @@ -1,72 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - var parts = licenseKey.split(":"); - var name = parts[0]; - var org = parts[1]; - var key = parts[2]; - - if ((key.length % 2) != 0) { - key = key + "+"; - } - var keyLine1 = key.substr(0, key.length/2); - var keyLine2 = key.substr(key.length/2, key.length); -%> -Dear <%= userName %>, - -Thank you for downloading EtherPad Private Network Edition. -This is an automated email containing your license information. - -<% if (isEvaluation) { %> -NOTE: This is an EVALUATION license, which will expire on -<%= expiresDate.toString() %>. -<% } %> - -**************************************** -NAME: - - <%= name %> - -**************************************** -ORGANIZATION: - - <%= org %> - -**************************************** -LICENSE KEY: - - <%= keyLine1 %> - <%= keyLine2 %> - -**************************************** -INSTRUCTIONS: - - http://<%= request.host %>/ep/pne-manual - -**************************************** -DOWNLOAD LINK: - - http://<%= request.host %><%= isEvaluation ? "/ep/store/eepnet-download" : "/ep/store/eepnet-download-nextsteps" %> - -<% if (isEvaluation) { %> --- - -This email was sent automatically from etherpad.com because you signed -up for EtherPad PNE. If you did not sign up for -this, then you can safely just ignore this email. - -<% } else { %> --- - -Thanks for buying EtherPad! -<% } %>
\ No newline at end of file diff --git a/etherpad/src/templates/email/eepnet_purchase_receipt.ejs b/etherpad/src/templates/email/eepnet_purchase_receipt.ejs deleted file mode 100644 index a83cd58..0000000 --- a/etherpad/src/templates/email/eepnet_purchase_receipt.ejs +++ /dev/null @@ -1,93 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %>Dear <%= cart.ownerName %>, - -Thank you for your purchase of EtherPad Private Network Edition. This is your receipt. Please keep this email for your records. - --- The EtherPad Staff - -<% -function row(key, value) { -%><%= key %>: - <%= String(value).split("\n").join("\n ") %> -<% -} - -function $(cost) { - return "US $"+dollars(cost); -} -%> - -License Information: - -<% -row("Administrator Name", cart.ownerName) -row("Organization Name", cart.orgName) -row("Total Users", cart.userCount) -%> - -Billing Information: - -<% -var isUs = cart.billingCountry == "US"; -switch(cart.billingPurchaseType) { - case "creditcard": - row("Credit Card Number", obfuscateCC(cart.billingCCNumber)); - row("Expiration Date", cart.billingExpirationMonth+" / 20"+cart.billingExpirationYear); - // falling through here intentional. - case "invoice": - row("Purchaser Name", cart.billingFirstName + " " + cart.billingLastName); - row("Purchaser Address", cart.billingAddressLine1 + "\n" + - (cart.billingAddressLine2 ? cart.billingAddressLine2 + "\n" : "") + - cart.billingCity + ", " + - (isUs?cart.billingState:cart.billingProvince) + "\n" + - (isUs?cart.billingZipCode:cart.billingPostalCode)+ - (isUs?'':', '+cart.billingCountry)); - row("Invoice Number", cart.invoiceId); - break; - case "paypal": - row("Paid Using", "PayPal"); - row("Invoice Number", cart.invoiceId); -} -%> - -Summary of Charges: - -<% -row("Etherpad Private Network, "+cart.numUsers+" users", $(cart.baseCost)); -if (cart.couponProductPctDiscount) { - row("Referral - "+cart.couponProductPctDiscount+"% savings", - "-"+$(cart.productReferralDiscount)); -} -if (cart.supportCost) { - row("Support Contract, 1 year", $(cart.supportCost)); - if (cart.couponSupportPctDiscount) { - row("Referral - "+cart.couponSupportPctDiscount+"% savings", - "-"+$(cart.supportReferralDiscount)); - } -} -if (cart.freeUserCount) { - row("Referral Bonus - "+cart.freeUserCount+" free user"+(cart.freeUserCount == 1 ? '' : "s"), - "US$0.00"); -} -%>------------------------------------------------------------------------------- -<% -var pctDiscount = cart.couponTotalPctDiscount; -var hasSubtotal = pctDiscount > 0; - -if (hasSubtotal) { - row("Subtotal", $(cart.subTotal)); - row("Referral - "+pctDiscount+"% savings", "-"+$(cart.totalReferralDiscount)); -} -row("Total", $(cart.total)); -%>
\ No newline at end of file diff --git a/etherpad/src/templates/email/pro_beta_invite.ejs b/etherpad/src/templates/email/pro_beta_invite.ejs deleted file mode 100644 index 162b443..0000000 --- a/etherpad/src/templates/email/pro_beta_invite.ejs +++ /dev/null @@ -1,23 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %>Dear <%= toAddr.split('@')[0] %>, - -<%= signupAgo %> you signed up for the EtherPad Beta. Now here's a link to activate your account immediately: - -<%= activationUrl %> - -Any problems or questions? Just respond to this email for help. - -Happy Collaborating! - -The EtherPad Team diff --git a/etherpad/src/templates/email/pro_payment_failure.ejs b/etherpad/src/templates/email/pro_payment_failure.ejs deleted file mode 100644 index 248a3dd..0000000 --- a/etherpad/src/templates/email/pro_payment_failure.ejs +++ /dev/null @@ -1,26 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %>Dear <%= fullName %>, - -Thank you for using EtherPad Professional. Your monthly billing cycle has ended, but we were unsuccessful in charging your account on file. - -<% if (billingError && billingError.length > 0) { %> - The following error occurred: - - <%= billingError %> - -<% } %>If you do not update your payment information and pay the remaining balance of <%= balance %>, your account will be suspended on <%= suspensionDate %>. - -You may update your payment information here: <%= billingAdminLink %> - --- The EtherPad Staff diff --git a/etherpad/src/templates/email/pro_payment_receipt.ejs b/etherpad/src/templates/email/pro_payment_receipt.ejs deleted file mode 100644 index 175b06a..0000000 --- a/etherpad/src/templates/email/pro_payment_receipt.ejs +++ /dev/null @@ -1,55 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %>Dear <%= fullName %>, - -Thank you for using EtherPad Professional. Your monthly billing cycle has ended, and your account has been charged; this is your receipt. Please keep this email for your records. - --- The EtherPad Staff - -<% -function row(key, value) { -%><%= key %>: - <%= String(value).split("\n").join("\n ") %> -<% -} - -function $(cost) { - return "US $"+dollars(cost); -} -%> - -Billing Information: - -<% -row("Name", fullName); -row("Paid Using", paymentSummary); -row("Expiration", expiration); -row("Invoice Number", invoiceNumber); -%> - -Summary of Charges: - -<% -row("EtherPad Professional, "+numUsers+" users", $(cost)); -if (coupon) { - var discount = []; - if (coupon.pctDiscount) { - discount.push(coupon.pctDiscount+"% savings"); - } - if (coupon.freeUsers) { - discount.push((coupon.freeUsers)+" free users"); - } - discount = discount.join(" and "); - %> -This charge reflects your referral bonus of <%= discount %>. -<% } %>
\ No newline at end of file diff --git a/etherpad/src/templates/framed/framedheader-pro.ejs b/etherpad/src/templates/framed/framedheader-pro.ejs index 857fa3e..73b0e99 100644 --- a/etherpad/src/templates/framed/framedheader-pro.ejs +++ b/etherpad/src/templates/framed/framedheader-pro.ejs @@ -1,4 +1,6 @@ -<% /* Copyright 2009 Google Inc. +<% /* +Copyright 2009 Google Inc. +Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -64,10 +66,8 @@ limitations under the License. */ %><% helpers.addBodyClass("pro-withtopbar"); % <div id="pro-topnav"> <div id="pro-topnav-inner"> - <% if (validLicense && account) { %> <%= renderProTopNav() %> <%= helpers.clearFloats() %> - <% } %> </div> </div> diff --git a/etherpad/src/templates/main/home.ejs b/etherpad/src/templates/main/home.ejs index 3fc0484..aa5d934 100644 --- a/etherpad/src/templates/main/home.ejs +++ b/etherpad/src/templates/main/home.ejs @@ -1,4 +1,6 @@ -<% /* Copyright 2009 Google Inc. +<% /* +Copyright 2009 Google Inc. +Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23,11 +25,11 @@ limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad: Open-Sour <a id="home-newpad" href="/ep/pad/newpad"> Create new pad </a> - <!-- - <a id="home-newsite" href="ep/pro-signup/"> - Create team site - </a> - --> + <% if (isProAccountEnabled()) { %> + <a id="home-newteam" href="/ep/pro-signup/"> + Create team site + </a> + <% } %> </div> </div> diff --git a/etherpad/src/templates/pad/create_body_rafter.ejs b/etherpad/src/templates/pad/create_body_rafter.ejs deleted file mode 100644 index 28252c7..0000000 --- a/etherpad/src/templates/pad/create_body_rafter.ejs +++ /dev/null @@ -1,23 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad: Create a new pad?"); %> - -<div id="createpadpage" class="fpcontent"> - - <p><tt>http://<%= request.host %>/<%= toHTML(padId) %></tt></p> - - <p><strong>There is no EtherPad document here.</strong></p> - - <p style="color:red">Creation of new free pads is permanently disabled as part of EtherPad's acquisition by Google. <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">Read more.</a></p> - -</div> diff --git a/etherpad/src/templates/pad/exporthtml.ejs b/etherpad/src/templates/pad/exporthtml.ejs deleted file mode 100644 index 288a595..0000000 --- a/etherpad/src/templates/pad/exporthtml.ejs +++ /dev/null @@ -1,28 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> -<HEAD> - <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> - <TITLE></TITLE> - <STYLE TYPE="text/css"> - <!-- - @page { margin: 0.79in } - P { margin-bottom: 0.08in } - --> - </STYLE> -</HEAD> -<BODY LANG="en-US" DIR="LTR"> -<%= pre ? '<PRE>' : '' %><%= content %><%= pre ? '</PRE>' : '' %> -</BODY> -</HTML>
\ No newline at end of file diff --git a/etherpad/src/templates/pad/pad_body.ejs b/etherpad/src/templates/pad/pad_body.ejs deleted file mode 100644 index d932cd6..0000000 --- a/etherpad/src/templates/pad/pad_body.ejs +++ /dev/null @@ -1,69 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - var padIdHtml = toHTML(request.url.split("?", 1)[0]); -%> - -<% helpers.setHtmlTitle("EtherPad: "+toHTML(proTitle || request.path.substr(1))); %> -<% helpers.setBodyId("padbody") %> -<% helpers.addBodyClass(bodyClass) %> -<% helpers.includeCss("pad.css") %> -<% helpers.includeJs("undo-xpopup.js") %> -<% helpers.includeCometJs() %> -<% helpers.includeJQuery(); %> -<% helpers.includeJs("json2.js") %> -<% helpers.includeJs("ace.js") %> -<% helpers.includeJs("collab_client.js") %> -<% helpers.includeJs("pad.js") %> -<% helpers.suppressGA() %> -<% helpers.setRobotsPolicy({index: false, follow: false}) %> - -<div id="padpage"> - -<div id="modaloverlay"> - <div id="modaldialog"> - <div id="dialogtopbar">Foo.</div> - <table id="dialogcontenttable" cellpadding="0" cellspacing="0" border="0"><tr> - <td id="dialogcontent">This is a modal dialog!</td> - </tr></table> - </div> -</div> -<table id="padoutertable" cellpadding="0" cellspacing="0" border="0"> -<tr id="pot_toptr"> - <td id="pot_shadlefttopseg" class="potshad"> </td> - <td id="pot_top"> - <a id="headhomelink" href="/">EtherPad</a> - <div id="headurl"> - <label for="shareurl">Share this URL:</label> - <span id="shareurl"><%= padIdHtml %></span> - </div> - <a id="widthlink" href="javascript: void pad.toggleFullWidth()">M</a> - <a id="newpadlink" href="javascript:void pad.newPad()" - title="Create and open a new pad in a new window">New Pad</a> - </td> - <td id="pot_shadrighttopseg" class="potshad"> </td> -</tr> - -<tr> - <td id="pot_shadleft" class="potshad"><div><!-- --></div></td> - <td id="pot_main"> - <div id="padcontent"> - <%= contentHtml %> - </div><!-- /padcontent --> - </td> - <td id="pot_shadright" class="potshad"><div><!-- --></div></td> -</tr> - -</table><!-- /padoutertable --> - -</div><!-- /padpage --> diff --git a/etherpad/src/templates/pad/pad_body2.ejs b/etherpad/src/templates/pad/pad_body2.ejs index ca0b3ae..c359b14 100644 --- a/etherpad/src/templates/pad/pad_body2.ejs +++ b/etherpad/src/templates/pad/pad_body2.ejs @@ -93,12 +93,6 @@ limitations under the License. */ %> <% } %> <div id="specialkeyarea"><!-- --></div> </div> -<!-- - <div id="shuttingdown"> - <strong style="color:red">Note: EtherPad.com is shutting down March 31, 2010.</strong> - <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">(more info)</a> - </div> - --> <div id="alertbar"> <div id="servermsg"> <h3>Server Notice<span id="servermsgdate"><!-- --></span>:</h3> @@ -108,15 +102,39 @@ limitations under the License. */ %> </div> <div id="docbar"> - <div id="docbarleft"><!-- --></div> - <div id="docbarpadtitle"><span><%= initialTitle %></span></div> -<% if (isProAccountHolder) { %> - <div id="docbarsecurity-outer"><a href="javascript:void(0)" id="docbarsecurity">Security</a></div> + <table border="0" cellpadding="0" cellspacing="0" width="100%" id="docbartable"> + <td><img src="/static/img/jun09/pad/roundcorner_left.gif"></td> + <td id="docbarpadtitle"><span><%= initialTitle %></span></td> + <td width="100%"> </td> +<% if (isProAccountHolder) { %> + <td id="docbarsecurity-outer" class="docbarbutton" nowrap> + <a href="javascript:void(0)" id="docbarsecurity"> + <img src="/static/img/jun09/pad/icon_security.gif">Security + </a> + </td> <% } /* isProAccountHolder */ %> - <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div> - <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div> - <div id="docbarimpexp-outer"><a href="javascript:void(0)" id="docbarimpexp">Import/Export</a></div> - <div id="docbarslider-outer"><a target="_blank" href="/ep/pad/view/<%= localPadId %>/latest" id="docbarslider">Time Slider</a></div> + <td id="docbaroptions-outer" class="docbarbutton" nowrap> + <a href="javascript:void(0)" id="docbaroptions"> + <img src="/static/img/jun09/pad/icon_pad_options.gif">Pad Options + </a> + </td> + <td id="docbarimpexp-outer" class="docbarbutton" nowrap> + <a href="javascript:void(0)" id="docbarimpexp"> + <img src="/static/img/jun09/pad/icon_import_export.gif">Import/Export + </a> + </td> + <td id="docbarsavedrevs-outer" class="docbarbutton" nowrap> + <a href="javascript:void(0)" id="docbarsavedrevs"> + <img src="/static/img/jun09/pad/icon_saved_revisions.gif">Saved revisions + </a> + </td> + <td id="docbarslider-outer" class="docbarbutton" nowrap> + <a target="_blank" href="/ep/pad/view/<%= localPadId %>/latest" id="docbarslider"> + <img src="/static/img/jun09/pad/icon_time_slider.gif">Time Slider + </a> + </td> + <td><img src="/static/img/jun09/pad/roundcorner_right_orange.gif"></td> + </table> <% if (isProAccountHolder) { %> <div id="docbarrenamelink"> <a href="javascript:void(0)">(rename)</a> diff --git a/etherpad/src/templates/pad/pad_content.ejs b/etherpad/src/templates/pad/pad_content.ejs deleted file mode 100644 index dbbd9bd..0000000 --- a/etherpad/src/templates/pad/pad_content.ejs +++ /dev/null @@ -1,300 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - function checkboxPref(name, label) { - var r = ['<div class="prefcheckbox" id="checkpref', name, '">']; - r.push('<table cellspacing="0" cellpadding="0" border="0">'); - r.push('<tr>'); - r.push('<td class="checkboxcell" valign="middle"><input type="checkbox" /></td>'); - r.push('<td class="labelcell" valign="middle">', label, '</td>'); - r.push('</tr>'); - r.push('</table>'); - r.push('</div>'); - return r.join(''); - } - - function exportOption(type, label, requiresOffice, url, title) { - url = url || '/ep/pad/export/'+padId+'/latest?format='+type; - var classes = [ "exportlink", "exporthref"+type ]; - if (requiresOffice && !hasOffice) { - classes.push("disabledexport"); - } else if (requiresOffice) { - classes.push("requiresoffice"); - } - var aStartArr = ['<a ']; - if (classes.length > 0) { - aStartArr.push(' class="'+classes.join(' ')+'"'); - } - aStartArr.push(' target="_blank" href="', url, '">'); - var aStart = aStartArr.join(''); - var r = ['<div class="exportlink" id="export', type, '"']; - if (title) { - r.push(' title="'+title+'"'); - } - r.push('>'); - r.push('<table cellspacing="0" cellpadding="0" border="0">'); - r.push('<tr>'); - r.push('<td class="exportpic" valign="middle">'); - r.push(aStart, '<img alt="" src="/static/img/may09/'+type+'.gif" />', '</a>'); - r.push('</td>'); - r.push('<td class="labelcell" valign="middle">'); - r.push(aStart, label, '</a>'); - if (title) { - r.push('<sup>?</sup>') - } - r.push('</td>'); - if (requiresOffice) { - r.push('<td class="exportspinner" '); - r.push('id="exportspinner', type, '"'); - r.push(' valign="middle"><img alt="" src="/static/img/misc/status-ball.gif" /></td>'); - } - r.push('</tr>'); - r.push('</table>'); - r.push('</div>'); - return r.join(''); - } -%> - -<div id="servermsg" class="topmsg hidden"> - <p><b>Server Notice (<span id="servermsgdate"></span>)</b></p> - <br/> - <a id="hidetopmsg" href="javascript: void pad.hideTopMsg('server')">hide</a> - <p id="servermsgtext"></p> -</div> - -<div id="bigtoperror_wrap" class="topmsg hidden"> - - <div class="bigtoperror" id="disconnected_looping"> - <p><b>We're having trouble establishing a connection with an - EtherPad synchronization server.</b> You may be connecting through an incompatible firewall or - proxy server.</p> - </div> - - <div class="bigtoperror" id="disconnected_userdup"> - <p><b>You seem to have opened this pad in another browser - window.</b> If you'd like to use this window - instead, you can reconnect.</p> - </div> - - <div class="bigtoperror" id="disconnected_slowcommit"> - <p><b>We're having difficulties talking to the EtherPad - synchronization server.</b> This may be due to network connectivity issues or high load on the server.</p> - </div> - - <div class="bigtoperror" id="disconnected_initsocketfail"> - <p><b>We were unable to establish the initial connection with - the EtherPad synchronization server.</b> This may be due to an incompatibility with your web - browser or internet connection.</p> - </div> - - <div class="bigtoperror" id="disconnected_unknown"> - <p><b>Lost connection with the EtherPad synchronization - server.</b> This may be due to a loss of network connectivity.</p> - </div> - - <div class="bigtoperror" id="reconnect_advise"> - <p>If this continues to happen, please <a target="_blank" href="/ep/support">let us know</a> - (opens in new window).</p> - </div> - - <div id="reconnect_form"> - <p><button class="forcereconnect">Reconnect - Now</button></p> - </div> - -</div> - -<div id="padtablediv"> -<table id="padtable" - border="0" cellspacing="0" cellpadding="0"> - <tr> - <td id="topbar"> - <div id="connectionstatus" - class="connecting">Connecting...</div> - <div id="topbarmsg"> </div> - <a class="showhide" id="showsidebar" href="javascript:void pad.showSideBar();"> - « show side bar - </a> - </td> - <td id="sidebartop"> - <a class="showhide" id="hidesidebar" href="javascript:void pad.hideSideBar();"> - hide » - </a> - </td> - </tr> - - <tr id="sizedcontent"> - <td id="editorcell" class="editorcell_loading" width="100%" valign="top"> - <div id="editorcellinner"> - <div id="loadingbox"> - Loading... - </div> - <div id="toptoolbar" class="disabledtoolbar"> - <a href="javascript:void pad.toolbarClick('bold');" class="toptoolbarbutton bold" title="Bold (ctrl-B)"> </a> - <a href="javascript:void pad.toolbarClick('italic');" class="toptoolbarbutton italic" title="Italics (ctrl-I)"> </a> - <a href="javascript:void pad.toolbarClick('underline');" class="toptoolbarbutton underline" title="Underline (ctrl-U)"> </a> - <a href="javascript:void pad.toolbarClick('undo');" class="toptoolbarbutton undo" title="Undo (ctrl-Z)"> </a> - <a href="javascript:void pad.toolbarClick('redo');" class="toptoolbarbutton redo" title="Redo (ctrl-Y)"> </a> - <form id="padtitle" action="/"><input type="text" id="padtitleedit"/><span class="padtitlepad">Pad:</span> <span id="padtitletitle"> </span> <span class="editlink">(<a href="javascript:void pad.editTitle();">rename</a>)</span><span class="oklink"><a href="javascript:void pad.submitTitle(true);">OK</a></span></form> - <a href="javascript:void pad.passwordClick();" id="passwordlock" title="" class="passwordhidden"> </a> - </div> - <div id="editorcontainer"><!-- --></div> - <div id="bottoolbar" class="disabledtoolbar"> - <div id="viewzoom">View Zoom: <select id="viewzoommenu"><option value="z85">85%</option><option value="z100">100%</option><option value="z115">115%</option><option value="z150">150%</option><option value="z200">200%</option><option value="z300">300%</option></select></div> - <div id="viewfont">View Font: <select id="viewfontmenu"><option value="normal">Normal</option><option value="code">Code</option></select></div> - </div> - </div> - </td> - <td id="sidebarcell" valign="top"> - <div id="sidebar" class="sidebar_loading"> - <div id="headuserlistwrap" class="sideheadwrap sh_uncollapsed"><p class="sidehead">Connected Users</p></div> - <div id="userlistwrap" class="sidebox"> - <div id="userlist"><!-- setbyjs --></div> - <div id="invitemore"> - <a class="small_link" id="invitemorelink" href="javascript:void pad.invitemoreShow();">invite more people...</a> - <div id="inviteinstructions" style="display:none;"> - <p>To invite someone to this pad, just copy and paste them the URL to this page.</p> - <p id="emailinviteleadin">Or we can send them an invitation for you:</p> - <p> - Email: <input id="invite_email" type="text" name="email" value="" /> - <input type="submit" id="invite_email_submit" value="Send" /> - </p> - <p id="invite_email_status"><!-- --></p> - <p id="hideinstructions"><a class="small_link" href="javascript:void pad.invitemoreHide();">hide</a></p> - </div> - </div> - </div> - <div id="headchatbox" class="sideheadwrap sh_collapsed"><p id="chatheadname" class="sidehead">Chat</p></div> - <div class="sidebox hidden" id="chatbox"> - <div id="chatmessages"><!-- --></div> - <div> - <table id="chatsaytable" border="0" cellspacing="0" cellpadding="0"> - <tr> - <td width="5" valign="middle">Say:</td> - <td><input type="text" id="chatinput" /></td> - </tr> - </table> - </div> - </div> - <div id="headimportexport" class="sideheadwrap sh_collapsed"><p class="sidehead">Import/Export</p></div> - <div class="sidebox hidden" id="importexport"> - <div id="exportsection"> - <p id="headexport"><strong>Download</strong> as:</p> - <table> - <tr> - <td class="firsttd"><%= exportOption('html', 'HTML', false) %></td> - <td class="secondtd"><%= exportOption('doc', 'Microsoft Word', true) %></td> - </tr> - <tr> - <td class="firsttd"><%= exportOption('txt', 'Plain text', false) %></td> - <td class="secondtd"><%= exportOption('pdf', 'PDF', true) %></td> - </tr> - <tr> - <td class="firsttd"><%= exportOption('link', 'Bookmark file', false, - '/ep/pad/linkfile?padId='+padId, - 'This will save a file that, when opened, takes you to this pad.') %></td> - <td class="secondtd"><%= exportOption('odt', 'OpenDocument', true) %></td> - </tr> - </table> - <div id="exportmessage"></div> - </div> - <div id="importsection"> - <p id="headimport"><strong>Import</strong> text from file:</p> - <form id="importform" method="post" action="/ep/pad/impexp/import" target="importiframe" enctype="multipart/form-data"> - <div class="importformdiv" id="importformfilediv"> - <input type="file" name="file" size="20" id="importfileinput" /> - <div class="importmessage" id="importmessagefail"></div> - </div> - <div class="importmessage" id="importmessagesuccess"></div> - <div class="importformdiv" id="importformsubmitdiv"> - <input type="hidden" name="padId" value="<%= encodeURIComponent(padId) %>" /> - <span class="nowrap"> - <input type="submit" name="submit" value="Import Now" disabled="disabled" id="importsubmitinput" /> - <img alt="" id="importstatusball" src="/static/img/misc/status-ball.gif" align="bottom" /> - <img alt="" id="importarrow" src="/static/img/may09/leftarrow.gif" align="bottom" /> - </span> - </div> - </form> - </div> - </div> - <div id="headrevisions" class="sideheadwrap sh_collapsed"><p class="sidehead">Saved Revisions</p></div> - <div class="sidebox hidden" id="revisions"> - <div id="nosaveprivs"> - Sorry, you have exceeded the maximum allowable - number of saved revisions. - </div> - <input id="savenow" type="submit" value="Save Now" /> - <div id="revisionlist"> - </div> - </div> - <div id="headprefs" class="sideheadwrap sh_collapsed"><p class="sidehead">Options</p></div> - <div class="sidebox hidden" id="prefs"> - <%= checkboxPref("showcolors", "Highlight who typed what.") %> - <%= checkboxPref("wrap", "Wrap long lines.") %> - <%= checkboxPref("linenums", "Show line numbers.") %> - <%= checkboxPref("fullwidth", "Use full window width.") %> - <%= checkboxPref("jshighlight", "Highlight JavaScript syntax.") %> - </div> - <div id="headfeedback" class="sideheadwrap sh_collapsed"><p class="sidehead">Feedback</p></div> - <div class="sidebox hidden sidebox_last" id="feedback"> - <div id="feedbackbox"> - <p style="text-align: center;">Tell us what you - think of EtherPad!<br/>(Include your email if you want a response)</p> - <div id="formbox"> - <textarea rows="5" cols="10" id="feedbackarea" name="feedbackarea"></textarea> - <input id="feedbacksubmit" type="submit" - value="Send to EtherPad Team" /> - </div> - </div> - <div id="feedbackresult"> - <p>Thanks for the feedback! Keep it coming.</p> - <p>You can also send feedback by email to - <span id="feedbackemail" - style="white-space: nowrap;">feedback@e***rp**d.com</span> to receive a personal - response.</p> - </div> - </div> - </div> - </td> - </tr> -</table> -</div><!-- #padtablediv --> - -<div style="clear: both;"><!-- --></div> - -<% if (request.params.djs) { %> - <div id="djs"> </div> -<% } %> - -<div id="appjetfooter"> - Powered by <a target="_blank" href="/ep/about/appjet">AppJet</a> - <img id="plane" src="/static/img/tinyplane.gif" alt="AppJet" /> -</div><!-- /appjetfooter --> - -<form id="reconnect" - method="post" - action="/ep/pad/reconnect" - accept-charset="UTF-8" - style="display: none;"> - <input type="hidden" id="padId" name="padId" /> - <input type="hidden" id="diagnosticInfo" - name="diagnosticInfo" /> - <input type="hidden" id="missedChanges" name="missedChanges" /> -</form> - -<form id="newpad" - name="newpad" - action="/ep/pad/newpad" - target="_blank" - style="display: none;"> -</form> diff --git a/etherpad/src/templates/pad/pad_download_link.ejs b/etherpad/src/templates/pad/pad_download_link.ejs deleted file mode 100644 index e05d7d0..0000000 --- a/etherpad/src/templates/pad/pad_download_link.ejs +++ /dev/null @@ -1,27 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - -var host = request.host; -helpers.addToHead('<meta http-equiv="refresh" content="0;url=http://'+host+'/'+padId+'" />'); - -%> - -<div id="refreshpage"> - <h1>Etherpad</h1> - - <p>This pad document, <a href="http://<%= host %>/<%= padId %>"><%= padId %></a>, is stored on <a href="http://<%= host %>"><%= host %></a>. Please click the link below to access this pad.</p> - - <a style="size: 200%; text-align: center;" href="http://<%= host %>/<%= padId %>">http://<%= host %>/<%= padId %></a> - -</div>
\ No newline at end of file diff --git a/etherpad/src/templates/pad/padfull_body.ejs b/etherpad/src/templates/pad/padfull_body.ejs deleted file mode 100644 index 41a100c..0000000 --- a/etherpad/src/templates/pad/padfull_body.ejs +++ /dev/null @@ -1,32 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><div id="padfullpage" class="fpcontent"> - -<h1>Pad is Full!</h1> - -<div id="msg"> - -<div id="padurlwrap"> -<p><tt id="padurl">http://<%= request.host %>/<%= padId %></tt></p> -</div> - -<p>Sorry, only <%= maxUsersPerPad %> people are allowed to edit a -single pad at the same time in the free version of EtherPad.</p> - -<p>Please see our <a href="http://etherpad.com/ep/about/pricing">pricing plans</a> for -information about having more than <%= maxUsersPerPad %> -collaborators.</p> - -</div> - -</div> diff --git a/etherpad/src/templates/pad/padslider_body.ejs b/etherpad/src/templates/pad/padslider_body.ejs deleted file mode 100644 index 51a9e84..0000000 --- a/etherpad/src/templates/pad/padslider_body.ejs +++ /dev/null @@ -1,41 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - helpers.setHtmlTitle(toHTML("Time Slider")); - helpers.setBodyId("padsliderbody"); - helpers.includeCss("etherpad.css"); - //helpers.includeCss("jqueryui/theme/ui.all.css"); - helpers.setRobotsPolicy({index: false, follow: false}); - helpers.includeJQuery(); - //helpers.includeJs("jquery-ui-slider-1.5.3.js"); - helpers.includeJs("json2.js"); - helpers.includeJs("timeslider.js"); - - function dfmt(t) { - var d = new Date(t); - return d.toString(); - } -%> - -<!-- <div id="sliderui"></div> --> -<p>Powered by <a href="/">EtherPad</a>.</p><br /> -<div id="controls"> -<a href="<%= request.url %>#" class="prev">prev</a> / -<a href="<%= request.url %>#" class="next">next</a> -<a href="<%= request.url %>#" class="play">play</a> / -<a href="<%= request.url %>#" class="stop">stop</a> -seek to #<input class="entry" type="text" size="6"/> -<div id="currevdisplay"><span class="min">0</span> --- <span class="cur">0</span> --- <span class="max">0</span></div> -</div> - -<div id="stuff">Loading...</div> diff --git a/etherpad/src/templates/pad/total_users_exceeded.ejs b/etherpad/src/templates/pad/total_users_exceeded.ejs deleted file mode 100644 index 7ac7e1b..0000000 --- a/etherpad/src/templates/pad/total_users_exceeded.ejs +++ /dev/null @@ -1,29 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><div class="fpcontent" - style="font-family: Verdana, sans-serif; margin-top: 2em; border: 1px solid #ccc; padding: 1em; background: #eee;"> - - <h1>EtherPad Server Is Full</h1> - - <p>Sorry, this EtherPad server is only licensed to service - <%= userQuota %> active users - within a <%= activeUserWindowHours %>-hour period, - and that quota is currently full.</p> - - <p>Please contact your server administrator and ask him or her to - purchase a license with additional users.</p> - - <a href="/">« Home</a> - -</div> - diff --git a/etherpad/src/templates/pro-help/billing.ejs b/etherpad/src/templates/pro-help/billing.ejs deleted file mode 100644 index 269d37b..0000000 --- a/etherpad/src/templates/pro-help/billing.ejs +++ /dev/null @@ -1,45 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -<h1>Account Quotas and Billing</h1> - -<p> -EtherPad Professional Edition allows you to create accounts for members -of your team. Account-holders may sign in at -<tt>your-domain.etherpad.com</tt>. -</p> - -<p>You may have up to <%= numFreeAccounts %> accounts for free. Once you -try to add more accounts, you will be prompted to enter payment -information. Above <%= numFreeAccounts %> accounts, you will be charged -$<%= pricePerAccount %> per account per month. For example, to have <%= -numFreeAccounts+1 %> accounts will cost a total of $<%= pricePerAccount * -(numFreeAccounts+1) %> per month.</p> - -<p>You are billed at the end of your monthly billing cycle, so if you -start on January 1st, you will not be billed until February 1st. To -compute the total amount charged at the end of the month, we use the -<b>maximum number of accounts that existed throughout the month</b>. So -if you create 10 accounts, but then delete 3 before the end of the month, - you will still be charged for 10 at the end of the month. Likewise, if - you create 10 accounts, delete them all, and create 10 new accounts, - you will be charged for 10 accounts.</p> - -<p>EtherPad lets you to collaborate with <b>guests</b> in -addition to account-holders. Guests are users who do not have accounts -but join you in public pads on your site. You can always have unlimited -guest collaborators, and you are not ever charged for guests. You are -only charged for account-holders.</p> - - - diff --git a/etherpad/src/templates/pro-help/essentials.ejs b/etherpad/src/templates/pro-help/essentials.ejs deleted file mode 100644 index a1bcc87..0000000 --- a/etherpad/src/templates/pro-help/essentials.ejs +++ /dev/null @@ -1,18 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -<h1>EtherPad Professional Essentials</h1> - - - - diff --git a/etherpad/src/templates/pro/account/create-admin-account.ejs b/etherpad/src/templates/pro/account/create-admin-account.ejs deleted file mode 100644 index 2a6c9f8..0000000 --- a/etherpad/src/templates/pro/account/create-admin-account.ejs +++ /dev/null @@ -1,37 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeCss("pro/account.css") %> - -<div class="fpcontent"> - <div class="account-container"> - - <h3>Welcome to your own EtherPad server!</h3> - - <p>To get started, please create an administrator account. This - account will also be the primary admin contact for this - system.</p> - - <%= errorDiv() %> - - <%= renderAccountForm('create-admin-account', [ - {title: "Create Admin Account"}, - {text: "fullName", label: "Full Name:"}, - {text: "email", label: "Email:"}, - {password: "password", label: "Password:"}, - {password: "passwordConfirm", label: "Confirm Password:"}, - {submit: "Create Account"} - ]) %> - - </div> -</div> - diff --git a/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs b/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs deleted file mode 100644 index d2eb4de..0000000 --- a/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs +++ /dev/null @@ -1,27 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -Dear <%= accountList[0].fullName %>, - -We received a request to recover the EtherPad password for "<%= -email %>. We found multiple accounts linked to this email address. -Please choose one of the following URLs to proceed with recovering the -password for that EtherPad site: - -<% for (var i = 0; i < accountList.length; i++) { %> -<%= recoverLink(accountList[i], domainList[i]) %> -<% } %> - --- -If you did not request a password reset, simply ignore this email. - diff --git a/etherpad/src/templates/pro/account/guest-knock.ejs b/etherpad/src/templates/pro/account/guest-knock.ejs deleted file mode 100644 index 44c69c0..0000000 --- a/etherpad/src/templates/pro/account/guest-knock.ejs +++ /dev/null @@ -1,27 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeJQuery() %> -<% helpers.includeJs("pro/guest-knock-client.js") %> -<% helpers.includeCss("pro/account.css") %> - -<div id="guest-knock-box"> - <p> - <img src="/static/img/misc/status-ball.gif"> - Waiting for approval... - </p> -</div> - -<div id="guest-knock-denied"> - Access Denied. -</div> - diff --git a/etherpad/src/templates/pro/account/signin-guest.ejs b/etherpad/src/templates/pro/account/signin-guest.ejs deleted file mode 100644 index 621c381..0000000 --- a/etherpad/src/templates/pro/account/signin-guest.ejs +++ /dev/null @@ -1,51 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeCss("pro/account.css") %> -<% helpers.includeJQuery() %> -<% helpers.includeJs("pro/signin-client.js") %> -<% helpers.setHtmlTitle("EtherPad: Sign In") %> - -<div class="fpcontent"> - <div class="account-container"> - - <form id="guest-signin-form" - action="<%= request.path + '?' + request.query %>" method="post" - style="border: 1px solid #5a5; background: #efe; padding: 1em;"> - - <div style="font-weight: bold;">Guest Sign In:</div> - - <% if (errorMessage) { %> - <div style="margin: 1em 0; padding: 1em; border: 1px solid red; background: #fee;"> - <%= errorMessage %> - </div> - <% } %> - - <p>Enter your name to be displayed to other users:</p> - <input id="guestDisplayName" type="text" name="guestDisplayName" value="<%= guestName - %>" /> - <input type="hidden" name="localPadId" value="<%= localPadId %>" /> - - <input type="submit" value="Request Access" /> - - </form> - - <form id="account-signin-choice" - method="get" - action="/ep/account/sign-in"> - <input type="hidden" name="guest" value="1" /> - <input type="hidden" name="padId" value="<%= toHTML(localPadId) %>" /> - Account holders: <button>Sign in</button> - </form> - </div> -</div> - diff --git a/etherpad/src/templates/pro/admin/admin.ejs b/etherpad/src/templates/pro/admin/admin.ejs deleted file mode 100644 index f8e1562..0000000 --- a/etherpad/src/templates/pro/admin/admin.ejs +++ /dev/null @@ -1,15 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -Please select an option from the left. - diff --git a/etherpad/src/templates/pro/admin/billing-invoices.ejs b/etherpad/src/templates/pro/admin/billing-invoices.ejs deleted file mode 100644 index a3a17d8..0000000 --- a/etherpad/src/templates/pro/admin/billing-invoices.ejs +++ /dev/null @@ -1,45 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - helpers.includeCss('store/ondemand-billing.css'); -%> - -<% -function displayInvoice(invoice) { %> - <tr> - <td><%= formatDate(invoice.time) %></td> - <td><%= invoice.id %></td> - <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td> - <td><%= invoice.users %></td> - <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td> - <td><a href="<%= request.path %>?id=<%= invoice.id %>">View</a></td> - </tr> -<% } %> - -<h3 class="top">Past Invoices</h3> - -<% if (invoices.length == 0) { %> - <p class="informational">No old invoices.</p> -<% } else { %> - <table class="invoicelist"> - <tr> - <th>Date</th> - <th>Invoice Number</th> - <th>Status</th> - <th>Number of users</th> - <th>Cost</th> - <th> </th> - </tr> - <% invoices.forEach(displayInvoice); %> - </table> -<% } %>
\ No newline at end of file diff --git a/etherpad/src/templates/pro/admin/pne-config.ejs b/etherpad/src/templates/pro/admin/pne-config.ejs deleted file mode 100644 index 56fe68d..0000000 --- a/etherpad/src/templates/pro/admin/pne-config.ejs +++ /dev/null @@ -1,33 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><h3 class="top">Private Server Configuration</h3> - -<p>Your private EtherPad server can be configured using either command-line arguments (of the -form --<i>argName</i>=<i>value</i>), or by adding the options to the file -<tt>data/etherpad.properties</tt>.</p> - -<p>Learn more about server options in the <a href="/ep/pne-server-manual/">PNE Server Manual</a>.</p> - -<h3>Current Config Values</h3> - -<table id="pne-config"> -<tr><th with="1%">Option Name</th><th width="99%">Current Value</th></tr> -<% propKeys.forEach(function(k) { %> -<tr><td class="key"><%= k %></td><td class="val"><%= appjetConfig[k] %></td></tr> -<% }) %> -</table> - - - - - diff --git a/etherpad/src/templates/pro/admin/pne-dashboard.ejs b/etherpad/src/templates/pro/admin/pne-dashboard.ejs deleted file mode 100644 index 6b9b456..0000000 --- a/etherpad/src/templates/pro/admin/pne-dashboard.ejs +++ /dev/null @@ -1,40 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad Private Server Dashboard") %> - -<h3 class="top">User Quota</h3> - -<p>Your maximum daily unique user quota is: <b><%= userQuota %></b></p> -<p>So far today, there have been <b><%= todayActiveUsers %></b> applied against this quota.</p> - -<h3>Uptime</h3> - -This server has been running for <b><%= renderUptime() %></b>. - -<h3>HTTP Response Codes</h3> - -<%= renderResponseCodes() %> - -<h3>Current Realtime Pad Connections</h3> - -<%= renderPadConnections() %> - -<h3>Realtime Transport Performance</h3> - -<%= renderTransportStats() %> - -<div style="font-size: 12px; text-align: right;"> - <a style="color: #ccc;" href="/ep/admin/pne-advanced">*</a> -</div> - - diff --git a/etherpad/src/templates/pro/admin/pne-license-manager.ejs b/etherpad/src/templates/pro/admin/pne-license-manager.ejs deleted file mode 100644 index f160be0..0000000 --- a/etherpad/src/templates/pro/admin/pne-license-manager.ejs +++ /dev/null @@ -1,132 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad PNE License Manager"); %> -<% helpers.includeJQuery() %> -<% helpers.includeJs("etherpad.js") %> - -<div id="lm"> - - <% if (isExpired) { %> - - <div class="lm-error-msg"> - <p>Your evaluation license has expired!</p> - <p>Please contact <%= helpers.oemail("sales") %> or visit the <a - href="http://etherpad.com/ep/about/pricing-eepnet">pricing page on etherpad.com</a> - to purchase a license key.</p> - </div> - - <% } %> - - <% if (isTooOld) { %> - - <div class="lm-notice-msg"> - <p>The version of EtherPad you are running (<%= runningVersionString %>) is too old. - Please update to version <%= licenseVersionString %> or newer by <a - href="http://etherpad.com/ep/store/eepnet-download">downloading the latest version on - etherpad.com</a>.</p> - </div> - - <% } %> - - <% if (errorMessage) { %> - <div class="lm-error-msg"> - <p><%= errorMessage %></p> - </div> - <% } %> - - <% if (licenseInfo && !edit) { %> - - <h3 class="top">License Info:</h3> - - <div id="lm-status"> - <table> - <tr> - <td width="1%" align="right">Licensed To: </td> - <td width="99%"><b><%= licenseInfo.personName %></b></td> - </tr> - - <tr> - <td align="right">Organization: </td> - <td><b><%= licenseInfo.organizationName %></b></td> - </tr> - - <tr> - <td align="right">Software Edition: </td> - <td><b><%= licenseInfo.editionName %></b></td> - </tr> - - <tr> - <td align="right">Maximum Users: </td> - <td><b><%= licenseInfo.userQuota %></b></td> - </tr> -<!-- - <tr> - <td align="right">Licensed PNE Version: </td> - <td><b><%= licenseVersionString %>+</b></td> - </tr> ---> - <tr> - <td align="right">Expires: </td> - <td><b><%= licenseInfo.expiresDate ? licenseInfo.expiresDate.toString() : "never" %></b></td> - </tr> - </table> - - </div> - - <div id="lm-edit-button-wrap"> - <form action="<%= request.path %>edit" method="get"> - <input type="submit" name="btn" value="Edit License Info" /> - </form> - </div> - - <% } %> - - <% if (isExpired || !licenseInfo || edit) { %> - - <h3 class="top">Enter New License Info:</h3> - - <% if (isUnlicensed) { %> - <p>Before you can use this copy of EtherPad Private Network Edition, you must first - enter a valid license. Free trial licenses can be obtained <a - target="_blank" - href="https://etherpad.com/ep/store/eepnet-eval-signup">obtained here</a>. - </p> - <% } %> - - <form action="<%= request.path %>" method="post"> - <div id="lm-edit"> - - <p><b>Name:</b></p> - <input style="width: 100%;" type="text" name="personName" - value="<%= toHTML(oldData.personName || "") %>" /> - - <p><b>Organization:</b></p> - <input style="width: 100%;" type="text" name="orgName" - value="<%= toHTML(oldData.orgName || "") %>" /> - - <p><b>License Key:</b></p> - <textarea style="width: 100%; height: 60px;" - name="licenseString"><%= toHTML(oldData.licenseString || "") %></textarea> - - </div> - - <div id="lm-edit-submit-wrap"> - <input type="submit" name="submit" value="Submit" /> - <input type="submit" name="cancel" value="Cancel" /> - </div> - </form> - - <% } %> - -</div><!-- /lm --> - diff --git a/etherpad/src/templates/pro/admin/pne-shell.ejs b/etherpad/src/templates/pro/admin/pne-shell.ejs deleted file mode 100644 index f398b15..0000000 --- a/etherpad/src/templates/pro/admin/pne-shell.ejs +++ /dev/null @@ -1,33 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.setHtmlTitle("Shell") %> - -<p style="margin-top: 0; color: red;">Warning! Be careful with this page.</p> - -<h3 class="top">Shell</h3> - -<p>Enter command:</p> - -<form action="<%= request.path %>" method="post"> - <textarea name="cmd" style="width: 100%; height: 140px;"><%= oldCmd %></textarea> - <input type="submit" value="Run" /> -</form> - -<% if (result) { %> - <h3>Result</h3> - <div style="font-family: monospace; border: 1px solid #66f; padding: 1em;"> - <%= result %> - </div> - <p style="color: #888; font-family: monospace; font-size: .7em;">Computed in <%= elapsedMs %>ms.</p> -<% } %> - diff --git a/etherpad/src/templates/pro/admin/pro-config.ejs b/etherpad/src/templates/pro/admin/pro-config.ejs deleted file mode 100644 index 32cb610..0000000 --- a/etherpad/src/templates/pro/admin/pro-config.ejs +++ /dev/null @@ -1,55 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -<h3 class="top">Application Configuration</h3> - -<%= messageDiv() %> - -<form action="<%= request.path %>" method="post"> - -<table id="t-pro-config"> - <tr> - <th width="50%" valign="top">Site Name (appears in - the header of all pages):</th> - <td width="50%" valign="top"> - <input type="text" name="siteName" value="<%= - config.siteName %>" id="siteName" /> - </td> - </tr> - - <tr> - <th valign="top">Always require all users on this domain to use secure - (HTTPS) connections?</th> - <td valign="top"> - <input type="checkbox" id="alwaysHttps" name="alwaysHttps" - <%= config.alwaysHttps ? 'checked="on"' : '' %> /> - </td> - </tr> - - <tr> - <th valign="top">Default pad text:</th> - <td valign="top"> - <textarea name="defaultPadText" id="defaultPadText"><%= - config.defaultPadText %></textarea> - </td> - </tr> - - <tr> - <td colspan="2" style="text-align: right;"> - <input type="submit" name="save" value="Apply" /> - </td> - </tr> -</table> - -</form> - diff --git a/etherpad/src/templates/pro/admin/single-invoice.ejs b/etherpad/src/templates/pro/admin/single-invoice.ejs deleted file mode 100644 index aeab184..0000000 --- a/etherpad/src/templates/pro/admin/single-invoice.ejs +++ /dev/null @@ -1,47 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - helpers.includeCss('store/ondemand-billing.css'); -%> - -<h3 class="top">Past Invoices</h3> - -<p>Invoice #<%= invoice.id %>, dated <%= formatDate(invoice.time) %>.</p> - -<table class="billingsummary"> - <tr> - <th>Invoice status</th> - <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td> - </tr> - <tr> - <th>Number of users</th> - <td><%= invoice.users %></td> - </tr> - <tr> - <th>Cost</th> - <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td> - </tr> - <% if (transaction) { %> - <tr> - <th>Paid on</th> - <td><%= formatDate(transaction.time) %></td> - </tr> - <tr> - <th>Paid using</th> - <td><%= transaction.payInfo %></td> - </tr> - <% } %> -</table> - -<p class="returnlink"><a href="<%= request.path %>">« back to invoice list</a></p> - diff --git a/etherpad/src/templates/pro/pro-payment-required.ejs b/etherpad/src/templates/pro/pro-payment-required.ejs deleted file mode 100644 index 3649990..0000000 --- a/etherpad/src/templates/pro/pro-payment-required.ejs +++ /dev/null @@ -1,51 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeJQuery() %> -<% helpers.includeJs("etherpad.js") %> -<% helpers.includeCss("pro/payment-required.css") %> - -<div class="fpcontent payment-required"> - - -<div id="outside"> -<div id="inside"> - - <h1>Payment Required</h1> - - <div id="message"><%= message %></div> - <br/> - - <% if (isAdmin) { %> - <a class="manage-billing-button" href="/ep/admin/billing/"> - Manage Billing Info - </a> - <% } else { %> - <p>Please contact one of the following site administrator to - set up a billing profile on <%= request.domain %>:</p> - - <ul> - <% adminList.forEach(function(a) { %> - <li><%= a.fullName %> <<%= TT(a.email) - %>></li> - <% }); %> - </ul> - - <% } %> - - <br/><br/> - <p>Questions? Contact <%= helpers.oemail("support") %>.</p> - -</div> -</div> - - diff --git a/etherpad/src/templates/statistics/stat_page.ejs b/etherpad/src/templates/statistics/stat_page.ejs deleted file mode 100644 index 22277b3..0000000 --- a/etherpad/src/templates/statistics/stat_page.ejs +++ /dev/null @@ -1,89 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - -helpers.includeCss('admin/admin-stats.css'); -helpers.includeJQuery(); -helpers.includeJs('statpage.js'); - -%> - -<a id="backtoadmin" href="/ep/admin/">« back to admin</a> - -<div id="topnav"> - <ul> - <% statCategoryNames.forEach(function(catName) { - %> <li> - <a class="navlink" id="link<%= catName %>" href="<%= request.path %>#<%= catName %>"><%= catName %></a> - </li> <% - }); %> - </ul> -</div> - -<div> </div> - -<%= helpers.clearFloats() %> - -<%= optionsForm %> - -<% function formatLatest(latest) { - if (typeof(latest) == 'string') { - return latest; - } else { - return '<table class="latesttable" border="0" cellpadding="0" cellspacing="0">'+ - latest.map(function(x) { return "<tr><td>"+x.value+"</td><td>"+x.description+"</td></tr>"; }).join("\n")+ - "</table>"; - } -} -%> - -<% -function displayStat(statObject) { - %> - <div class="statentry <%= statObject.specialState %>" id="<%= statObject.id %>"> - <h2 class="title"><%= statObject.name %></h2> - <div class="statbody"> - <h3><%= statObject.displayName %></h3> - <table> - <tr> - <td class="graph"> - <%= statObject.graph %> - <% if (statObject.dataLinks) { %> - <div class="datalinks">(data for <%= statObject.dataLinks.join(", ") %>)</div> - <% } %> - </td> - <td class="latest"> - <h4>Latest values:</h4> - <%= formatLatest(statObject.latest) %> - </td> - </tr> - </table> - </div> - </div> - <% -} - -function displayCategory(categoryName) { - %> - <div class="categorywrapper" id="box<%= categoryName %>"> - <% - categoriesToStats[categoryName].forEach(displayStat); - %> - </div> - <% -} - -statCategoryNames.forEach(displayCategory); - -%> - diff --git a/etherpad/src/templates/store/csc-help.ejs b/etherpad/src/templates/store/csc-help.ejs deleted file mode 100644 index 3623fac..0000000 --- a/etherpad/src/templates/store/csc-help.ejs +++ /dev/null @@ -1,23 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><html> -<body> - -<p>The CSC (or CVC) is the 3-digit number printed on the back of your card. -For American Express, it's the 4-digit number on the front.</p> - -<img src="/static/img/billing/csc-help.gif" alt="cc back" /> - -</body> -</html> - diff --git a/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs b/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs deleted file mode 100644 index 69e0ead..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs +++ /dev/null @@ -1,183 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% - if (!cart.billingCountry) { - cart.billingCountry = "US"; - } - helpers.includeJQuery(); - helpers.includeJs("billing_shared.js"); - helpers.includeJs("billing.js"); - - function classesPlusError(classes, id) { - return (classes || []).concat(errorIfInvalid(id) || []).join(' '); - } -%> - -<% function textRow(id, label, classes, notBillingField) { - var val = (cart[id] || ""); - var maxlen=60; - var border; - if (id == "billingCCNumber") { - if (billing.validateCcNumber(val)) { - border = "greenborder"; - } else if (billing.validateCcLength(val)) { - border = "redborder"; - } - val = obfuscateCC(val); - maxlen = 16; - } - var classString = classesPlusError((notBillingField?[]:['billingfield']).concat(classes), id); - return TR({className: classString}, - TD({className: 'pcell'}, - LABEL({htmlFor: id}, label+(label.length > 0 ? ":" : ''))), - TD({className: 'tcell'}, - INPUT({type: 'text', name: id, size:35, maxlength:maxlen, - value: val, - className: border}))); - } %> - -<h4>Your name:</h4> -<table class="billingtable"> - <%= textRow("billingFirstName", "First Name", [], true) %> - <%= textRow("billingLastName", "Last Name", [], true) %> -</table> - -<h4>Payment information:</h4> - -<% if (request.scheme == 'https') { %> - <div class='secure'> - <p>Your payment information will be sent securely.</p> - </div> -<% } %> - -<% - function purchaseType(id, title) { - var sel; - if (! cart.billingPurchaseType) { - sel = (id == 'creditcard'); - } else { - sel = (cart.billingPurchaseType == id); - } - %> - <span class="paymentbutton"> - <input type="radio" value="<%= id %>" name="billingPurchaseType" id="purchase<%= id %>" <%= sel ? 'checked="checked"' : "" %> style="display: inline-block; vertical-align: middle;"/> - <label for="purchase<%= id %>"> - <img src="/static/img/billing/<%= id %>.gif" style="display: inline-block; vertical-align: middle;" /> <span style="display: inline-block; vertical-align: middle;"><%= title %></span> - </label> - </span> - <% - } -%> - -<div id="billingselect"> -<p class="<%= errorIfInvalid("billingPurchaseType") %>">Pay using: -<% purchaseType('creditcard', 'Credit Card'); %> -<% purchaseType('invoice', 'Invoice'); %> -<% purchaseType('paypal', 'PayPal'); %> -</p> -</div> - -<table class="billingtable"> - <%= textRow("billingCCNumber", "Credit Card Number", ['creditcardreq']) %> - -<% function cardInput(cctype) { - var classes = []; - if (cart.billingCCNumber) { - if (cctype == billing.getCcType(cart.billingCCNumber)) { - classes.push("ccimageselected"); - } - } - classes.push("ccimage"); - var img = IMG({ - src: "/static/img/billing/"+cctype+".gif", - alt: cctype, - className: classes.join(" "), - style: "vertical-align: middle", - id: "img"+cctype}); - return img; - } %> - - <tr class="billingfield creditcardreq"> - <td class="pcell"> </td> - <td valign="center"> - <div id="ccimages"> - <% ["visa", "mc", "disc", "amex"].forEach(function(t) { %> - <%= cardInput(t) %> - <% }); %> - </div> - </td> - </tr> - - <tr class="billingfield creditcardreq <%= errorIfInvalid("billingMeta") %>"> - <td class="pcell">Expiration (MM/YY):</td> - <td> - <input type="text" name="billingExpirationMonth" size="2" maxlength="2" - value="<%= (cart.billingExpirationMonth || '') %>" /> - / - <input type="text" name="billingExpirationYear" size="2" maxlength="2" - value="<%= (cart.billingExpirationYear || '') %>" /> - CSC/CVC: - <input type="text" name="billingCSC" size="4" maxlength="4" - value="<%= (cart.billingCSC || '') %>"/> - <a target="_blank" href="//<%= getFullSuperdomainHost() %>/ep/store/csc-help" id="cschelp">what's this?</a> - </td> - </tr> - - <tr class="billingfield creditcardreq"> - <td colspan=2 style="text-align: center; font-weight: normal;">(Be sure to enter your <strong>credit card billing address</strong> below.)</td> - </tr> - - <tr class="<%= classesPlusError(['billingfield', 'creditcardreq', 'invoicereq'], 'billingCountry') %>"> - <td class="pcell">Country:</td> - <td> - <select id="billingCountry" name="billingCountry"> - <% countryList.forEach(function(c) { %> - <%= ((c[0] == cart.billingCountry) ? - OPTION({value: c[0], selected: true}, c[1]) : - OPTION({value: c[0]}, c[1])) %> - <% }); %> - </select> - </td> - </tr> - - <%= textRow("billingAddressLine1", "Address", ['creditcardreq', 'invoicereq']) %> - <%= textRow("billingAddressLine2", "", ['creditcardreq', 'invoicereq']) %> - <%= textRow("billingCity", "City", ['creditcardreq', 'invoicereq']) %> - - <tr class="<%= classesPlusError(['billingfield', 'creditcardreq', 'invoicereq', 'usonly'], 'billingState') %>"> - <td class="pcell">State:</td> - <td> - <select id="billingState" name="billingState"> - <% usaStateList.forEach(function(s) { %> - <%= ((s == cart.billingState) ? - OPTION({value: s, selected: true}, s) : - OPTION({value: s}, s)) %> - <% }); %> - </select> - </td> - </tr> - <%= textRow("billingProvince", "Province", ['creditcardreq', 'invoicereq', 'intonly'])%> - <%= textRow("billingZipCode", "Zip Code", ['creditcardreq', 'invoicereq', 'usonly']) %> - <%= textRow("billingPostalCode", "Postal Code", ['creditcardreq', 'invoicereq', 'intonly'])%> - <tr class="billingfield paypalreq"><td colspan=2 class="firstcell">Click "<%= billingButtonName %>" below to continue with PayPal.</td></tr> -</table> - -<% if (showCouponCode) { %> - <h4>Optional information:</h4> - <table class="billingtable"> - <%= textRow("billingReferralCode", "Referral Code", [], true) %> - </table> -<% } %> - - -<%= billingFinalPhrase %>
\ No newline at end of file diff --git a/etherpad/src/templates/store/eepnet-checkout/cart.ejs b/etherpad/src/templates/store/eepnet-checkout/cart.ejs deleted file mode 100644 index 147ff1b..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/cart.ejs +++ /dev/null @@ -1,119 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %> -<div id="<%= shoppingcartid %>" class="shoppingcart"> - <table cellspacing="0" cellpadding="0"> - <tr> - <th>Item</th> - <th class="pcell">Cost</th> - </tr> - - <% if (! ('baseCost' in cart) && ! ('supportCost' in cart)) { %> - <tr> - <td colspan="2" class="noitems"> - <em>Nothing selected.</em> - </td> - </tr> - <% } %> - - <% if (cart.baseCost) { %> - <tr class="base"> - <td> - <span class="item">Etherpad Private Network</span><br /> - <span class="desc"><%= cart.numUsers %> users - <% if (editable) { %> - <span class="editlink">(<a href="<%= pathTo("purchase") %>">edit</a>)</span> - <% } %> - </span> - </td> - <td class="pcell">US$<%= dollars(cart.baseCost) %></td> - </tr> - <% if (cart.couponProductPctDiscount) { %> - <tr class="basediscount refer"> - <td> - <span class="desc">Referral - <%= cart.couponProductPctDiscount %>% savings</span> - </td> - <td class="pcell">-US$<%= dollars(cart.productReferralDiscount) %></td> - </tr> - <% } %> - <% } %> - - <% if (cart.supportCost) { %> - <tr class="support"> - <td> - <span class="item">Support Contract - <% if (editable) { %> - <span class="editlink">(<a href="<%= pathTo("support-contract") %>">edit</a>)</span> - <% } %> - </span> - <br /> - <span class="desc">1 year</span> - </td> - <td class="pcell">US$<%= dollars(cart.supportCost) %></td> - </tr> - <% if (cart.couponSupportPctDiscount) { %> - <tr class="supportdiscount refer"> - <td> - <span class="desc">Referral - <%= cart.couponSupportPctDiscount %>% savings</span> - </td> - <td class="pcell">-US$<%= dollars(cart.supportReferralDiscount) %></td> - </tr> - <% } %> - <% } else if (cart.baseCost) { %> - <tr class="support"> - <td> - <span class="item">No Support Contract - <% if (editable) { %> - <span class="editlink">(<a href="<%= pathTo("support-contract") %>">edit</a>)</span> - <% } %> - </span> - </td> - <td class="pcell">US$0.00</td> - </tr> - <% } %> - - <% if (cart.freeUserCount) { %> - <tr class="referralbonus refer"> - <td> - <span class="item">Bonus Users</span><br /> - <span class="desc"> - Referral - <%= cart.freeUserCount %> free - user<%= (cart.freeUserCount == 1 ? '' : "s") %> - </span> - </td> - <td class="pcell">US$0.00</td> - </tr> - <% } %> - - <tr class="spacer"><td> </td></tr> - - <% - var pctDiscount = cart.couponTotalPctDiscount; - var hasSubtotal = pctDiscount > 0; - %> - <% if (hasSubtotal) { %> - <tr class="subtotal"> - <td>Subtotal</td> - <td class="pcell">US$<%= dollars(cart.subTotal) %></td> - </tr> - <tr class="referraldiscount refer"> - <td>Referral - <%= pctDiscount %>% savings</td> - <td class="pcell">-US$<%= dollars(cart.totalReferralDiscount) %></td> - </tr> - <% } %> - <tr class="total<%= (hasSubtotal ? '' : ' withoutsubtotal') %>"> - <td>Total</td> - <td class="pcell">US$<%= dollars(cart.total) %></td> - </tr> - </table> -</div>
\ No newline at end of file diff --git a/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs b/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs deleted file mode 100644 index 817f0eb..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs +++ /dev/null @@ -1,38 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeCss("store/eepnet-checkout.css"); %> -<% helpers.includeJQuery() %> -<% helpers.includeJs("etherpad.js") %> -<% helpers.setHtmlTitle(title); %> - -<% -var selectCount = 0; -function select(id, title) { - var className = 'poslabel'; - if (pageId == id) { - className += ' current'; - } - selectCount++; - return SPAN({className: className}, selectCount+". "+title); -} -%> - -<div class="fpcontent"> -<div id="<%= pageId %>"> - - <h2>Private Network Edition: Purchase Online</h2> - - <%= helpers.rafterNote() %> - -</div><!-- /pageId --> -</div><!-- /fpcontent --> diff --git a/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs b/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs deleted file mode 100644 index 3b38775..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs +++ /dev/null @@ -1,33 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% -helpers.includeJs('confirmation.js'); -%> - -<% if (request.params.frompaypal) { - handlePayPalRedirect(); -} %> - -<%= displaySummary(true) %> - -<% switch(cart.billingPurchaseType) { - case 'creditcard': case 'paypal': %> - <p>If this looks good, click "Purchase" below to complete your purchase.</p> - <% break; - case 'invoice': %> - <p>If this looks good, print this page and mail it along with a check or other - prearranged payment to:</p><p><strong>AppJet, Inc.<br>Pier 38 - Suite 210<br>The Embarcadero<br>San Francisco, CA 94107</strong></p> - <% break; -} - %> - diff --git a/etherpad/src/templates/store/eepnet-checkout/license-info.ejs b/etherpad/src/templates/store/eepnet-checkout/license-info.ejs deleted file mode 100644 index 4d710f2..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/license-info.ejs +++ /dev/null @@ -1,40 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><p>Your license key will be issued to a particular individual at your organization, and will be delivered to the email address you specify below.</p> - -<table border="1"> - <tr class="<%= errorIfInvalid('email') %>"> - <td>Email address to receive license key:</td> - <td><input name="email" type="text" - value="<%= cart.email %>" /></td> - </tr> - - <tr class="<%= errorIfInvalid('ownerName') %>"> - <td>Name of license owner (your name):</td> - <td><input name="ownerName" type="text" - value="<%= cart.ownerName %>" /></td> - </tr> - - <tr class="<%= errorIfInvalid('orgName') %>"> - <td>Organization or company name:</td> - <td><input name="orgName" type="text" - value="<%= cart.orgName %>" /></td> - </tr> - - <tr class="<%= errorIfInvalid('licenseAgreement') %> center"> - <td colspan=2> - <input id="c1" type="checkbox" name="licenseAgreement" <%= (cart.licenseAgreement ? 'checked="checked"' : '') %> /> - <label for="c1">I agree to the <a target="_blank" href="/static/html/eepnet/eepnet-license.html">License</a>.</label> - </td> - </tr> -</table>
\ No newline at end of file diff --git a/etherpad/src/templates/store/eepnet-checkout/purchase.ejs b/etherpad/src/templates/store/eepnet-checkout/purchase.ejs deleted file mode 100644 index 49cb3bb..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/purchase.ejs +++ /dev/null @@ -1,33 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><p>Thank you for choosing to purchase <strong>Enterprise EtherPad Private Network Edition.</strong></p> - -<p>A license allows a certain number of concurrent users, at a one-time cost of US $<%= dollars(costPerUser) %> per user with no recurring costs. <a target="_blank" href="/ep/about/pricing-eepnet-users">Learn more about how we count users</a>.</p> - -<p>How many users should your license support?</p> - -<table> - <tr class="<%= errorIfInvalid('numUsers') %>"> - <td class="pcell">Number of Users at US $<%= dollars(costPerUser) %>/user:</td> - <td class="tcell"><input name="numUsers" type="text" - value="<%= cart.numUsers %>" /></td> - </tr> -</table> - -<table> - <tr class="<%= errorIfInvalid('couponCode') %>"> - <td colspan="2" class="pcell">Referral Code (optional):</td> - <td class="tcell"><input id="couponCode" name="couponCode" type="text" - maxlength="8" value="<%= cart.couponCode %>" /></td> - </tr> -</table> diff --git a/etherpad/src/templates/store/eepnet-checkout/receipt.ejs b/etherpad/src/templates/store/eepnet-checkout/receipt.ejs deleted file mode 100644 index 8d3a2a5..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/receipt.ejs +++ /dev/null @@ -1,43 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% if (cart.showStartOverMessage) { %> - <div class="innererrormsg"> - Your purchase is complete! To purchase another item, please return to the <a href="<%= pathTo('purchase') %>?clearcart=1">purchase page</a>. - </div> -<% } - -switch(cart.status) { - case 'success': - %><p><strong>Thank you for your purchase!</strong> This page serves as your receipt. Please print it for your records. You will receive a copy of this receipt and license key by email shortly.</p><% - break; - case 'pending': - %><p>Your purchase is pending approval by PayPal. Once it clears, - usually in 2-5 business days, you will receive a copy of this receipt and - your license key by email.</p><% - break; -} %> - -<% - var instructions = "/ep/pne-manual"; - var download = "/ep/store/eepnet-download-nextsteps"; -%> - -<p>To install EtherPad Private Network Edition:</p> -<ul> - <li><a href="<%= download %>">Download Etherpad: Private Network Edition</a>.</li> - <li>Read the <a href="<%= instructions %>">EtherPad: Private Network Edition installation instructions</a>.</li> -</ul> - -<p><strong></strong></p> - -<%= displaySummary() %> diff --git a/etherpad/src/templates/store/eepnet-checkout/summary.ejs b/etherpad/src/templates/store/eepnet-checkout/summary.ejs deleted file mode 100644 index 753873c..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/summary.ejs +++ /dev/null @@ -1,91 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% -function textRow(tcell, pcell) { - %><tr> - <td class="tcell"><%= tcell %></td> - <td class="pcell"><%= pcell %></td> - </tr> - <% -} -var keyData = { - ownerName: cart.ownerName, - orgName: cart.orgName -} -if (cart.licenseKey) { - var parts = cart.licenseKey.split(":"); - keyData.ownerName = parts[0]; - keyData.orgName = parts[1]; - keyData.key = parts[2]; - - keyData.keyLine1 = keyData.key.substring(0, keyData.key.length/3); - keyData.keyLine2 = keyData.key.substring(keyData.key.length/3, 2*keyData.key.length/3); - keyData.keyLine3 = keyData.key.substring(2*keyData.key.length/3, keyData.key.length); -} - -function makeRows(arr) { - arr.forEach(function(arr) { textRow(arr[0], arr[1]); }); -} -%> - -<h4>License Information <% if (editable) { %><span class="editlink">(<a href="<%= pathTo("license-info") %>">edit</a>)</span><% } %></h4> - -<table> - <% - makeRows([ - [ "Administrator name:", keyData.ownerName ], - [ "Organization/Company:", keyData.orgName ], - [ "Email address for delivery:", cart.email ], - [ "Total users:", cart.userCount ] - ]); - if (keyData.key) { - textRow("License key:", keyData.keyLine1+"<BR>"+keyData.keyLine2+"<BR>"+keyData.keyLine3); - %><!-- key: <%= keyData.key %> --><% - } - %> -</table> - -<h4>Payment Information <% if (editable) { %><span class="editlink">(<a href="<%= pathTo("billing-info") %>">edit</a>)</span><% } %></h4> - -<table> - <% - var isUs = cart.billingCountry == "US"; - switch(cart.billingPurchaseType) { - case 'creditcard': - makeRows([ - [ "Credit card number:", obfuscateCC(cart.billingCCNumber) ], - [ "Expiration date:", cart.billingExpirationMonth+" / 20"+cart.billingExpirationYear ] - ]); - // falling through intentional. - case 'invoice': - makeRows([ - [ "Purchaser name:", cart.billingFirstName + " " + cart.billingLastName ], - [ "Purchaser address: ", cart.billingAddressLine1 + "<br>" + - (cart.billingAddressLine2 ? cart.billingAddressLine2 + "<br>" : "") + - cart.billingCity + ", " + - (isUs?cart.billingState:cart.billingProvince) + "<br>" + - (isUs?cart.billingZipCode:cart.billingPostalCode) + - (isUs?'':', '+cart.billingCountry) ], - [ "Invoice number: ", cart.invoiceId ] - ]); - break; - case 'paypal': - textRow("Paid using:", "PayPal"); - textRow("InvoiceNumber:", cart.invoiceId); - } - %> -</table> - -<h4>Summary of Charges</h4> - -<%= displayCart("shoppingconfirmation", editable) %> diff --git a/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs b/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs deleted file mode 100644 index ff33fda..0000000 --- a/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs +++ /dev/null @@ -1,41 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><p>A support contract gives you free upgrades and help directly from the engineers who developed EtherPad. Support contracts cost US $<%= dollars(costPerUser * supportCostPct/100) %> per user per year, with a US $<%= dollars(supportMinCost) %> per year minimum. <a target="_blank" href="/ep/about/pricing-eepnet-support">Learn more about support contracts</a>.</p> - -<p>For the <%= cart.numUsers %>-user license you've selected, a support contract costs US $<%= discountedSupportCost() !== undefined ? dollars(discountedSupportCost()) : dollars(supportCost()) %>. - -<p>Do you want a support contract?</p> - -<table> - <tr> - <td> - <input id="r1" type="radio" name="supportContract" value="true" - <%= (cart.supportContract == "true") ? "checked" : "" %> /> - </td> - <td> - <label for="r1">Yes, I want to purchase a support contract.</label> - </td> - </tr> - - <tr> - <td> - <input id="r2" type="radio" name="supportContract" value="false" - <%= (cart.supportContract != "true")? "checked" : "" %> /> - </td> - <td> - <label for="r2"> - No thanks, I just want the software license. - </label> - </td> - </tr> -</table>
\ No newline at end of file diff --git a/etherpad/src/templates/store/eepnet_download.ejs b/etherpad/src/templates/store/eepnet_download.ejs deleted file mode 100644 index 42c89ee..0000000 --- a/etherpad/src/templates/store/eepnet_download.ejs +++ /dev/null @@ -1,43 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.includeCss("store/store.css") %> -<% helpers.includeJQuery() %> -<% helpers.includeJs("store.js") %> - -<div class="fpcontent storepage" id="downloadpage"> - - <% if (message) { %> - <div id="topmsg"> - <%= message %> - </div> - <% } %> - - <h2>Download EtherPad Private Network Edition:</h2> - - <br/><br/> - <center> - <input id="license_agree" type="checkbox" /> - <label id="license_agree_label" - for="license_agree" style="font-size: 1.2em;"> - Agree to the <a target="_blank" href="/static/html/eepnet/eepnet-eval-license.html">License</a> - </label> - - <a class="downloadbutton_disabled" href="javascript:store.mustAgree();"> - Download Now - </a> - <h3>Version: <%= versionString %></h3><br/> - - </center> - - -</div> diff --git a/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs b/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs deleted file mode 100644 index 4c4cec4..0000000 --- a/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs +++ /dev/null @@ -1,40 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><div class="fpcontent"> - <h2>Downloading...</h2> - - <p>Your download should begin automatically. If it does not, you - can click this link:</p> - - <ul> - <li><a href="/ep/store/eepnet-download-zip">Download Now</a> - </li> - </ul> - - <h2>Next Steps</h2> - - <ul> - <li>Read the - <a href="/ep/pne-manual/">PNE System Administrator's - Manual</a>.</li> - - <li>A license key was sent to you by email, which you will need to - run EtherPad PNE.</li> - - </ul> - -</div> - -<iframe style="display: none;" width="0" height="0" - src="/ep/store/eepnet-download-zip"></iframe> - diff --git a/etherpad/src/templates/store/eepnet_eval_signup.ejs b/etherpad/src/templates/store/eepnet_eval_signup.ejs deleted file mode 100644 index 5a1edf4..0000000 --- a/etherpad/src/templates/store/eepnet_eval_signup.ejs +++ /dev/null @@ -1,125 +0,0 @@ -<% /* Copyright 2009 Google Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS-IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. */ %><% helpers.setHtmlTitle("Sign up for EtherPad PNE Free Trial"); %> -<% helpers.includeJQuery() %> -<% helpers.includeJs("etherpad.js") %> -<% helpers.includeJs("store.js") %> -<% helpers.includeCss("store/store.css") %> - -<% function renderField(maxlen, id, title) { - var oldValue = (oldData[id] || ""); - return DIV(P(LABEL({htmlFor: id}, title), - INPUT({maxlength: maxlen, - type: "text", - className: "signupData", - name: id, - id: id, - value: oldValue}))); - } - - function renderWebLeadField(name) { - return INPUT({type: 'hidden', name: name, id: "wl_"+name, value: ""}); - } -%> - -<div class="fpcontent storepage" id="eepnet_trial_signup_page"> - - <h2 id="toph2">Private Network Edition: <%= trialDays %>-Day Free Trial</h2> - - <p>Enter your information here to download a free <%= trialDays - %>-day trial of EtherPad Private Network Edition.</p> - - <div style="display: none;" id="errormsg"> </div> - - <div style="display: none;" id="processingmsg"> - <img src="/static/img/misc/status-ball.gif" alt="" /> - Processing, please wait... - </div> - - <div id="dlsignup"> - - <form id="signupForm" method="post" action="<%= request.path %>"> - - <% /* note: these fields should match exactly the eepnet-pricingcontact - form in pricing_eepnet.ejs */ %> - - <%= renderField(40, "firstName", "First Name:") %> - <%= renderField(80, "lastName", "Last Name:") %> - <%= renderField(80, "email", "Your Email (license key will be sent here):") %> - <%= renderField(40, "orgName", "Company/Organization:") %> - - <p> - <label for="industry">Industry</label> - <select id="industry" name="industry"> - <% sfIndustryList.forEach(function(i) { %> - <%= ((i == oldData.industry) ? - OPTION({value: toHTML(i), selected: true}, i) : - OPTION({value: toHTML(i)}, i)) %> - <% }); %> - </select> - </p> - - <%= renderField(40, "jobTitle", "Your Title:") %> - <%= renderField(40, "phone", "Phone Number:") %> - <%= renderField(160, "estUsers", "Estimated number of users:") %> - - </form> - - <p><button id="submit" onclick="javascript: void store.eepnetTrial.submit();">Go To Download --></button></p> - - </div> - - <p>If you already have a license, you - can <a href="/ep/store/eepnet-download">skip directly to download</a>.</p> - - <p>You can also <a href="/ep/store/eepnet-recover-license">recover a - lost license key</a>.</p> - - <p>Questions? Email <%= helpers.oemail("sales") %>.</p> - -</div> - -<form id="wlform" - method="post" - target="wltarget" - action="<%= request.scheme %>://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" -> - - <input type="hidden" name="retURL" value="<%= request.scheme %>://<%= request.host %>/ep/store/salesforce-web2lead-ok" /> - - <% [ - "oid", - "first_name", - "last_name", - "email", - "company", - "title", - "phone", - "00N80000003FYtG", - "00N80000003FYto", - "00N80000003FYuI", - "lead_source", - "industry" - ].forEach(function(f) { %> - - <%= renderWebLeadField(f) %> - - <% }); %> - -</form> - -<iframe style="width: 1px; height: 1px; border: 0;" - name="wltarget" - id="wltarget" - src="about:blank"></iframe> - diff --git a/infrastructure/framework-src/modules/faststatic.js b/infrastructure/framework-src/modules/faststatic.js index 5cca676..920be8c 100644 --- a/infrastructure/framework-src/modules/faststatic.js +++ b/infrastructure/framework-src/modules/faststatic.js @@ -104,11 +104,35 @@ function _getMTime(f) { } } +function manglePluginPath(localFile, fileType) { + var prefix = '/static/' + fileType + '/plugins/'; + if (localFile.substring(0, prefix.length) != prefix) + return localFile; + var suffix = localFile.substring(prefix.length); + var plugin = suffix.split('/', 1)[0]; + suffix = suffix.substring(plugin.length + 1); + return '/plugins/' + plugin + '/static/' + fileType + '/' + suffix; +} + +function manglePluginPaths(localFile) { + return manglePluginPath( + manglePluginPath( + manglePluginPath( + manglePluginPath( + manglePluginPath( + localFile, + 'js'), + 'css'), + 'swf'), + 'html'), + 'zip'); +} + function _wrapFile(localFile) { return { getPath: function() { return localFile; }, getMTime: function() { return _getMTime(localFile); }, - getContents: function() { return _readFileAndProcess(localFile, 'string'); } + getContents: function() { return _readFileAndProcess(manglePluginPaths(localFile), 'string'); } }; } diff --git a/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar b/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar Binary files differnew file mode 100644 index 0000000..86a56ac --- /dev/null +++ b/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar diff --git a/infrastructure/lib/commons-fileupload-1.2.1-sources.jar b/infrastructure/lib/commons-fileupload-1.2.1-sources.jar Binary files differnew file mode 100644 index 0000000..8141625 --- /dev/null +++ b/infrastructure/lib/commons-fileupload-1.2.1-sources.jar diff --git a/infrastructure/lib/commons-fileupload-1.2.1.jar b/infrastructure/lib/commons-fileupload-1.2.1.jar Binary files differnew file mode 100644 index 0000000..aa209b3 --- /dev/null +++ b/infrastructure/lib/commons-fileupload-1.2.1.jar diff --git a/infrastructure/lib/commons-io-1.4-javadoc.jar b/infrastructure/lib/commons-io-1.4-javadoc.jar Binary files differnew file mode 100644 index 0000000..95731a7 --- /dev/null +++ b/infrastructure/lib/commons-io-1.4-javadoc.jar diff --git a/infrastructure/lib/commons-io-1.4-sources.jar b/infrastructure/lib/commons-io-1.4-sources.jar Binary files differnew file mode 100644 index 0000000..299708f --- /dev/null +++ b/infrastructure/lib/commons-io-1.4-sources.jar diff --git a/infrastructure/lib/commons-io-1.4.jar b/infrastructure/lib/commons-io-1.4.jar Binary files differnew file mode 100644 index 0000000..133dc6c --- /dev/null +++ b/infrastructure/lib/commons-io-1.4.jar |