diff options
| author | Thomas Bruederli <thomas@roundcube.net> | 2014-05-01 09:05:29 +0200 | 
|---|---|---|
| committer | Thomas Bruederli <thomas@roundcube.net> | 2014-05-01 09:05:29 +0200 | 
| commit | b0ce5c62aff3c99e4e0bf09eae9a933f57b1f103 (patch) | |
| tree | 28462ff56117b09f468a8cecd4a14cb107610778 /program/lib/Roundcube | |
| parent | efdbf4a7d9283129f46fc6d1a667588e6bda9805 (diff) | |
Make skin meta/hierarchy information accessible for plugins (#1488831)
Diffstat (limited to 'program/lib/Roundcube')
| -rw-r--r-- | program/lib/Roundcube/rcube_output.php | 12 | ||||
| -rw-r--r-- | program/lib/Roundcube/rcube_plugin.php | 8 | 
2 files changed, 14 insertions, 6 deletions
| diff --git a/program/lib/Roundcube/rcube_output.php b/program/lib/Roundcube/rcube_output.php index 7ccf9a02e..1907645b0 100644 --- a/program/lib/Roundcube/rcube_output.php +++ b/program/lib/Roundcube/rcube_output.php @@ -3,7 +3,7 @@  /*   +-----------------------------------------------------------------------+   | This file is part of the Roundcube PHP suite                          | - | Copyright (C) 2005-2012 The Roundcube Dev Team                        | + | Copyright (C) 2005-2014 The Roundcube Dev Team                        |   |                                                                       |   | Licensed under the GNU General Public License version 3 or            |   | any later version with exceptions for skins & plugins.                | @@ -31,6 +31,7 @@ abstract class rcube_output      protected $config;      protected $charset = RCUBE_CHARSET;      protected $env = array(); +    protected $skins = array();      /** @@ -49,9 +50,12 @@ abstract class rcube_output       */      public function __get($var)      { -        // allow read-only access to $env -        if ($var == 'env') -            return $this->env; +        // allow read-only access to some members +        switch ($var) { +            case 'env':     return $this->env; +            case 'skins':   return $this->skins; +            case 'charset': return $this->charset; +        }          return null;      } diff --git a/program/lib/Roundcube/rcube_plugin.php b/program/lib/Roundcube/rcube_plugin.php index f0af95332..01c340deb 100644 --- a/program/lib/Roundcube/rcube_plugin.php +++ b/program/lib/Roundcube/rcube_plugin.php @@ -3,7 +3,7 @@  /*   +-----------------------------------------------------------------------+   | This file is part of the Roundcube Webmail client                     | - | Copyright (C) 2008-2012, The Roundcube Dev Team                       | + | Copyright (C) 2008-2014, The Roundcube Dev Team                       |   |                                                                       |   | Licensed under the GNU General Public License version 3 or            |   | any later version with exceptions for skins & plugins.                | @@ -394,7 +394,11 @@ abstract class rcube_plugin      public function local_skin_path()      {          $rcube = rcube::get_instance(); -        foreach (array($rcube->config->get('skin'), 'larry') as $skin) { +        $skins = array_keys((array)$rcube->output->skins); +        if (empty($skins)) { +            $skins = array($rcube->config->get('skin')); +        } +        foreach ($skins as $skin) {              $skin_path = 'skins/' . $skin;              if (is_dir(realpath(slashify($this->home) . $skin_path))) {                  break; | 
