From 99f904adcc37d93c90defcd8ce898598e25be212 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Wed, 11 Mar 2015 16:55:04 +0100 Subject: Lot of plugins --- settings/CHANGELOG | 11 + settings/LICENSE | 84 +++++++ settings/README | 8 + settings/config.inc.php.dist | 25 ++ settings/localization/bg_BG.inc | 26 ++ settings/localization/ca_ES.inc | 12 + settings/localization/cs_CZ.inc | 27 +++ settings/localization/da_DK.inc | 15 ++ settings/localization/de_CH.inc | 24 ++ settings/localization/de_DE.inc | 27 +++ settings/localization/en_GB.inc | 26 ++ settings/localization/en_US.inc | 16 ++ settings/localization/es_ES.inc | 27 +++ settings/localization/fi_FI.inc | 27 +++ settings/localization/fr_FR.inc | 27 +++ settings/localization/gl_ES.inc | 12 + settings/localization/hu_HU.inc | 26 ++ settings/localization/it_IT.inc | 26 ++ settings/localization/nl_NL.inc | 27 +++ settings/localization/pl_PL.inc | 29 +++ settings/localization/pt_BR.inc | 25 ++ settings/localization/pt_PT.inc | 26 ++ settings/localization/revision.inc.php | 11 + settings/localization/ru_RU.inc | 26 ++ settings/localization/sk_SK.inc | 28 +++ settings/localization/sv_SE.inc | 11 + settings/localization/zh_CN.inc | 10 + settings/localization/zh_TW.inc | 11 + settings/settings.js | 27 +++ settings/settings.php | 282 ++++++++++++++++++++++ settings/skins/classic/settings.css | 52 ++++ settings/skins/larry/images/account-admin-col.png | Bin 0 -> 1895 bytes settings/skins/larry/settings.css | 65 +++++ 33 files changed, 1076 insertions(+) create mode 100644 settings/CHANGELOG create mode 100644 settings/LICENSE create mode 100644 settings/README create mode 100644 settings/config.inc.php.dist create mode 100644 settings/localization/bg_BG.inc create mode 100644 settings/localization/ca_ES.inc create mode 100644 settings/localization/cs_CZ.inc create mode 100644 settings/localization/da_DK.inc create mode 100644 settings/localization/de_CH.inc create mode 100644 settings/localization/de_DE.inc create mode 100644 settings/localization/en_GB.inc create mode 100644 settings/localization/en_US.inc create mode 100644 settings/localization/es_ES.inc create mode 100644 settings/localization/fi_FI.inc create mode 100644 settings/localization/fr_FR.inc create mode 100644 settings/localization/gl_ES.inc create mode 100644 settings/localization/hu_HU.inc create mode 100644 settings/localization/it_IT.inc create mode 100644 settings/localization/nl_NL.inc create mode 100644 settings/localization/pl_PL.inc create mode 100644 settings/localization/pt_BR.inc create mode 100644 settings/localization/pt_PT.inc create mode 100644 settings/localization/revision.inc.php create mode 100644 settings/localization/ru_RU.inc create mode 100644 settings/localization/sk_SK.inc create mode 100644 settings/localization/sv_SE.inc create mode 100644 settings/localization/zh_CN.inc create mode 100644 settings/localization/zh_TW.inc create mode 100644 settings/settings.js create mode 100644 settings/settings.php create mode 100644 settings/skins/classic/settings.css create mode 100644 settings/skins/larry/images/account-admin-col.png create mode 100644 settings/skins/larry/settings.css (limited to 'settings') diff --git a/settings/CHANGELOG b/settings/CHANGELOG new file mode 100644 index 0000000..679894b --- /dev/null +++ b/settings/CHANGELOG @@ -0,0 +1,11 @@ +VERSION COMMENT +----------------------------------------------------------------------------------------------------------------- +4.3 - It's time for a Changelog +4.4 - Simplify plugin (remove config) +4.4.1 - Larry CSS adjustments +4.5 - Move Server Settings section to Account Administration section +4.5.1 - Make plugin independent from plugin_manager plugin +5.0 - calendar plugin adjustments +5.0.1 - 5.0.2 - Implement myrc_sprites plugin +5.0.3 - Removed depricated nabble code +5.0.4 - Removed qtip plugin \ No newline at end of file diff --git a/settings/LICENSE b/settings/LICENSE new file mode 100644 index 0000000..11b1f5e --- /dev/null +++ b/settings/LICENSE @@ -0,0 +1,84 @@ + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +dev-team [at] myroundcube [dot] com +http://myroundcube.com + +--- LICENSE DETAILS --- + + + + +TERMS AND CONDITIONS +-------------------- + +User Agreement + +MyRoundcube Developers provides MyRoundcube Plugins (code) shall provide ("MyRoundcube Plugins") to +you ("User") under the terms and conditions of this User Agreement ("the Agreement"). USER UNDERSTANDS +AND ACKNOWLEDGES THAT USER IS ENTERING INTO AN AGREEMENT WITH MyRoundcube Developers AND NOT THE WEB +SITE WITH WHOM ANYTHING HAS ASSOCIATED TO BRING YOU THIS CODE. BY USING ("MyRoundcube Plugins") OR ANY +PART OF ITS CODE YOU ARE AGREEING TO BECOME A PARTY TO THIS AGREEMENT WITH MyRoundcube Developers AND +TO THE TERMS AND CONDITIONS HEREIN AND ACKNOWLEDGE THAT YOU HAVE READ AND UNDERSTAND ANY APPLICABLE +ASSOCIATE STATEMENT IN THIS DOCUMENT. ALL MyRoundcube Developers SERVICES ARE PROVIDED ONLINE. PERSONS +UNDER 13 MAY NOT BE ELEGIBLE TO ENTERING INTO AN AGREEMENT WITH MyRoundcube Developers OR PURCHASE OUR +SERVICES AND CODE DOWNLOADS. + +Acceptable Use Policy + +The following policy governs the use of the MyRoundcube Developers code. User will comply with the terms +and spirit of the Agreement. + +(a) User shall not use MyRoundcube Plugins (code) in a manner that violates any city, state, national +or international law or regulation, or which fails to comply with accepted Internet protocol. User +shall not attempt to interfere in any way with MyRoundcube Plugins networks or network security, or +attempt to use the MyRoundcube Plugins code to gain unauthorized access to any other computer system. +(b) User shall at all times provide MyRoundcube Developers with accurate information. User shall not +interfere in any way with another User's use of, or MyRoundcube Developers provision of the MyRoundcube +Plugins. User shall not resell, rent, lease, grant a security interest in, or make commercial use of +the MyRoundcube Plugins without the express written consent of MyRoundcube Developers. +(c) User agrees not to transfer MyRoundcube Plugins (code) for gain or otherwise. Transfer of such code +will result in termination of contract with end user. + +Limitation of Liability + +UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL MyRoundcube +Developers OR ITS LICENSORS OR RESELLERS BE LIABLE TO USER OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, +INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES RESULTING +FROM THE USE OF OR THE INABILITY TO USE THE MyRoundcube Plugins (code), THE PERFORMANCE OF MyRoundcube +Plugins (code) SERVICE, OR DAMAGES FOR LOSS OF GOODWILL, BUSINESS PROFIT, BUSINESS STOPPAGE, LOSS OF +DATA OR BUSINESS INFORMATION, COMPUTER DAMAGE, OR DAMAGES RESULTING FROM UNAUTHORIZED ACCESS TO OR +CHANGES MADE TO USER'S TRANSMISSIONS OR DATA, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. +IN NO EVENT WILL MyRoundcube Developers BE LIABLE FOR ANY DAMAGES IN EXCESS OF WHAT ANYTHING MyRoundcube +Developers RECEIVED FROM USER FOR THE MyRoundcube Plugins (code). + +Terms + +You (the User) are permitted to use the code on unlimited servers you may own, rented or leased, as +long as you own, rent or lease the server in which MyRoundcube plugins code is hosted. +Exclusive: You (the User) agree to use the code in one server at a time. Multiple server deployments +(multiserver setup), clusters or any other form of deployment that simultaneously executes MyRoundcube +plugins in a live environment must purchase a separate download per server or installation thereof. + +Warranties + +Our code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +Terms Modifications + +We reserve the right to change or modify our Terms and Conditions at any time without prior notice. +For questions, please contact our team at dev-team [at] myroundcube [dot] com. + +Copyright (c) 2012 - 2014 +MyRoundcube.com - A Division of Informative Computing Consultants, LLC. +All rights reserved + +Informative Computing Consultants, LLC. +21741 NW 8th CT +Pembroke Pines +Florida, 33029 +dev-team [at] myroundcube [dot] com +http://myroundcube.com diff --git a/settings/README b/settings/README new file mode 100644 index 0000000..19c4d76 --- /dev/null +++ b/settings/README @@ -0,0 +1,8 @@ +settings +-------- +Documentation: +http://myroundcube.com/myroundcube-plugins/ + + +MyRoundcube Dev Team +www.myroundcube.com \ No newline at end of file diff --git a/settings/config.inc.php.dist b/settings/config.inc.php.dist new file mode 100644 index 0000000..7c36a96 --- /dev/null +++ b/settings/config.inc.php.dist @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/settings/localization/bg_BG.inc b/settings/localization/bg_BG.inc new file mode 100644 index 0000000..17b1232 --- /dev/null +++ b/settings/localization/bg_BG.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/settings/localization/ca_ES.inc b/settings/localization/ca_ES.inc new file mode 100644 index 0000000..89f7956 --- /dev/null +++ b/settings/localization/ca_ES.inc @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/settings/localization/cs_CZ.inc b/settings/localization/cs_CZ.inc new file mode 100644 index 0000000..c066801 --- /dev/null +++ b/settings/localization/cs_CZ.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/da_DK.inc b/settings/localization/da_DK.inc new file mode 100644 index 0000000..c7a8b3e --- /dev/null +++ b/settings/localization/da_DK.inc @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/settings/localization/de_CH.inc b/settings/localization/de_CH.inc new file mode 100644 index 0000000..a480711 --- /dev/null +++ b/settings/localization/de_CH.inc @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/settings/localization/de_DE.inc b/settings/localization/de_DE.inc new file mode 100644 index 0000000..c1da395 --- /dev/null +++ b/settings/localization/de_DE.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/en_GB.inc b/settings/localization/en_GB.inc new file mode 100644 index 0000000..66be15a --- /dev/null +++ b/settings/localization/en_GB.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/settings/localization/en_US.inc b/settings/localization/en_US.inc new file mode 100644 index 0000000..3c6fd6d --- /dev/null +++ b/settings/localization/en_US.inc @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/settings/localization/es_ES.inc b/settings/localization/es_ES.inc new file mode 100644 index 0000000..a57313d --- /dev/null +++ b/settings/localization/es_ES.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/fi_FI.inc b/settings/localization/fi_FI.inc new file mode 100644 index 0000000..b272f03 --- /dev/null +++ b/settings/localization/fi_FI.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/fr_FR.inc b/settings/localization/fr_FR.inc new file mode 100644 index 0000000..ec96973 --- /dev/null +++ b/settings/localization/fr_FR.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/gl_ES.inc b/settings/localization/gl_ES.inc new file mode 100644 index 0000000..a91c576 --- /dev/null +++ b/settings/localization/gl_ES.inc @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/settings/localization/hu_HU.inc b/settings/localization/hu_HU.inc new file mode 100644 index 0000000..06113ab --- /dev/null +++ b/settings/localization/hu_HU.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/settings/localization/it_IT.inc b/settings/localization/it_IT.inc new file mode 100644 index 0000000..7201935 --- /dev/null +++ b/settings/localization/it_IT.inc @@ -0,0 +1,26 @@ + | ++-----------------------------------------------------------------------+ + +*/ + +$labels = array(); +$labels['menu'] = 'Menù'; +$labels['managefolders'] = 'Gestisci Cartelle'; +$labels['account'] = 'Amministrazione Account'; +$labels['classic'] = 'Predefinito'; +$labels['remotefolders'] = 'Cartelle Speciali'; +$labels['myroundcube'] = 'MyRoundCube'; +$labels['skin_preview'] = 'Anteprima Skin'; + +?> \ No newline at end of file diff --git a/settings/localization/nl_NL.inc b/settings/localization/nl_NL.inc new file mode 100644 index 0000000..793a4dc --- /dev/null +++ b/settings/localization/nl_NL.inc @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/settings/localization/pl_PL.inc b/settings/localization/pl_PL.inc new file mode 100644 index 0000000..6dcc058 --- /dev/null +++ b/settings/localization/pl_PL.inc @@ -0,0 +1,29 @@ + \ No newline at end of file diff --git a/settings/localization/pt_BR.inc b/settings/localization/pt_BR.inc new file mode 100644 index 0000000..fba065c --- /dev/null +++ b/settings/localization/pt_BR.inc @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/settings/localization/pt_PT.inc b/settings/localization/pt_PT.inc new file mode 100644 index 0000000..8534bee --- /dev/null +++ b/settings/localization/pt_PT.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/settings/localization/revision.inc.php b/settings/localization/revision.inc.php new file mode 100644 index 0000000..76a34d7 --- /dev/null +++ b/settings/localization/revision.inc.php @@ -0,0 +1,11 @@ + 'Olivier Zolli', + 'language ' => 'fr_FR', + 'date' => '01/20/2015 17:59:37' + ) +); + +?> \ No newline at end of file diff --git a/settings/localization/ru_RU.inc b/settings/localization/ru_RU.inc new file mode 100644 index 0000000..fecaf85 --- /dev/null +++ b/settings/localization/ru_RU.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/settings/localization/sk_SK.inc b/settings/localization/sk_SK.inc new file mode 100644 index 0000000..fbe6bc2 --- /dev/null +++ b/settings/localization/sk_SK.inc @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/settings/localization/sv_SE.inc b/settings/localization/sv_SE.inc new file mode 100644 index 0000000..3e7fcda --- /dev/null +++ b/settings/localization/sv_SE.inc @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/settings/localization/zh_CN.inc b/settings/localization/zh_CN.inc new file mode 100644 index 0000000..aed911a --- /dev/null +++ b/settings/localization/zh_CN.inc @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/settings/localization/zh_TW.inc b/settings/localization/zh_TW.inc new file mode 100644 index 0000000..7e6f345 --- /dev/null +++ b/settings/localization/zh_TW.inc @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/settings/settings.js b/settings/settings.js new file mode 100644 index 0000000..8aba9c9 --- /dev/null +++ b/settings/settings.js @@ -0,0 +1,27 @@ +$(document).ready(function(){ + if(rcmail.env.skin == 'larry'){ + if($('.minmodetoggle').get(0)){ + var minmode = rcmail.get_cookie('minimalmode'); + if(parseInt(minmode) || (minmode === null && $(window).height() < 850)){ + $('#mainscreen').css('top', '55px'); + } + $(window).resize(function(){ + var minmode = rcmail.get_cookie('minimalmode'); + if(parseInt(minmode) || (minmode === null && $(window).height() < 850)){ + $('#mainscreen').css('top', '55px'); + } + else{ + $('#mainscreen').css('top', '132px'); + } + }); + } + } + if(parent.location.href != document.location.href){ + if(rcmail.env.skin == 'larry'){ + $('.formbuttons').hide(); + } + else{ + $('#formfooter').hide(); + } + } +}); \ No newline at end of file diff --git a/settings/settings.php b/settings/settings.php new file mode 100644 index 0000000..1452305 --- /dev/null +++ b/settings/settings.php @@ -0,0 +1,282 @@ + +# Copyright (C) 2014 Roland 'Rosali' Liebl +# dev-team [at] myroundcube [dot] com +# http://myroundcube.com +# +class settings extends rcube_plugin +{ + public $task = 'settings'; + public $noajax = true; + + private $sections = array('general', 'mailbox', 'compose', 'mailview', 'addressbook', 'folders', 'server'); + + /* unified plugin properties */ + static private $plugin = 'settings'; + static private $author = 'myroundcube@mail4us.net'; + static private $authors_comments = 'Documentation'; + static private $version = '5.0.4'; + static private $date = '27-12-2014'; + static private $licence = 'All Rights reserved'; + static private $requirements = array( + 'Roundcube' => '1.0', + 'PHP' => '5.3', + 'required_plugins' => array('myrc_sprites' => 'require_plugin'), + ); + static private $prefs = null; + + function init(){ + $rcmail = rcmail::get_instance(); + + $this->require_plugin('myrc_sprites'); + + $this->register_handler('plugin.account_sections', array($this, 'account_sections')); + $this->add_hook('preferences_sections_list', array($this, 'account_link')); + $this->add_hook('preferences_list', array($this, 'prefs_table')); + $this->add_hook('render_page', array($this, 'render_page')); + + $skin = $rcmail->config->get('skin'); + $this->include_stylesheet('skins/' . $skin . '/settings.css'); + + $this->add_texts('localization/'); + $rcmail->output->add_label('settings.account'); + } + + static public function about($keys = false){ + $requirements = self::$requirements; + foreach(array('required_', 'recommended_') as $prefix){ + if(is_array($requirements[$prefix.'plugins'])){ + foreach($requirements[$prefix.'plugins'] as $plugin => $method){ + if(class_exists($plugin) && method_exists($plugin, 'about')){ + /* PHP 5.2.x workaround for $plugin::about() */ + $class = new $plugin(false); + $requirements[$prefix.'plugins'][$plugin] = array( + 'method' => $method, + 'plugin' => $class->about($keys), + ); + } + else{ + $requirements[$prefix.'plugins'][$plugin] = array( + 'method' => $method, + 'plugin' => $plugin, + ); + } + } + } + } + + return array( + 'plugin' => self::$plugin, + 'version' => self::$version, + 'date' => self::$date, + 'author' => self::$author, + 'comments' => self::$authors_comments, + 'licence' => self::$licence, + 'requirements' => $requirements, + ); + } + + function render_page($p){ + if($p['template'] == 'settings'){ + $rcmail = rcmail::get_instance(); + $rcmail->output->add_script('$("#rcmrowserver").remove();', 'docready'); + if(get_input_value('_accountsettings', RCUBE_INPUT_GET)){ + $rcmail->output->add_script('$("#rcmrowaccountlink").trigger("mousedown").trigger("mouseup");', 'docready'); + } + } + if($p['template'] == 'settingsedit' && get_input_value('_section', RCUBE_INPUT_GPC) == 'server'){ + $rcmail = rcmail::get_instance(); + $rcmail->output->add_script('$(".boxtitle").html("" + rcmail.gettext("settings.account") + " » " + $(".boxtitle").html());', 'docready'); + } + return $p; + } + + function account_link($args){ + $rcmail = rcmail::get_instance(); + $skin = $rcmail->config->get('skin'); + $temparr = array(); + foreach($this->sections as $key => $section){ + $temparr[$section] = $args['list'][$section]; + unset($args['list'][$section]); + } + $args['list']['general'] = $temparr['general']; + $args['list']['mailbox'] = $temparr['mailbox']; + $args['list']['compose'] = $temparr['compose']; + $args['list']['mailview'] = $temparr['mailview']; + $args['list']['mh_preferences'] = array(); + $args['list']['keyboard_shortcuts'] = array(); + $args['list']['identitieslink'] = array(); + $args['list']['addressbook'] = $temparr['addressbook']; + $args['list']['addressbookcarddavs'] = array(); + $args['list']['addressbooksharing'] = array(); + $args['list']['jabber'] = array(); + $args['list']['folderslink'] = array(); + $args['list']['folders'] = $temparr['folders']; + if($skin == 'classic'){ + $args['list']['folders']['section'] = $args['list']['folders']['section']; + } + $args['list']['calendar'] = array(); + $args['list']['calendarsharing'] = array(); + $args['list']['plugin_manager'] = array(); + $args['list']['plugin_manager_settings'] = array(); + $args['list']['plugin_manager_admins'] = array(); + $args['list']['plugin_manager_customer'] = array(); + $args['list']['plugin_manager_update'] = array(); + $args['list']['accountslink'] = array(); + $args['list']['server'] = $temparr['server']; + + $parts = (array) $GLOBALS['settingsnav']; + $temp = array(); + foreach($parts as $plugin => $props){ + if(class_exists($plugin)){ + $temp[$this->gettext($plugin . '.' . $props['label'])][$plugin] = $props; + } + else{ + unset($GLOBALS['settingsnav'][$plugin]); + } + } + ksort($temp); + $parts = $temp; + $GLOBALS['settingsnav'] = array(); + foreach($parts as $label => $props){ + foreach($props as $plugin => $settings){ + if(class_exists($plugin)){ + $GLOBALS['settingsnav'][$plugin] = $settings; + } + } + } + $parts = (array) $rcmail->config->get('settingsnav', $GLOBALS['settingsnav']); + foreach($parts as $plugin => $props){ + if(!class_exists($plugin)){ + unset($parts[$plugin]); + } + } + if($defaults = $_SESSION['plugin_manager_defaults']){ + $active = $rcmail->config->get('plugin_manager_active', array()); + if(is_array($defaults)){ + foreach($defaults as $section => $plugins){ + foreach($plugins as $plugin => $props){ + if($props['active']){ + $active[$plugin] = 1; + } + } + } + } + foreach($parts as $plugin => $props){ + if($active[$plugin] != 1){ + unset($parts[$plugin]); + } + } + } + if(class_exists('mysqladmin') && strtolower($rcmail->user->data['username']) == $rcmail->config->get('mysql_admin')){ + $hm = array('autoban', 'autoresponder', 'forwarding', 'login', 'accounts', 'signature', 'spamfilter'); + $detected = false; + foreach($hm as $dsn){ + $c = $rcmail->config->get('db_hmail_' . $dsn . '_dsn'); + if(is_string($c)){ + $t = parse_url($c); + if($t['user'] && $t['pass']){ + $parts = array_merge($parts, array( 'mysqladmin' => + array('part' => '', 'label' => 'pluginname', 'href' => './?_action=plugin.mysqladmin&pma_login=1&db=db_hmail_' . $dsn . '_dsn', 'onclick' => 'rcmail.set_cookie("PMA_referrer", document.location.href);', 'descr' => 'mysqladmin') + ) + ); + $detected = true; + break; + } + } + } + } + if(!$detected){ + $parts = array_merge($parts, array( 'mysqladmin' => + array('part' => '', 'label' => 'pluginname', 'href' => './?_action=plugin.mysqladmin&pma_login=1&db=db_dsnw&dbt=users', 'onclick' => 'rcmail.set_cookie("PMA_referrer", document.location.href);', 'descr' => 'mysqladmin') + ) + ); + } + $parts = array_merge($parts, array( 'settings' => + array('part' => '', 'label' => 'serversettings', 'href' => './?_task=settings&_action=edit-prefs&_section=server&_framed=1', 'descr' => 'serversettings') + ) + ); + if(count($parts) > 0){ + $_SESSION['settingsnav'] = $parts; + $args['list']['accountlink']['id'] = 'accountlink'; + $args['list']['accountlink']['section'] = $this->gettext('account'); + if(strtolower($rcmail->user->data['username']) != strtolower($_SESSION['username'])){ + unset($args['list']['accountlink']); + } + } + return $args; + } + + function account_sections(){ + $rcmail = rcmail::get_instance(); + + //display a message if required by url + if(isset($_GET['_msg'])){ + $rcmail->output->command('display_message', urldecode($_GET['_msg']), $_GET['_type']); + } + $parts = (array) $_SESSION['settingsnav']; + $out = "
\n"; + foreach($parts as $key => $part){ + if(!class_exists($key)){ + continue; + } + if(!empty($part['descr'])){ + $i++; + $out .= "
\n"; + $out .= "\n"; + $out .= "
\n"; + $out .= ' + +'; + } + } + + $out .= "
\n\n"; + return $out; + } + + function prefs_table($args){ + if(!get_input_value('_framed', RCUBE_INPUT_GPC) && $args['section'] == 'accountlink'){ + $args['blocks'][$args['section']]['options'] = array( + 'title' => '', + 'content' => html::tag('div', array('id' => 'pm_dummy'), '') + ); + return $args; + } + if ($args['section'] == 'accountlink') { + $args['blocks']['main']['options']['accountlink']['title'] = ""; + $args['blocks']['main']['options']['accountlink']['content'] = $this->account_sections(""); + $this->include_script('settings.js'); + } + return $args; + } +} + +?> \ No newline at end of file diff --git a/settings/skins/classic/settings.css b/settings/skins/classic/settings.css new file mode 100644 index 0000000..c1bac41 --- /dev/null +++ b/settings/skins/classic/settings.css @@ -0,0 +1,52 @@ +#prefs-details +{ + /*margin-top: -20px;*/ + left: 220px; +} + +#prefs-details div.userprefs-accountblock +{ + /*float: left;*/ + margin-right: 14px; + min-width: 450px; + padding: 5px 0px 0px 0px; + width: 100%; +} + +#prefs-details div.userprefs-accountblock-border +{ + background-color: #EBEBEB; + border: 1px solid #999999; +} + +.settingsplugin +{ + margin-top: 15px; +} + +a.plugin-description-link:active, a.plugin-description-link:visited, a.plugin-description-link:link +{ + font-size: 13px; + font-weight: normal; + color: #999999; + text-decoration: none; + font-style: italic; +} + +a.plugin-description-link:hover, a.plugin-description-link:focus +{ + font-weight: bold; +} + +#prefs-details div.plugin-description-text +{ + padding: 2px 5px 5px 2px; + text-align: justify; + font-size: 11px; + font-weight: normal; + color: #666666; + background-color: #F9F9F9; + /*word-wrap: break-word;*/ + width: 450px; + white-space: normal; +} \ No newline at end of file diff --git a/settings/skins/larry/images/account-admin-col.png b/settings/skins/larry/images/account-admin-col.png new file mode 100644 index 0000000..17cddb4 Binary files /dev/null and b/settings/skins/larry/images/account-admin-col.png differ diff --git a/settings/skins/larry/settings.css b/settings/skins/larry/settings.css new file mode 100644 index 0000000..90d0887 --- /dev/null +++ b/settings/skins/larry/settings.css @@ -0,0 +1,65 @@ +#sections-table #rcmrowaccountlink td.section{ + background-position: -8px -1036px; +} + +#sections-table #rcmrowaccountlink.selected td.section{ + background-position: -8px -1068px; +} + +#accountlink +{ + font-size: 12px; +} + +#prefs-details +{ + /*margin-top: -20px;*/ + left: 220px; +} + +#userprefs-accountblocks +{ + position: absolute; + left: 10px; + right: 10px; + margin-top: -25px; + background: #dfdfdf; + padding: 10px 10px 10px 10px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +.settingsplugin +{ + margin-top: 15px; +} + +a.plugin-description-link:active, a.plugin-description-link:visited, a.plugin-description-link:link +{ + font-size: 13px; + font-weight: normal; + color: #376572; + text-shadow: 0px 1px 1px white; + text-decoration: none; + font-style: normal; +} + +a.plugin-description-link:hover, a.plugin-description-link:focus +{ + /*font-weight: bold;*/ + color: #999999; +} + +#prefs-details div.plugin-description-text +{ + padding: 2px 5px 5px 2px; + text-align: justify; + font-size: 11px; + font-weight: normal; + color: #666666; + background-color: #F9F9F9; + /*word-wrap: break-word;*/ + width: 450px; + white-space: normal; +} \ No newline at end of file -- cgit v1.2.3