From a8a72e2e7ee89caa04f8f13b6067e1b4ad870612 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Mon, 10 Dec 2012 22:26:45 +0100 Subject: Nicely render headers of message/rfc822 parts --- skins/larry/templates/message.html | 2 +- skins/larry/templates/messagepreview.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'skins/larry/templates') diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html index f7e188f5f..04381f5e9 100644 --- a/skins/larry/templates/message.html +++ b/skins/larry/templates/message.html @@ -64,7 +64,7 @@
- +
diff --git a/skins/larry/templates/messagepreview.html b/skins/larry/templates/messagepreview.html index 9eb4d1e00..aef282ac9 100644 --- a/skins/larry/templates/messagepreview.html +++ b/skins/larry/templates/messagepreview.html @@ -47,7 +47,7 @@
- +
-- cgit v1.2.3 From f5e7a1f36a04bdf830ee935a651295cb9794ecf4 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 19 Dec 2012 10:11:58 +0100 Subject: Add Compose button on message view page (#1488747) Fixed javascript error on extwin message page (classic skin) - removed splitter. --- CHANGELOG | 1 + skins/classic/includes/messagetoolbar.html | 2 +- skins/classic/templates/message.html | 2 ++ skins/larry/includes/mailtoolbar.html | 2 ++ skins/larry/templates/mail.html | 2 -- skins/larry/templates/message.html | 1 - 6 files changed, 6 insertions(+), 4 deletions(-) (limited to 'skins/larry/templates') diff --git a/CHANGELOG b/CHANGELOG index 8cfeaf89d..41e266d0c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Add Compose button on message view page (#1488747) - Display 'Sender' header in message preview - Plugin API: Added message_before_send hook - Fix contact copy/add-to-group operations on search result (#1488862) diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html index 371c83fd9..bd14f490f 100644 --- a/skins/classic/includes/messagetoolbar.html +++ b/skins/classic/includes/messagetoolbar.html @@ -5,8 +5,8 @@ - + diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html index fcf0b22c8..b9c928f8f 100644 --- a/skins/classic/templates/message.html +++ b/skins/classic/templates/message.html @@ -58,10 +58,12 @@ + + diff --git a/skins/larry/includes/mailtoolbar.html b/skins/larry/includes/mailtoolbar.html index 8efcc762c..59f2d581a 100644 --- a/skins/larry/includes/mailtoolbar.html +++ b/skins/larry/includes/mailtoolbar.html @@ -1,3 +1,5 @@ + + diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html index 8b205efbe..751ab82a4 100644 --- a/skins/larry/templates/mail.html +++ b/skins/larry/templates/mail.html @@ -21,8 +21,6 @@
- -
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html index 04381f5e9..ae77c0dc0 100644 --- a/skins/larry/templates/message.html +++ b/skins/larry/templates/message.html @@ -14,7 +14,6 @@
-
-- cgit v1.2.3 From d9f180adf9e1e8a63ea9bfdb534dc376a4829fee Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Sat, 29 Dec 2012 16:54:41 +0100 Subject: Minor IE7/8 fixes --- program/steps/mail/get.inc | 7 +++---- skins/larry/ie7hacks.css | 4 ++++ skins/larry/mail.css | 2 ++ skins/larry/templates/messagepart.html | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) (limited to 'skins/larry/templates') diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc index 37f728ebf..9d9032b6a 100644 --- a/program/steps/mail/get.inc +++ b/program/steps/mail/get.inc @@ -160,10 +160,9 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) { 'vars' => array('expected' => "$mimetype (.$file_extension)", 'detected' => "$real_mimetype (.$extensions[0])") )) . html::p('buttons', - html::a(array( - 'href' => $RCMAIL->url(array_merge($_GET, array('_nocheck' => 1))), - 'style' => 'text-decoration:none;color:#000', - ), html::tag('button', null, rcube_label('showanyway')))) + html::tag('button', + array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_nocheck' => 1))) . "'"), + rcube_label('showanyway'))) ) ))); exit; diff --git a/skins/larry/ie7hacks.css b/skins/larry/ie7hacks.css index d383c1e3e..bca39e92d 100644 --- a/skins/larry/ie7hacks.css +++ b/skins/larry/ie7hacks.css @@ -25,6 +25,10 @@ height: expression((parseInt(document.documentElement.clientHeight)-120)+'px'); } +#messagepartframe { + height: expression((parseInt(this.parentNode.offsetHeight)-1)+'px'); +} + input.button { display: inline; font-size: 90%; diff --git a/skins/larry/mail.css b/skins/larry/mail.css index 57d968fb4..34c623391 100644 --- a/skins/larry/mail.css +++ b/skins/larry/mail.css @@ -1126,6 +1126,8 @@ div.message-partheaders .headers-table td.header { #messagepartframe { border: 0; + width: 100%; + height: 100%; } /*** message composition ***/ diff --git a/skins/larry/templates/messagepart.html b/skins/larry/templates/messagepart.html index e029973a8..dbb4940de 100644 --- a/skins/larry/templates/messagepart.html +++ b/skins/larry/templates/messagepart.html @@ -27,7 +27,7 @@
- +
-- cgit v1.2.3 From 347ba311e68f3a641805a268313fcd5ed851feb7 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 1 Jan 2013 10:54:57 +0100 Subject: Add possibility to search in message body only (#1488770) --- CHANGELOG | 1 + program/localization/en_US/labels.inc | 1 + program/steps/mail/search.inc | 7 ++++--- skins/classic/templates/mail.html | 1 + skins/larry/templates/mail.html | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) (limited to 'skins/larry/templates') diff --git a/CHANGELOG b/CHANGELOG index 5a594c07e..d3ebabc3e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Add possibility to search in message body only (#1488770) - Support "multipart/relative" as an alias for "multipart/related" type (#1488886) - Display PGP/MIME signature attachments as "Digital Signature" (#1488570) - Workaround UW-IMAP bug where hierarchy separator is added to the shared folder name (#1488879) diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index d2a46ecc6..9deaa6677 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -200,6 +200,7 @@ $labels['quicksearch'] = 'Quick search'; $labels['resetsearch'] = 'Reset search'; $labels['searchmod'] = 'Search modifiers'; $labels['msgtext'] = 'Entire message'; +$labels['body'] = 'Body'; $labels['openinextwin'] = 'Open in new window'; $labels['emlsave'] = 'Download (.eml)'; diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc index f9b8f9e67..fb1b48797 100644 --- a/program/steps/mail/search.inc +++ b/program/steps/mail/search.inc @@ -69,7 +69,7 @@ else if (preg_match("/^subject:.*/i", $str)) else if (preg_match("/^body:.*/i", $str)) { list(,$srch) = explode(":", $str); - $subject['text'] = "TEXT"; + $subject['body'] = "BODY"; } else if (strlen(trim($str))) { @@ -81,7 +81,7 @@ else if (strlen(trim($str))) break; } else { - $subject[$header] = 'HEADER '.strtoupper($header); + $subject[$header] = ($header != 'body' ? 'HEADER ' : '') . strtoupper($header); } } @@ -89,7 +89,8 @@ else if (strlen(trim($str))) $search_mods = $RCMAIL->config->get('search_mods', $SEARCH_MODS_DEFAULT); $search_mods[$mbox] = array_fill_keys(array_keys($subject), 1); $RCMAIL->user->save_prefs(array('search_mods' => $search_mods)); - } else { + } + else { // search in subject by default $subject['subject'] = 'HEADER SUBJECT'; } diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html index 96fe72ecd..ad67d8e89 100644 --- a/skins/classic/templates/mail.html +++ b/skins/classic/templates/mail.html @@ -115,6 +115,7 @@
  • +
  • diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html index 751ab82a4..cd817c1de 100644 --- a/skins/larry/templates/mail.html +++ b/skins/larry/templates/mail.html @@ -133,6 +133,7 @@
  • +
  • -- cgit v1.2.3 From eecb447b2a067f3e9af012e512dec7a7b73f4a6b Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 1 Jan 2013 12:12:37 +0100 Subject: Fix checkbox/label alignment. We do this by additional span inside label and vertical-align:middle on both checkbox and span. --- skins/classic/common.css | 8 ++++ skins/classic/templates/addressbook.html | 10 ++--- skins/classic/templates/mail.html | 74 ++++++++++++++++---------------- skins/larry/styles.css | 6 +++ skins/larry/templates/addressbook.html | 10 ++--- skins/larry/templates/mail.html | 62 +++++++++++++------------- 6 files changed, 92 insertions(+), 78 deletions(-) (limited to 'skins/larry/templates') diff --git a/skins/classic/common.css b/skins/classic/common.css index 8115c1bfc..b4adc58a7 100644 --- a/skins/classic/common.css +++ b/skins/classic/common.css @@ -145,6 +145,14 @@ img color: #999999; } +/* fixes vertical alignment of checkboxes and labels */ +label input, +label span +{ + vertical-align: middle; +} + + /** common user interface objects */ #mainscreen diff --git a/skins/classic/templates/addressbook.html b/skins/classic/templates/addressbook.html index d77bb38d9..74673007a 100644 --- a/skins/classic/templates/addressbook.html +++ b/skins/classic/templates/addressbook.html @@ -40,11 +40,11 @@
      -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html index ad67d8e89..3ad258299 100644 --- a/skins/classic/templates/mail.html +++ b/skins/classic/templates/mail.html @@ -76,7 +76,7 @@ - + /> @@ -110,13 +110,13 @@
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    @@ -150,52 +150,52 @@
      -
    • -
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    -
      -
    • -
    • -
    +
      +
    • +
    • +
    diff --git a/skins/larry/styles.css b/skins/larry/styles.css index cd6810e8d..4f6073fdd 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -71,6 +71,12 @@ textarea.placeholder { font-weight: bold; } +/* fixes vertical alignment of checkboxes and labels */ +label input, +label span { + vertical-align: middle; +} + /*** buttons ***/ input.button { diff --git a/skins/larry/templates/addressbook.html b/skins/larry/templates/addressbook.html index c39c2fe87..9a9a2d747 100644 --- a/skins/larry/templates/addressbook.html +++ b/skins/larry/templates/addressbook.html @@ -78,11 +78,11 @@
      -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html index cd817c1de..58f6cc01d 100644 --- a/skins/larry/templates/mail.html +++ b/skins/larry/templates/mail.html @@ -128,13 +128,13 @@
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    @@ -178,19 +178,19 @@
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    @@ -198,15 +198,15 @@
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    @@ -214,8 +214,8 @@
      -
    • -
    • +
    • +
    -- cgit v1.2.3 From 18e23ab763bab2875d4c8fb70034e218ec7c6d14 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Wed, 9 Jan 2013 17:50:51 +0100 Subject: Welcome to 2013 --- index.php | 2 +- program/include/iniset.php | 2 +- program/lib/Roundcube/bootstrap.php | 2 +- skins/larry/templates/about.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'skins/larry/templates') diff --git a/index.php b/index.php index aee94e971..3e398c00d 100644 --- a/index.php +++ b/index.php @@ -4,7 +4,7 @@ | Roundcube Webmail IMAP Client | | Version 0.9-git | | | - | Copyright (C) 2005-2012, The Roundcube Dev Team | + | Copyright (C) 2005-2013, The Roundcube Dev Team | | | | This program is free software: you can redistribute it and/or modify | | it under the terms of the GNU General Public License (with exceptions | diff --git a/program/include/iniset.php b/program/include/iniset.php index be71fc084..35b5522fc 100644 --- a/program/include/iniset.php +++ b/program/include/iniset.php @@ -5,7 +5,7 @@ | program/include/iniset.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2008-2012, The Roundcube Dev Team | + | Copyright (C) 2008-2013, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | diff --git a/program/lib/Roundcube/bootstrap.php b/program/lib/Roundcube/bootstrap.php index 530a7f855..8cea48122 100644 --- a/program/lib/Roundcube/bootstrap.php +++ b/program/lib/Roundcube/bootstrap.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-2013, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | diff --git a/skins/larry/templates/about.html b/skins/larry/templates/about.html index 2c18e8889..301c301a9 100644 --- a/skins/larry/templates/about.html +++ b/skins/larry/templates/about.html @@ -10,7 +10,7 @@

    Roundcube Webmail

    - +

    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    -- cgit v1.2.3 From 9a6c38e14895bd093627e12f2fcf2c6ff1e3af3c Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 11 Jan 2013 14:39:23 +0100 Subject: New feature to export only selected contacts from addressbook (by Phil Weir) --- CHANGELOG | 1 + program/js/app.js | 8 ++++++++ program/localization/en_US/labels.inc | 2 ++ program/steps/addressbook/export.inc | 23 +++++++++++++++++++++++ skins/classic/addressbook.css | 8 ++++++++ skins/classic/templates/addressbook.html | 10 ++++++++++ skins/larry/styles.css | 2 +- skins/larry/templates/addressbook.html | 12 +++++++++++- 8 files changed, 64 insertions(+), 2 deletions(-) (limited to 'skins/larry/templates') diff --git a/CHANGELOG b/CHANGELOG index 25d79d1e2..ecc45c220 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Feature to export only selected contacts from addressbook (by Phil Weir) - Force autocommit mode in mysql database driver (#1488902) RELEASE 0.9-beta diff --git a/program/js/app.js b/program/js/app.js index c627983f4..2804e88df 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1090,6 +1090,12 @@ function rcube_webmail() } break; + case 'export-selected': + if (this.contact_list.rowcount > 0) { + this.goto_url('export', { _source: this.env.source, _gid: this.env.group, _cid: this.contact_list.get_selection().join(',') }); + } + break; + case 'upload-photo': this.upload_contact_photo(props || this.gui_objects.uploadform); break; @@ -4115,6 +4121,7 @@ function rcube_webmail() // thend we can enable the group-remove-selected command this.enable_command('group-remove-selected', this.env.group && list.selection.length > 0); this.enable_command('compose', this.env.group || list.selection.length > 0); + this.enable_command('export-selected', list.selection.length > 0); this.enable_command('edit', id && writable); this.enable_command('delete', list.selection.length && writable); @@ -6238,6 +6245,7 @@ function rcube_webmail() this.enable_command('compose', (uid && this.contact_list.rows[uid])); this.enable_command('delete', 'edit', writable); this.enable_command('export', (this.contact_list && this.contact_list.rowcount > 0)); + this.enable_command('export-selected', false); } case 'moveto': diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 9deaa6677..a0b6e6a31 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -335,6 +335,8 @@ $labels['composeto'] = 'Compose mail to'; $labels['contactsfromto'] = 'Contacts $from to $to of $count'; $labels['print'] = 'Print'; $labels['export'] = 'Export'; +$labels['exportall'] = 'Export all'; +$labels['exportsel'] = 'Export selected'; $labels['exportvcards'] = 'Export contacts in vCard format'; $labels['newcontactgroup'] = 'Create new contact group'; $labels['grouprename'] = 'Rename group'; diff --git a/program/steps/addressbook/export.inc b/program/steps/addressbook/export.inc index 850795c85..bf0657b74 100644 --- a/program/steps/addressbook/export.inc +++ b/program/steps/addressbook/export.inc @@ -56,6 +56,29 @@ if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search $result = new rcube_result_set($count); $result->records = array_values($records); } +// selected contacts +else if (!empty($_REQUEST['_cid'])) { + $sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name'); + $records = array(); + + $cids = explode(',', get_input_value('_cid', RCUBE_INPUT_GET)); + $CONTACTS = rcmail_contact_source(null, true); + + // Get records from all sources + foreach ($cids as $cid) { + $record = $CONTACTS->get_record($cid, true); + $key = rcmail_contact_key($record, $sort_col); + $records[$key] = $record; + unset($record); + } + + ksort($records, SORT_LOCALE_STRING); + + // create resultset object + $count = count($records); + $result = new rcube_result_set($count); + $result->records = array_values($records); +} // selected directory/group else { $CONTACTS = rcmail_contact_source(null, true); diff --git a/skins/classic/addressbook.css b/skins/classic/addressbook.css index a398325b4..1bb1e2c61 100644 --- a/skins/classic/addressbook.css +++ b/skins/classic/addressbook.css @@ -67,6 +67,14 @@ background-position: -128px -32px; } +#abooktoolbar a.exportAll { + background-position: -128px 0; +} + +#abooktoolbar a.exportAllSel { + background-position: -128px -32px; +} + #abooktoolbar span.separator { width: 5px; background-position: -162px 0; diff --git a/skins/classic/templates/addressbook.html b/skins/classic/templates/addressbook.html index 74673007a..404fb2c11 100644 --- a/skins/classic/templates/addressbook.html +++ b/skins/classic/templates/addressbook.html @@ -27,7 +27,10 @@   + + +

    @@ -38,6 +41,13 @@ +
    +
      +
    • +
    • +
    +
    +
    • diff --git a/skins/larry/styles.css b/skins/larry/styles.css index 9386c79d7..773ef23d4 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -1680,6 +1680,7 @@ ul.proplist li { } .toolbar a.button.export { + min-width: 74px; background-position: center -1054px; } @@ -1695,7 +1696,6 @@ ul.proplist li { background-position: 0 -1745px; } - a.menuselector { display: inline-block; border: 1px solid #ababab; diff --git a/skins/larry/templates/addressbook.html b/skins/larry/templates/addressbook.html index 9a9a2d747..7904f6f3a 100644 --- a/skins/larry/templates/addressbook.html +++ b/skins/larry/templates/addressbook.html @@ -13,7 +13,11 @@
      - + + + + + @@ -75,6 +79,12 @@
      +
      +
        +
      • +
      • +
      +
        -- cgit v1.2.3 From 7bdfd78426eef5e666ff258190bd3e6a4240c99a Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 25 Jan 2013 14:24:30 +0100 Subject: Define generic .searchbox styles --- skins/larry/ie7hacks.css | 2 +- skins/larry/styles.css | 14 ++++++++++---- skins/larry/templates/addressbook.html | 2 +- skins/larry/templates/mail.html | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) (limited to 'skins/larry/templates') diff --git a/skins/larry/ie7hacks.css b/skins/larry/ie7hacks.css index bca39e92d..6d7af4787 100644 --- a/skins/larry/ie7hacks.css +++ b/skins/larry/ie7hacks.css @@ -138,7 +138,7 @@ ul.toolbarmenu li label { padding: 3px 8px; } -#quicksearchbar input { +.searchbox input { padding-top: 4px; padding-bottom: 2px; } diff --git a/skins/larry/styles.css b/skins/larry/styles.css index 60f874a23..f098c68cb 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -1516,17 +1516,21 @@ ul.proplist li { /*** quicksearch **/ +.searchbox { + position: relative; +} + #quicksearchbar { position: absolute; right: 1px; - top: -5px; + top: 2px; width: 240px; } +.searchbox input, #quicksearchbar input { width: 176px; margin: 0; - margin-top: 7px; padding: 3px 30px 3px 34px; height: 18px; background: #f1f1f1; @@ -1535,15 +1539,17 @@ ul.proplist li { font-size: 11px; } +.searchbox #searchmenulink, #quicksearchbar #searchmenulink { position: absolute; - top: 12px; + top: 5px; left: 6px; } +.searchbox #searchreset, #quicksearchbar #searchreset { position: absolute; - top: 11px; + top: 4px; right: 1px; } diff --git a/skins/larry/templates/addressbook.html b/skins/larry/templates/addressbook.html index 7904f6f3a..390f8d83b 100644 --- a/skins/larry/templates/addressbook.html +++ b/skins/larry/templates/addressbook.html @@ -42,7 +42,7 @@
        -
        + -
        +