Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:roundcube:theme-gv4alw

Theme: gv4alw

I'm using roundcube and I like it very much.
For me there is no really good theme for roundcube that is why I've adapted one to my likings.
This theme is based on groupvice4 by the user Julius Caesar.

Versions

The major version of this theme is equal to the major version of roundcube since 0.6.
E.g.: rc 0.6 → gv4alw 0.6

Latest version of theme
Latest version of theme-plugins

Version Roundcube-Version Plugins-Version
0.6.0 0.6 TODO
0.3.1 0.5.3 v0.3.1
0.3 0.5.3 v0.3.1
0.2 0.5rc-0.5 v0.2

There is also a git repository for this theme and the plugins hosted on github:

Modifications

  • removed logo
  • reduced size of tabbar
  • increased size of email composing and listing windows
  • unify tabbar
  • code cleanup
  • move taskbar (not really finished, also shown if no element exists)

For more details see CHANGELOG.

Plugins

  • accounts
  • archive
  • archivefolder
  • compose_addressbook
  • compose_in_taskbar (not needed anymore)
  • compose_newwindow
  • contextmenu
  • enigma
  • forwardattachment plugin dropped with 0.8
  • help
  • jqueryui (not supported anymore, structure change from skins to themes)
  • listcontrols
  • managesieve
  • markasjunk
  • quickrules
  • remember_me plugin dropped with 0.8
  • settings
  • sieverules
  • sticky notes

Screenshots

Installation

You can install this theme either using the install script below or running the commands manualy.

install-script

The install script will do all steps needed to install this theme for you:

  • download sources
  • check for version whether update is needed or not
  • install theme
  • install support for plugins
  • modify plugins to fully support theme (modification has to be accepted for each plugin)

Dependencies

  • tar
  • wget
  • bash
  • sed

install-script

install-script

install-gv4alw
#!/bin/bash
 
rcdir="${1}"
THEMENAME="gv4alw"
THEMEURL="http://andrwe.org/lib/exe/fetch.php/scripting/roundcube/${THEMENAME}/${THEMENAME}.tar.gz"
PLUGINURL="http://andrwe.org/lib/exe/fetch.php/scripting/roundcube/${THEMENAME}/${THEMENAME}-plugins.tar.gz"
MODPLUGINS='managesieve sieverules'
VERBOSE=0
opt=""
skip=0
 
function usage()
{
  echo "This script installs the roundcube theme ${THEMENAME} and its plugins.
Just start it using the absolute roundcube install path as argument:
$0 /path/to/roundcube-root/
e.g.:
$0 /var/www/roundcube/
"
}
 
[ $# -ne 1 ] && usage && exit 1
[ ! -d ${rcdir} ] && echo "${rcdir} doesn't exist or isn't a directory." && exit 1
[[ ! ${rcdir} =~ ^/ ]] && echo "Relative path isn't supported. Use absolute path." && usage && exit 1
 
[ ${VERBOSE} -ne 0 ] && opt="v"
echo "Retrieving packages ..."
wget -O /tmp/${THEMENAME}.tar.gz "${THEMEURL}" || exit 1
wget -O /tmp/${THEMENAME}-plugins.tar.gz "${PLUGINURL}" || exit 1
echo "Changing directory to ${rcdir}/skins/"
cd "${rcdir}/skins/"
if [ -d ${THEMENAME} ]
then
  echo "Checking version ..."
  locver="$(<"${THEMENAME}"/VERSION)"
  tarver="$(tar xfO${opt} "/tmp/${THEMENAME}.tar.gz" "${THEMENAME}/VERSION")"
  if [ "${locver}" == "${tarver}" ]
  then
    skip=1
    echo "Theme is up-to-date. Skipping."
  fi
fi
if [ ${skip} -eq 0 ]
then
  echo "Installing ${THEMENAME} ..."
  rm -rf${opt} "${THEMENAME}"
  tar xfz${opt} /tmp/${THEMENAME}.tar.gz || exit 1
  echo "... theme installed."
fi
echo "Preparing plugin installation ..."
mkdir -p /tmp/${THEMENAME}-plugins
cd /tmp/${THEMENAME}-plugins
tar xfz${opt} /tmp/${THEMENAME}-plugins.tar.gz
echo "... preparation done."
echo "Installing plugins ..."
for plugindir in *
do
  plugin="$(basename "${plugindir}")"
  if [ -e "${rcdir}/plugins/${plugin}" ]
  then
    echo -n "${plugin}: "
    locver="$(<"${rcdir}/plugins/${plugin}/skins/${THEMENAME}/VERSION")"
    tarver="$(<"${plugindir}/skins/${THEMENAME}/VERSION")"
    if [ "${locver}" != "${tarver}" ]
    then
      rm -rf${opt} "${rcdir}/plugins/${plugin}/skins/${THEMENAME}"
      cp -r${opt} "${plugindir}/skins/" "${rcdir}/plugins/${plugin}/"
      echo "updated"
    else
      echo "up-to-date"
    fi
  fi
done
echo "... installation done."
echo "Now installed plugins would be modified to fully support this themes capabilities.
For each modification you can choose whether it should be done, default choice is no.
All done modifications will be shown."
read -p "Should the plugins be modified? (y/N) " modify
if [ "${modify}" == "y" -o "${modify}" == "Y" ]
then
  for plugin in ${MODPLUGINS}
  do
    [ ! -d "${rcdir}/plugins/${plugin}" ] && continue
    case ${plugin} in
      "managesieve")
        echo "managesieve: public \$task = 'settings' => public \$task = '?(?!login|logout).*'"
        read -p "Modify? (y/N) " modplugin
        if [ "${modplugin}" == "y" -o "${modplugin}" == "Y" ]
        then
          sed -i 's/public \$task = \(.\)settings|mail|addressbook.;$/public $task = \1?(?!login|logout).*\1;/g' "${rcdir}/plugins/${plugin}/${plugin}.php"
          echo "managesieve modified"
        fi
        ;;
      "sieverules")
        echo "sieverules: public \$task = 'settings' => public \$task = '?(?!login|logout).*'"
        read -p "Modify? (y/N) " modplugin
        if [ "${modplugin}" == "y" -o "${modplugin}" == "Y" ]
        then
          sed -i 's/public \$task = \(.\)settings.;$/public $task = \1?(?!login|logout).*\1;/g' "${rcdir}/plugins/${plugin}/${plugin}.php"
          echo "sieverules modified"
        fi
        ;;
    esac
  done
fi
echo "Cleanup ..."
rm -rf${opt} "/tmp/${THEMENAME}"-plugins{,.tar.gz} "/tmp/${THEMENAME}.tar.gz"
echo "... cleanup done."
echo "Script finished."

manualy

To install the theme change into the skins directory of your roundcube installation, e.g.:

cd /var/www/roundcube/skins/

and extract the archive, e.g.:

tar xvfz /tmp/gv4alw.tar.gz

To install the plugin support change into the plugins directory of your roundcube installation, e.g.:

cd /var/www/roundcube/plugins/

and extract the archive, e.g.:

tar xfvz /tmp/gv4alw-plugins.tar.gz

This way maybe new directories will be created for plugins supported by the theme but not installed.

To fully use all features of this theme you can modify the plugins which add an own tab to the tabbar like managesieve or sieverules in the following way:

  1. search for $task in /rc-dir/plugins/<plugin>/<plugin>.php
  2. replace 'settings' with '?(?!login|logout).*'

Comments

Hi, thank you for this really nice theme, I have been using it for several months, but now … is there a chance to get it adapted to current roundcube?

2 |
muFF!n
| 2011/05/11 10:51 | reply
scripting/roundcube/theme-gv4alw.txt · Zuletzt geändert: 2014/11/19 13:08 von Andrwe Lord Weber

Seiten-Werkzeuge