openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2015
- 1 participants
- 1390 discussions
Hello community,
here is the log from the commit of package apache2-mod_wsgi for openSUSE:Factory checked in at 2015-02-03 11:40:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_wsgi (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_wsgi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_wsgi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache2-mod_wsgi/apache2-mod_wsgi.changes 2014-11-12 00:22:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.apache2-mod_wsgi.new/apache2-mod_wsgi.changes 2015-02-03 11:40:24.000000000 +0100
@@ -1,0 +2,19 @@
+Fri Jan 30 18:12:20 UTC 2015 - rjschwei(a)suse.com
+
+- Fix build failure on SLE 12 (Apache 2.4.10)
+ + add wsgi_fixVersionCheck.patch
+ + build failed due to improper version check
+
+-------------------------------------------------------------------
+Thu Jan 29 23:52:14 UTC 2015 - rjschwei(a)suse.com
+
+- Update to version 4.4.6
+ - Upstream release notes:
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.6.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.5.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.4.html
+ .....
+ - As of version 4.2.7 mod_wsgi is effected by
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758035
+
+-------------------------------------------------------------------
Old:
----
mod_wsgi-4.2.5.tar.gz
New:
----
mod_wsgi-4.4.6.tar.gz
wsgi_fixVersionCheck.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_wsgi.spec ++++++
--- /var/tmp/diff_new_pack.iJuPwA/_old 2015-02-03 11:40:25.000000000 +0100
+++ /var/tmp/diff_new_pack.iJuPwA/_new 2015-02-03 11:40:25.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package apache2-mod_wsgi
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define modname mod_wsgi
Name: apache2-mod_wsgi
-Version: 4.2.5
+Version: 4.4.6
Release: 0
Summary: Python WSGI adapter module for Apache
License: Apache-2.0
@@ -26,6 +26,8 @@
Url: https://github.com/GrahamDumpleton/mod_wsgi
#Source: https://github.com/GrahamDumpleton/mod_wsgi/archive/%%{version}.tar.gz
Source: %{modname}-%{version}.tar.gz
+## Work around for inconsistent Apache source tree in SLE 12, see bnc#915479
+Patch0: wsgi_fixVersionCheck.patch
BuildRequires: python-devel
Provides: %{modname} = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -50,6 +52,7 @@
%prep
%setup -q -n %{modname}-%{version}
+%patch0 -p1
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
@@ -83,7 +86,7 @@
%files
%defattr(-,root,root)
-%doc LICENCE README.rst docs/release-notes
+%doc LICENSE README.rst docs/release-notes
%dir %{apache_libexecdir}
%{apache_libexecdir}/%{modname}.so
++++++ mod_wsgi-4.2.5.tar.gz -> mod_wsgi-4.4.6.tar.gz ++++++
++++ 8197 lines of diff (skipped)
++++++ wsgi_fixVersionCheck.patch ++++++
>From c440dfa6000b8c608147cce98d163ead19e63643 Mon Sep 17 00:00:00 2001
From: Robert Schweikert <rjschwei(a)suse.com>
Date: Fri, 30 Jan 2015 12:40:40 -0500
Subject: [PATCH] - Fix the version check for the presence of the trailers +
Currently the minor version of the version check is set such that for
version 2.4.10 (minor 37) the entries trailers_in and trailers_out are
expected in the request_rec struct. However these members of the struct
do not show up until 2.4.12 (minor 41). + This fixes a compile error when
building against 2.4.10
---
src/server/mod_wsgi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/server/mod_wsgi.c b/src/server/mod_wsgi.c
index 30ddbe5..4813af8 100644
--- a/src/server/mod_wsgi.c
+++ b/src/server/mod_wsgi.c
@@ -11440,7 +11440,7 @@ static int wsgi_hook_daemon_handler(conn_rec *c)
int queue_timeout_occurred = 0;
-#if ! (AP_MODULE_MAGIC_AT_LEAST(20120211, 37) || \
+#if ! (AP_MODULE_MAGIC_AT_LEAST(20120211, 41) || \
(AP_SERVER_MAJORVERSION_NUMBER == 2 && \
AP_SERVER_MINORVERSION_NUMBER <= 2 && \
AP_MODULE_MAGIC_AT_LEAST(20051115, 36)))
@@ -11539,7 +11539,7 @@ static int wsgi_hook_daemon_handler(conn_rec *c)
r->proto_input_filters = c->input_filters;
r->input_filters = r->proto_input_filters;
-#if AP_MODULE_MAGIC_AT_LEAST(20120211, 37) || \
+#if AP_MODULE_MAGIC_AT_LEAST(20120211, 41) || \
(AP_SERVER_MAJORVERSION_NUMBER == 2 && \
AP_SERVER_MINORVERSION_NUMBER <= 2 && \
AP_MODULE_MAGIC_AT_LEAST(20051115, 36))
--
1.8.4.5
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package roundcubemail for openSUSE:Factory checked in at 2015-02-03 11:40:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/roundcubemail (Old)
and /work/SRC/openSUSE:Factory/.roundcubemail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "roundcubemail"
Changes:
--------
--- /work/SRC/openSUSE:Factory/roundcubemail/roundcubemail.changes 2014-12-21 12:04:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.roundcubemail.new/roundcubemail.changes 2015-02-03 11:40:21.000000000 +0100
@@ -1,0 +2,15 @@
+Sun Feb 1 12:33:22 UTC 2015 - aj(a)ajaissle.de
+
+- Update to 1.0.5
+ Fix bug where some valid text in a message was handled as uuencoded attachment
+ Fix wrong icon for download button in classic skin
+ Fix bug where sent message was saved in Sent folder even if disabled by user (#1490208)
+ Fix checks based on window.ActiveXObject in IE > 10
+ Fix XSS issue in style attribute handling (#1490227)
+ Fix bug where Drafts list wasn't updated on draft-save action in new window (#1490225)
+ Fix so "set as default" option is hidden if identities_level > 1 (#1490226)
+ Fix bug where search was reset after returning from compose visited for reply
+ Fix javascript error in "IE 8.0/Tablet PC" browser (#1490210)
+ Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229)
+
+-------------------------------------------------------------------
Old:
----
roundcubemail-1.0.4-dep.tar.gz
New:
----
roundcubemail-1.0.5-dep.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ roundcubemail.spec ++++++
--- /var/tmp/diff_new_pack.2fxUnY/_old 2015-02-03 11:40:22.000000000 +0100
+++ /var/tmp/diff_new_pack.2fxUnY/_new 2015-02-03 11:40:22.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package roundcubemail
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: roundcubemail
-Version: 1.0.4
+Version: 1.0.5
Release: 0
Summary: A modern browser-based multilingual IMAP client
License: GPL-3.0+ and GPL-2.0 and BSD-3-Clause
++++++ roundcubemail-1.0.4-dep.tar.gz -> roundcubemail-1.0.5-dep.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/CHANGELOG new/roundcubemail-1.0.5-dep/CHANGELOG
--- old/roundcubemail-1.0.4-dep/CHANGELOG 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/CHANGELOG 2015-01-24 16:22:37.000000000 +0100
@@ -1,6 +1,19 @@
CHANGELOG Roundcube Webmail
===========================
+RELEASE 1.0.5
+-------------
+- Fix bug where some valid text in a message was handled as uuencoded attachment
+- Fix wrong icon for download button in classic skin
+- Fix bug where sent message was saved in Sent folder even if disabled by user (#1490208)
+- Fix checks based on window.ActiveXObject in IE > 10
+- Fix XSS issue in style attribute handling (#1490227)
+- Fix bug where Drafts list wasn't updated on draft-save action in new window (#1490225)
+- Fix so "set as default" option is hidden if identities_level > 1 (#1490226)
+- Fix bug where search was reset after returning from compose visited for reply
+- Fix javascript error in "IE 8.0/Tablet PC" browser (#1490210)
+- Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229)
+
RELEASE 1.0.4
-------------
- Disable TinyMCE contextmenu plugin as there are more cons than pros in using it (#1490118)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/index.php new/roundcubemail-1.0.5-dep/index.php
--- old/roundcubemail-1.0.4-dep/index.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/index.php 2015-01-24 16:22:37.000000000 +0100
@@ -2,7 +2,7 @@
/*
+-------------------------------------------------------------------------+
| Roundcube Webmail IMAP Client |
- | Version 1.0.4 |
+ | Version 1.0.5 |
| |
| Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/include/iniset.php new/roundcubemail-1.0.5-dep/program/include/iniset.php
--- old/roundcubemail-1.0.4-dep/program/include/iniset.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/include/iniset.php 2015-01-24 16:22:38.000000000 +0100
@@ -21,7 +21,7 @@
*/
// application constants
-define('RCMAIL_VERSION', '1.0.4');
+define('RCMAIL_VERSION', '1.0.5');
define('RCMAIL_START', microtime(true));
if (!defined('INSTALL_PATH')) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/app.js new/roundcubemail-1.0.5-dep/program/js/app.js
--- old/roundcubemail-1.0.4-dep/program/js/app.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/app.js 2015-01-24 16:22:38.000000000 +0100
@@ -983,12 +983,9 @@
url = {};
if (this.task == 'mail') {
- url._mbox = this.env.mailbox;
+ url = {_mbox: this.env.mailbox, _search: this.env.search_request};
if (props)
url._to = props;
- // also send search request so we can go back to search result after message is sent
- if (this.env.search_request)
- url._search = this.env.search_request;
}
// modify url if we're in addressbook
else if (this.task == 'addressbook') {
@@ -1089,9 +1086,9 @@
case 'reply-list':
case 'reply':
if (uid = this.get_single_uid()) {
- url = {_reply_uid: uid, _mbox: this.env.mailbox};
+ url = {_reply_uid: uid, _mbox: this.env.mailbox, _search: this.env.search_request};
+ // do reply-list, when list is detected and popup menu wasn't used
if (command == 'reply-all')
- // do reply-list, when list is detected and popup menu wasn't used
url._all = (!props && this.env.reply_all_mode == 1 && this.commands['reply-list'] ? 'list' : 'all');
else if (command == 'reply-list')
url._all = 'list';
@@ -1811,7 +1808,7 @@
// attach events
$.each(fn, function(i, f) {
row[i].onclick = function(e) { f(e); return rcube_event.cancel(e); };
- if (bw.touch) {
+ if (bw.touch && row[i].addEventListener) {
row[i].addEventListener('touchend', function(e) {
if (e.changedTouches.length == 1) {
f(e);
@@ -2083,7 +2080,7 @@
if (preview && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read > 0) {
this.preview_read_timer = setTimeout(function() {
ref.set_unread_message(id, ref.env.mailbox);
- ref.http_post('mark', {_uid: id, _flag: 'read', _quiet: 1});
+ ref.http_post('mark', {_uid: id, _flag: 'read', _mbox: ref.env.mailbox, _quiet: 1});
}, this.env.preview_pane_mark_read * 1000);
}
}
@@ -3669,14 +3666,13 @@
this.set_draft_id = function(id)
{
- var rc;
-
if (id && id != this.env.draft_id) {
- if (rc = this.opener()) {
- // refresh the drafts folder in opener window
- if (rc.env.task == 'mail' && rc.env.action == '' && rc.env.mailbox == this.env.drafts_mailbox)
- rc.command('checkmail');
- }
+ var filter = {task: 'mail', action: ''},
+ rc = this.opener(false, filter) || this.opener(true, filter);
+
+ // refresh the drafts folder in the opener window
+ if (rc && rc.env.mailbox == this.env.drafts_mailbox)
+ rc.command('checkmail');
this.env.draft_id = id;
$("input[name='_draft_saveid']").val(id);
@@ -7457,12 +7453,24 @@
};
// get window.opener.rcmail if available
- this.opener = function()
+ this.opener = function(deep, filter)
{
+ var i, win = window.opener;
+
// catch Error: Permission denied to access property rcmail
try {
- if (window.opener && !opener.closed && opener.rcmail)
- return opener.rcmail;
+ if (win && !win.closed) {
+ // try parent of the opener window, e.g. preview frame
+ if (deep && (!win.rcmail || win.rcmail.env.framed) && win.parent && win.parent.rcmail)
+ win = win.parent;
+
+ if (win.rcmail && filter)
+ for (i in filter)
+ if (win.rcmail.env[i] != filter[i])
+ return;
+
+ return win.rcmail;
+ }
}
catch (e) {}
};
@@ -7680,7 +7688,7 @@
if (plugin && plugin.enabledPlugin)
return 1;
- if (window.ActiveXObject) {
+ if ('ActiveXObject' in window) {
try {
if (axObj = new ActiveXObject("AcroPDF.PDF"))
return 1;
@@ -7713,7 +7721,7 @@
if (plugin && plugin.enabledPlugin)
return 1;
- if (window.ActiveXObject) {
+ if ('ActiveXObject' in window) {
try {
if (axObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))
return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/app.min.js new/roundcubemail-1.0.5-dep/program/js/app.min.js
--- old/roundcubemail-1.0.4-dep/program/js/app.min.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/app.min.js 2015-01-24 16:22:38.000000000 +0100
@@ -37,16 +37,16 @@
break;case "always-load":if(this.env.uid&&this.env.sender){this.add_contact(this.env.sender);setTimeout(function(){k.command("load-images")},300);break}case "load-images":this.env.uid&&this.show_message(this.env.uid,!0,"preview"==this.env.action);break;case "load-attachment":case "open-attachment":case "download-attachment":h="_mbox="+urlencode(this.env.mailbox)+"&_uid="+this.env.uid+"&_part="+b;f=this.env.attachments[b];if("download-attachment"!=a&&f&&this.env.mimetypes&&0<=$.inArray(f,this.env.mimetypes)&&
this.open_window(this.env.comm_path+"&_action=get&"+h+"&_frame=1"))break;this.goto_url("get",h+"&_download=1",!1);break;case "select-all":this.select_all_mode=b?!1:!0;this.dummy_select=!0;"invert"==b?this.message_list.invert_selection():this.message_list.select_all("page"==b?"":b);this.dummy_select=null;break;case "select-none":this.select_all_mode=!1;this.message_list.clear_selection();break;case "expand-all":this.env.autoexpand_threads=1;this.message_list.expand_all();break;case "expand-unread":this.env.autoexpand_threads=
2;this.message_list.collapse_all();this.expand_unread();break;case "collapse-all":this.env.autoexpand_threads=0;this.message_list.collapse_all();break;case "nextmessage":this.env.next_uid&&this.show_message(this.env.next_uid,!1,"preview"==this.env.action);break;case "lastmessage":this.env.last_uid&&this.show_message(this.env.last_uid);break;case "previousmessage":this.env.prev_uid&&this.show_message(this.env.prev_uid,!1,"preview"==this.env.action);break;case "firstmessage":this.env.first_uid&&this.show_message(this.env.first_uid);
-break;case "compose":f={};if("mail"==this.task)f._mbox=this.env.mailbox,b&&(f._to=b),this.env.search_request&&(f._search=this.env.search_request);else if("addressbook"==this.task)if(b&&0<b.indexOf("@"))f._to=b;else{f=[];b?f.push(b):this.contact_list&&(f=this.contact_list.get_selection());f.length?this.http_post("mailto",{_cid:f.join(","),_source:this.env.source},!0):this.env.group&&this.http_post("mailto",{_gid:this.env.group,_source:this.env.source},!0);break}else b&&"string"==typeof b?f._to=b:b&&
-"object"==typeof b&&$.extend(f,b);this.open_compose_step(f);break;case "spellcheck":this.spellcheck_state()?this.stop_spellchecking():window.tinyMCE&&tinyMCE.get(this.env.composebody)?tinyMCE.execCommand("mceSpellCheck",!0):this.env.spellcheck&&this.env.spellcheck.spellCheck&&this.env.spellcheck.spellCheck();this.spellcheck_state();break;case "savedraft":clearTimeout(this.save_timer);if(this.env.draft_id&&this.cmp_hash==this.compose_field_hash()){this.auto_save_start();break}this.submit_messageform(!0);
-break;case "send":if(!b.nocheck&&!this.check_compose_input(a))break;clearTimeout(this.save_timer);this.submit_messageform();break;case "send-attachment":clearTimeout(this.save_timer);(h=this.upload_file(b||this.gui_objects.uploadform,"upload"))||(!1!==h&&alert(this.get_label("selectimportfile")),l=!0);break;case "insert-sig":this.change_identity($("[name='_from']")[0],!0);break;case "list-adresses":this.list_contacts(b);this.enable_command("add-recipient",!1);break;case "add-recipient":this.compose_add_recipient(b);
-break;case "reply-all":case "reply-list":case "reply":if(f=this.get_single_uid())f={_reply_uid:f,_mbox:this.env.mailbox},"reply-all"==a?f._all=!b&&1==this.env.reply_all_mode&&this.commands["reply-list"]?"list":"all":"reply-list"==a&&(f._all="list"),this.open_compose_step(f);break;case "forward-attachment":case "forward-inline":case "forward":h=this.env.uid?[this.env.uid]:this.message_list?this.message_list.get_selection():[];if(h.length){f={_forward_uid:this.uids_to_list(h),_mbox:this.env.mailbox};
-if("forward-attachment"==a||!b&&this.env.forward_attachment||1<h.length)f._attachment=1;this.open_compose_step(f)}break;case "print":if("get"==this.env.action)this.gui_objects.messagepartframe.contentWindow.print();else if(f=this.get_single_uid())k.printwin=this.open_window(this.env.comm_path+"&_action=print&_uid="+f+"&_mbox="+urlencode(this.env.mailbox)+(this.env.safemode?"&_safe=1":""),!0,!0),this.printwin&&"show"!=this.env.action&&this.mark_message("read",f);break;case "viewsource":(f=this.get_single_uid())&&
-this.open_window(this.env.comm_path+"&_action=viewsource&_uid="+f+"&_mbox="+urlencode(this.env.mailbox),!0,!0);break;case "download":"get"==this.env.action?location.href=location.href.replace(/_frame=/,"_download="):(f=this.get_single_uid())&&this.goto_url("viewsource",{_uid:f,_mbox:this.env.mailbox,_save:1});break;case "search":if(!b&&this.gui_objects.qsearchbox&&(b=this.gui_objects.qsearchbox.value),b){this.qsearch(b);break}case "reset-search":var m;f=this.env.search_request||this.env.qsearch;this.reset_qsearch();
-this.select_all_mode=!1;if(f&&"compose"==this.env.action)this.contact_list&&this.list_contacts_clear();else if(f&&this.env.mailbox)this.list_mailbox(this.env.mailbox,1);else if(f&&"addressbook"==this.task){if(""==this.env.source){for(m in this.env.address_sources)break;this.env.source=m;this.env.group=""}this.list_contacts(this.env.source,this.env.group,1)}break;case "pushgroup":this.env.address_group_stack.push(b.id),d&&e&&rcube_event.cancel(e);case "listgroup":this.reset_qsearch();this.list_contacts(b.source,
-b.id);break;case "popgroup":1<this.env.address_group_stack.length&&(this.env.address_group_stack.pop(),this.reset_qsearch(),this.list_contacts(b.source,this.env.address_group_stack[this.env.address_group_stack.length-1]));break;case "import-messages":f=b||this.gui_objects.importform;n=this.set_busy(!0,"importwait");$('input[name="_unlock"]',f).val(n);(h=this.upload_file(f,"import"))||(this.set_busy(!1,null,n),!1!==h&&alert(this.get_label("selectimportfile")),l=!0);break;case "import":if("import"==
-this.env.action&&this.gui_objects.importform){if((f=document.getElementById("rcmimportfile"))&&!f.value){alert(this.get_label("selectimportfile"));l=!0;break}this.gui_objects.importform.submit();this.set_busy(!0,"importwait");this.lock_form(this.gui_objects.importform,!0)}else this.goto_url("import",this.env.source?"_target="+urlencode(this.env.source)+"&":"");break;case "export":0<this.contact_list.rowcount&&this.goto_url("export",{_source:this.env.source,_gid:this.env.group,_search:this.env.search_request});
-break;case "export-selected":0<this.contact_list.rowcount&&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(b||this.gui_objects.uploadform);break;case "delete-photo":this.replace_contact_photo("-del-");break;case "preferences":case "identities":case "responses":case "folders":this.goto_url("settings/"+a);break;case "undo":this.http_request("undo","",this.display_message("","loading"));
+break;case "compose":f={};if("mail"==this.task)f={_mbox:this.env.mailbox,_search:this.env.search_request},b&&(f._to=b);else if("addressbook"==this.task)if(b&&0<b.indexOf("@"))f._to=b;else{f=[];b?f.push(b):this.contact_list&&(f=this.contact_list.get_selection());f.length?this.http_post("mailto",{_cid:f.join(","),_source:this.env.source},!0):this.env.group&&this.http_post("mailto",{_gid:this.env.group,_source:this.env.source},!0);break}else b&&"string"==typeof b?f._to=b:b&&"object"==typeof b&&$.extend(f,
+b);this.open_compose_step(f);break;case "spellcheck":this.spellcheck_state()?this.stop_spellchecking():window.tinyMCE&&tinyMCE.get(this.env.composebody)?tinyMCE.execCommand("mceSpellCheck",!0):this.env.spellcheck&&this.env.spellcheck.spellCheck&&this.env.spellcheck.spellCheck();this.spellcheck_state();break;case "savedraft":clearTimeout(this.save_timer);if(this.env.draft_id&&this.cmp_hash==this.compose_field_hash()){this.auto_save_start();break}this.submit_messageform(!0);break;case "send":if(!b.nocheck&&
+!this.check_compose_input(a))break;clearTimeout(this.save_timer);this.submit_messageform();break;case "send-attachment":clearTimeout(this.save_timer);(h=this.upload_file(b||this.gui_objects.uploadform,"upload"))||(!1!==h&&alert(this.get_label("selectimportfile")),l=!0);break;case "insert-sig":this.change_identity($("[name='_from']")[0],!0);break;case "list-adresses":this.list_contacts(b);this.enable_command("add-recipient",!1);break;case "add-recipient":this.compose_add_recipient(b);break;case "reply-all":case "reply-list":case "reply":if(f=
+this.get_single_uid())f={_reply_uid:f,_mbox:this.env.mailbox,_search:this.env.search_request},"reply-all"==a?f._all=!b&&1==this.env.reply_all_mode&&this.commands["reply-list"]?"list":"all":"reply-list"==a&&(f._all="list"),this.open_compose_step(f);break;case "forward-attachment":case "forward-inline":case "forward":h=this.env.uid?[this.env.uid]:this.message_list?this.message_list.get_selection():[];if(h.length){f={_forward_uid:this.uids_to_list(h),_mbox:this.env.mailbox};if("forward-attachment"==
+a||!b&&this.env.forward_attachment||1<h.length)f._attachment=1;this.open_compose_step(f)}break;case "print":if("get"==this.env.action)this.gui_objects.messagepartframe.contentWindow.print();else if(f=this.get_single_uid())k.printwin=this.open_window(this.env.comm_path+"&_action=print&_uid="+f+"&_mbox="+urlencode(this.env.mailbox)+(this.env.safemode?"&_safe=1":""),!0,!0),this.printwin&&"show"!=this.env.action&&this.mark_message("read",f);break;case "viewsource":(f=this.get_single_uid())&&this.open_window(this.env.comm_path+
+"&_action=viewsource&_uid="+f+"&_mbox="+urlencode(this.env.mailbox),!0,!0);break;case "download":"get"==this.env.action?location.href=location.href.replace(/_frame=/,"_download="):(f=this.get_single_uid())&&this.goto_url("viewsource",{_uid:f,_mbox:this.env.mailbox,_save:1});break;case "search":if(!b&&this.gui_objects.qsearchbox&&(b=this.gui_objects.qsearchbox.value),b){this.qsearch(b);break}case "reset-search":var m;f=this.env.search_request||this.env.qsearch;this.reset_qsearch();this.select_all_mode=
+!1;if(f&&"compose"==this.env.action)this.contact_list&&this.list_contacts_clear();else if(f&&this.env.mailbox)this.list_mailbox(this.env.mailbox,1);else if(f&&"addressbook"==this.task){if(""==this.env.source){for(m in this.env.address_sources)break;this.env.source=m;this.env.group=""}this.list_contacts(this.env.source,this.env.group,1)}break;case "pushgroup":this.env.address_group_stack.push(b.id),d&&e&&rcube_event.cancel(e);case "listgroup":this.reset_qsearch();this.list_contacts(b.source,b.id);
+break;case "popgroup":1<this.env.address_group_stack.length&&(this.env.address_group_stack.pop(),this.reset_qsearch(),this.list_contacts(b.source,this.env.address_group_stack[this.env.address_group_stack.length-1]));break;case "import-messages":f=b||this.gui_objects.importform;n=this.set_busy(!0,"importwait");$('input[name="_unlock"]',f).val(n);(h=this.upload_file(f,"import"))||(this.set_busy(!1,null,n),!1!==h&&alert(this.get_label("selectimportfile")),l=!0);break;case "import":if("import"==this.env.action&&
+this.gui_objects.importform){if((f=document.getElementById("rcmimportfile"))&&!f.value){alert(this.get_label("selectimportfile"));l=!0;break}this.gui_objects.importform.submit();this.set_busy(!0,"importwait");this.lock_form(this.gui_objects.importform,!0)}else this.goto_url("import",this.env.source?"_target="+urlencode(this.env.source)+"&":"");break;case "export":0<this.contact_list.rowcount&&this.goto_url("export",{_source:this.env.source,_gid:this.env.group,_search:this.env.search_request});break;
+case "export-selected":0<this.contact_list.rowcount&&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(b||this.gui_objects.uploadform);break;case "delete-photo":this.replace_contact_photo("-del-");break;case "preferences":case "identities":case "responses":case "folders":this.goto_url("settings/"+a);break;case "undo":this.http_request("undo","",this.display_message("","loading"));
break;default:f=a.replace(/-/g,"_"),this[f]&&"function"===typeof this[f]&&(g=this[f](b,d))}l||!1!==this.triggerEvent("after"+a,b)||(g=!1);this.triggerEvent("actionafter",{props:b,action:a,aborted:l});return!1===g?!1:d?!1:!0};this.enable_command=function(){var a,b,d=Array.prototype.slice.call(arguments),e=d.pop(),g;for(b=0;b<d.length;b++)if(g=d[b],"string"===typeof g)this.commands[g]=e,this.set_button(g,e?"act":"pas"),this.triggerEvent("enable-command",{command:g,status:e});else for(a in g)d.push(g[a])};
this.set_busy=function(a,b,d){a&&b?(d=this.get_label(b),d==b&&(d="Loading..."),d=this.display_message(d,"loading")):!a&&d&&this.hide_message(d);this.busy=a;this.gui_objects.editform&&this.lock_form(this.gui_objects.editform,a);return d};this.gettext=this.get_label=function(a,b){return b&&this.labels[b+"."+a]?this.labels[b+"."+a]:this.labels[a]?this.labels[a]:a};this.switch_task=function(a){if(this.task!==a||"mail"==a){var b=this.get_task_url(a);"mail"==a?b+="&_mbox=INBOX":"logout"!=a||this.env.server_error||
(b+="&_token="+this.env.request_token,this.clear_compose_data());this.redirect(b)}};this.get_task_url=function(a,b){b||(b=this.env.comm_path);return b.match(/[?&]_task=[a-zA-Z0-9_-]+/)?b.replace(/_task=[a-zA-Z0-9_-]+/,"_task="+a):b.replace(/\?.*$/,"")+"?_task="+a};this.reload=function(a){this.is_framed()?parent.rcmail.reload(a):a?setTimeout(function(){rcmail.reload()},a):window.location&&(location.href=this.env.comm_path+(this.env.action?"&_action="+this.env.action:""))};this.add_url=function(a,b,
@@ -65,70 +65,70 @@
this.env.mailboxes[a].id!=this.env.mailbox&&!this.env.mailboxes[a].virtual?1:0;case "settings":return a!=this.env.mailbox?1:0;case "addressbook":var b;if(a!=this.env.source&&(b=this.env.contactfolders[a]))if("group"==b.type){if(b.id!=this.env.group&&!this.env.contactfolders[b.source].readonly)return!(1<this.env.selection_sources.length||-1==$.inArray(b.source,this.env.selection_sources))||this.commands.move?1:2}else if(!b.readonly&&(1<this.env.selection_sources.length||-1==$.inArray(a,this.env.selection_sources)))return this.commands.move?
1:2}return 0};this.open_window=function(a,b,d){var e="rcmextwin"+(new Date).getTime();a+=(a.match(/\?/)?"&":"?")+"_extwin=1";if(this.env.standard_windows)var g=window.open(a,e);else{var f=this.is_framed()?parent.window:window,h=$(f),l=h.width(),h=bw.mz?$("body",f).height():h.height();b=Math.min(b?this.env.popup_width_small:this.env.popup_width,l);g=window.open(a,e,"width="+b+",height="+h+",top="+((f.screenTop||f.screenY)+20)+",left="+((f.screenLeft||f.screenX)+20)+",resizable=yes,location=no,scrollbars=yes"+
(d?",toolbar=yes,menubar=yes,status=yes":",toolbar=no,menubar=no,status=no"))}!a&&g.document&&g.document.write("<html><body>"+this.get_label("loading")+"</body></html>");this.triggerEvent("openwindow",{url:a,handle:g});window.setTimeout(function(){g&&g.focus()},10);return g};this.init_message_row=function(a){var b={},d=this,e=a.uid,g=(null!=this.env.status_col?"status":"msg")+"icn"+a.uid;e&&this.env.messages[e]&&$.extend(a,this.env.messages[e]);if(a.icon=document.getElementById(g))b.icon=function(a){d.command("toggle_status",
-e)};a.msgicon=null!=this.env.status_col?document.getElementById("msgicn"+a.uid):a.icon;null!=this.env.flagged_col&&(a.flagicon=document.getElementById("flagicn"+a.uid))&&(b.flagicon=function(a){d.command("toggle_flag",e)});!a.depth&&a.has_children&&(a.expando=document.getElementById("rcmexpando"+a.uid))&&(b.expando=function(a){d.expand_message_row(a,e)});$.each(b,function(b,d){a[b].onclick=function(a){d(a);return rcube_event.cancel(a)};bw.touch&&a[b].addEventListener("touchend",function(a){if(1==
-a.changedTouches.length)return d(a),rcube_event.cancel(a)},!1)});this.triggerEvent("insertrow",{uid:e,row:a})};this.add_message_row=function(a,b,d,e){if(!this.gui_objects.messagelist||!this.message_list||d.mbox!=this.env.mailbox&&!d.skip_mbox_check)return!1;this.env.messages[a]||(this.env.messages[a]={});$.extend(this.env.messages[a],{deleted:d.deleted?1:0,replied:d.answered?1:0,unread:d.seen?0:1,forwarded:d.forwarded?1:0,flagged:d.flagged?1:0,has_children:d.has_children?1:0,depth:d.depth?d.depth:
-0,unread_children:d.unread_children?d.unread_children:0,parent_uid:d.parent_uid?d.parent_uid:0,selected:this.select_all_mode||this.message_list.in_selection(a),ml:d.ml?1:0,ctype:d.ctype,flags:d.extra_flags});var g,f,h,l="",k="",m=this.message_list,p=m.rows;h=this.env.messages[a];var q="message"+(d.seen?"":" unread")+(d.deleted?" deleted":"")+(d.flagged?" flagged":"")+(h.selected?" selected":""),u={cols:[],style:{},id:"rcmrow"+a};g="msgicon";null===this.env.status_col&&(g+=" status",d.deleted?g+=" deleted":
-d.seen?0<d.unread_children&&(g+=" unreadchildren"):g+=" unread");d.answered&&(g+=" replied");d.forwarded&&(g+=" forwarded");h.selected&&!m.in_selection(a)&&m.selection.push(a);this.env.threading&&(h.depth?(l+='<span id="rcmtab'+a+'" class="branch" style="width:'+15*h.depth+'px;"> </span>',p[h.parent_uid]&&!1===p[h.parent_uid].expanded||!(0!=this.env.autoexpand_threads&&2!=this.env.autoexpand_threads||p[h.parent_uid]&&p[h.parent_uid].expanded)?(u.style.display="none",h.expanded=!1):h.expanded=
-!0,q+=" thread expanded"):h.has_children&&(void 0===h.expanded&&(1==this.env.autoexpand_threads||2==this.env.autoexpand_threads&&h.unread_children)&&(h.expanded=!0),k='<div id="rcmexpando'+a+'" class="'+(h.expanded?"expanded":"collapsed")+'"> </div>',q+=" thread"+(h.expanded?" expanded":"")),d.unread_children&&d.seen&&!h.expanded&&(q+=" unroot"));l+='<span id="msgicn'+a+'" class="'+g+'"> </span>';u.className=q;b.subject&&(g=d.mbox==this.env.drafts_mailbox?"_draft_uid":"_uid",b.subject=
-'<a href="./?_task=mail&_action='+(d.mbox==this.env.drafts_mailbox?"compose":"show")+"&_mbox="+urlencode(d.mbox)+"&"+g+"="+a+'" onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(h.depth+1)+')"><span>'+b.subject+"</span></a>");for(f in this.env.coltypes)g=this.env.coltypes[f],h={className:String(g).toLowerCase(),events:{}},"flag"==g?(g=d.flagged?"flagged":"unflagged",g='<span id="flagicn'+a+'" class="'+g+'"> </span>'):"attachment"==g?g=/application\/|multipart\/(m|signed)/.test(d.ctype)?
-'<span class="attachment"> </span>':/multipart\/report/.test(d.ctype)?'<span class="report"> </span>':" ":"status"==g?(g=d.deleted?"deleted":d.seen?0<d.unread_children?"unreadchildren":"msgicon":"unread",g='<span id="statusicn'+a+'" class="'+g+'"> </span>'):"threads"==g?g=k:"subject"==g?(bw.ie&&(h.events.mouseover=function(){rcube_webmail.long_subject_title_ex(this)}),g=l+b[g]):g="priority"==g?0<d.prio&&6>d.prio?'<span class="prio'+d.prio+'"> </span>':" ":b[g],h.innerHTML=
-g,u.cols.push(h);m.insert_row(u,e);e&&this.env.pagesize&&m.rowcount>this.env.pagesize&&(a=m.get_last_row(),m.remove_row(a),m.clear_selection(a))};this.set_list_sorting=function(a,b){$("#rcm"+this.env.sort_col).removeClass("sorted"+this.env.sort_order.toUpperCase());a&&$("#rcm"+a).addClass("sorted"+b);this.env.sort_col=a;this.env.sort_order=b};this.set_list_options=function(a,b,d,e){var g,f={};void 0===b&&(b=this.env.sort_col);d||(d=this.env.sort_order);if(this.env.sort_col!=b||this.env.sort_order!=
-d)g=1,this.set_list_sorting(b,d);this.env.threading!=e&&(g=1,f._threads=e);if(a&&a.length){var h,l,k=[],m=this.env.coltypes;for(e=0;e<m.length;e++)l=m[e],h=$.inArray(l,a),-1!=h&&(k.push(l),delete a[h]);for(e=0;e<a.length;e++)a[e]&&k.push(a[e]);k.join()!=m.join()&&(g=1,f._cols=k.join(","))}g&&this.list_mailbox("","",b+"_"+d,f)};this.show_message=function(a,b,d){if(a){var e,g=window,f="&_action="+(d?"preview":"show")+"&_uid="+a+"&_mbox="+urlencode(this.env.mailbox);d&&(e=this.get_frame_window(this.env.contentframe))&&
-(g=e,f+="&_framed=1");b&&(f+="&_safe=1");this.env.search_request&&(f+="&_search="+this.env.search_request);f+="&_caps="+urlencode(this.browser_capabilities());this.env.extwin&&(f+="&_extwin=1");d&&0<=String(g.location.href).indexOf(f)?this.show_contentframe(!0):(d||!this.env.message_extwin||this.env.extwin?this.location_href(this.env.comm_path+f,g,!0):this.open_window(this.env.comm_path+f,!0),d&&this.message_list&&this.message_list.rows[a]&&this.message_list.rows[a].unread&&0<this.env.preview_pane_mark_read&&
-(this.preview_read_timer=setTimeout(function(){k.set_unread_message(a,k.env.mailbox);k.http_post("mark",{_uid:a,_flag:"read",_quiet:1})},1E3*this.env.preview_pane_mark_read)))}};this.set_unread_message=function(a,b){var d=this;d.message_list||(d=d.opener());!d&&window.parent&&(d=parent.rcmail);d&&d.message_list&&(d.set_message(a,"unread",!1),0<d.env.unread_counts[b]&&(d.env.unread_counts[b]-=1,d.set_unread_count(b,d.env.unread_counts[b],"INBOX"==b)))};this.show_contentframe=function(a){var b,d,e=
-this.env.contentframe;if(e&&(b=this.get_frame_element(e)))if(!a&&(d=this.get_frame_window(e)))0>d.location.href.indexOf(this.env.blankpage)&&(d.stop?d.stop():d.document.execCommand("Stop"),d.location.href=this.env.blankpage);else if(!bw.safari&&!bw.konq)$(b)[a?"show":"hide"]();!a&&this.env.frame_lock&&this.set_busy(!1,null,this.env.frame_lock)};this.get_frame_element=function(a){var b;if(a&&(b=document.getElementById(a)))return b};this.get_frame_window=function(a){if((a=this.get_frame_element(a))&&
-a.name&&window.frames)return window.frames[a.name]};this.lock_frame=function(){this.env.frame_lock||((this.is_framed()?parent.rcmail:this).env.frame_lock=this.set_busy(!0,"loading"))};this.list_page=function(a){"next"==a?a=this.env.current_page+1:"last"==a?a=this.env.pagecount:"prev"==a&&1<this.env.current_page?a=this.env.current_page-1:"first"==a&&1<this.env.current_page&&(a=1);0<a&&a<=this.env.pagecount&&(this.env.current_page=a,"addressbook"==this.task||this.contact_list?this.list_contacts(this.env.source,
-this.env.group,a):"mail"==this.task&&this.list_mailbox(this.env.mailbox,a))};this.checkmail=function(){var a=this.set_busy(!0,"checkingmail"),b=this.check_recent_params();this.http_post("check-recent",b,a)};this.filter_mailbox=function(a){var b=this.set_busy(!0,"searching");this.clear_message_list();this.env.current_page=1;this.http_request("search",this.search_params(!1,a),b)};this.list_mailbox=function(a,b,d,e){var g=window;"object"!=typeof e&&(e={});a||(a=this.env.mailbox?this.env.mailbox:"INBOX");
-d&&(e._sort=d);this.env.search_request&&(e._search=this.env.search_request);this.env.mailbox!=a&&(b=1,this.env.current_page=b,this.select_all_mode=!1);this.clear_message_list();if(a!=this.env.mailbox||a==this.env.mailbox&&!b&&!d)e._refresh=1;this.select_folder(a,"",!0);this.unmark_folder(a,"recent","",!0);this.env.mailbox=a;if(this.gui_objects.messagelist)this.list_mailbox_remote(a,b,e);else{if(d=this.get_frame_window(this.env.contentframe))g=d,e._framed=1;a&&(this.set_busy(!0,"loading"),e._mbox=
-a,b&&(e._page=b),this.location_href(e,g))}};this.clear_message_list=function(){this.env.messages={};this.last_selected=0;this.show_contentframe(!1);this.message_list&&this.message_list.clear(!0)};this.list_mailbox_remote=function(a,b,d){this.message_list.clear();var e=this.set_busy(!0,"loading");"object"!=typeof d&&(d={});d._mbox=a;b&&(d._page=b);this.http_request("list",d,e)};this.update_selection=function(){var a=this.message_list.selection,b=this.message_list.rows,d,e=[];for(d in a)b[a[d]]&&e.push(a[d]);
-this.message_list.selection=e};this.expand_unread=function(){for(var a,b=this.message_list.tbody.firstChild;b;)1==b.nodeType&&(a=this.message_list.rows[b.uid])&&a.unread_children&&(this.message_list.expand_all(a),this.set_unread_children(a.uid)),b=b.nextSibling;return!1};this.expand_message_row=function(a,b){var d=this.message_list.rows[b];d.expanded=!d.expanded;this.set_unread_children(b);d.expanded=!d.expanded;this.message_list.expand_row(a,b)};this.expand_threads=function(){if(this.env.threading&&
-this.env.autoexpand_threads&&this.message_list)switch(this.env.autoexpand_threads){case 2:this.expand_unread();break;case 1:this.message_list.expand_all()}};this.init_threads=function(a,b){if(b&&b!=this.env.mailbox)return!1;for(var d=0,e=a.length;d<e;d++)this.add_tree_icons(a[d]);this.expand_threads()};this.add_tree_icons=function(a){var b,d,e,g,f=[],h=[],l,k=this.message_list.rows;for(l=a?k[a]?k[a].obj:null:this.message_list.tbody.firstChild;l;){if(1==l.nodeType&&(d=k[l.uid]))if(d.depth){for(b=f.length-
-1;0<=b&&!(e=f[b].length,e>d.depth?(g=e-d.depth,f[b][g]&2||(f[b][g]=f[b][g]?f[b][g]+2:2)):e==d.depth&&(f[b][0]&2||(f[b][0]+=2)),d.depth>e);b--);f.push(Array(d.depth));f[f.length-1][0]=1;h.push(d.uid)}else{if(f.length){for(b in f)this.set_tree_icons(h[b],f[b]);f=[];h=[]}if(a&&l!=k[a].obj)break}l=l.nextSibling}if(f.length)for(b in f)this.set_tree_icons(h[b],f[b])};this.set_tree_icons=function(a,b){var d,e=[],g="",f=b.length;for(d=0;d<f;d++)2<b[d]?e.push({"class":"l3",width:15}):1<b[d]?e.push({"class":"l2",
-width:15}):0<b[d]?e.push({"class":"l1",width:15}):e.length&&!e[e.length-1]["class"]?e[e.length-1].width+=15:e.push({"class":null,width:15});for(d=e.length-1;0<=d;d--)g=e[d]["class"]?g+('<div class="tree '+e[d]["class"]+'" />'):g+('<div style="width:'+e[d].width+'px" />');g&&$("#rcmtab"+a).html(g)};this.update_thread_root=function(a,b){if(this.env.threading){var d=this.message_list.find_root(a);if(a!=d){var e=this.message_list.rows[d];if("read"==b&&e.unread_children)e.unread_children--;else if("unread"==
-b&&e.has_children)e.unread_children=e.unread_children?e.unread_children+1:1;else return;this.set_message_icon(d);this.set_unread_children(d)}}};this.update_thread=function(a){if(!this.env.threading)return 0;var b,d=0,e=this.message_list.rows,g=e[a],f=e[a].depth,h=[];g.depth?g.unread&&(a=this.message_list.find_root(a),e[a].unread_children--,this.set_unread_children(a)):d--;a=g.parent_uid;for(g=g.obj.nextSibling;g;){if(1==g.nodeType&&(b=e[g.uid])){if(!b.depth||b.depth<=f)break;b.depth--;$("#rcmtab"+
-b.uid).width(15*b.depth).html("");b.depth?(b.depth==f&&(b.parent_uid=a),b.unread&&h.length&&h[h.length-1].unread_children++):(d++,b.parent_uid=0,b.has_children&&($("#rcmrow"+b.uid+" .leaf:first").attr("id","rcmexpando"+b.uid).attr("class","none"!=b.obj.style.display?"expanded":"collapsed").bind("mousedown",{uid:b.uid,p:this},function(a){return a.data.p.expand_message_row(a,a.data.uid)}),b.unread_children=0,h.push(b)),"none"==b.obj.style.display&&$(b.obj).show())}g=g.nextSibling}for(b=0;b<h.length;b++)this.set_unread_children(h[b].uid);
-return d};this.delete_excessive_thread_rows=function(){for(var a=this.message_list.rows,b=this.message_list.tbody.firstChild,d=this.env.pagesize+1;b;)1==b.nodeType&&(r=a[b.uid])&&(!r.depth&&d&&d--,d||this.message_list.remove_row(b.uid)),b=b.nextSibling};this.set_message_icon=function(a){var b=this.message_list.rows[a];if(!b)return!1;b.icon&&(a="msgicon",b.deleted?a+=" deleted":b.unread?a+=" unread":b.unread_children&&(a+=" unreadchildren"),b.msgicon==b.icon&&(b.replied&&(a+=" replied"),b.forwarded&&
-(a+=" forwarded"),a+=" status"),b.icon.className=a);b.msgicon&&b.msgicon!=b.icon&&(a="msgicon",!b.unread&&b.unread_children&&(a+=" unreadchildren"),b.replied&&(a+=" replied"),b.forwarded&&(a+=" forwarded"),b.msgicon.className=a);b.flagicon&&(a=b.flagged?"flagged":"unflagged",b.flagicon.className=a)};this.set_message_status=function(a,b,d){var e=this.message_list.rows[a];if(!e)return!1;"unread"==b?(e.unread!=d&&this.update_thread_root(a,d?"unread":"read"),e.unread=d):"deleted"==b?e.deleted=d:"replied"==
-b?e.replied=d:"forwarded"==b?e.forwarded=d:"flagged"==b&&(e.flagged=d)};this.set_message=function(a,b,d){var e=this.message_list&&this.message_list.rows[a];if(!e)return!1;b&&this.set_message_status(a,b,d);b=$(e.obj);e.unread&&!b.hasClass("unread")?b.addClass("unread"):!e.unread&&b.hasClass("unread")&&b.removeClass("unread");e.deleted&&!b.hasClass("deleted")?b.addClass("deleted"):!e.deleted&&b.hasClass("deleted")&&b.removeClass("deleted");e.flagged&&!b.hasClass("flagged")?b.addClass("flagged"):!e.flagged&&
-b.hasClass("flagged")&&b.removeClass("flagged");this.set_unread_children(a);this.set_message_icon(a)};this.set_unread_children=function(a){a=this.message_list.rows[a];a.parent_uid||(a.unread||!a.unread_children||a.expanded?$(a.obj).removeClass("unroot"):$(a.obj).addClass("unroot"))};this.copy_messages=function(a,b){if(a&&"object"===typeof a)a=a.id;else if(!a)return this.folder_selector(b,function(a){k.command("copy",a)});if(a&&a!=this.env.mailbox){var d=this.selection_post_data({_target_mbox:a});
-d._uid&&this.http_post("copy",d,this.display_message(this.get_label("copyingmessage"),"loading"))}};this.move_messages=function(a,b){if(a&&"object"===typeof a)a=a.id;else if(!a)return this.folder_selector(b,function(a){k.command("move",a)});if(a&&a!=this.env.mailbox){var d=!1,e=this.selection_post_data({_target_mbox:a});e._uid&&("show"==this.env.action?d=this.set_busy(!0,"movingmessage"):this.show_contentframe(!1),this.enable_command(this.env.message_commands,!1),this._with_selected_messages("move",
-e,d))}};this.delete_messages=function(a){var b=this.message_list,d=this.env.trash_mailbox;if(this.env.flag_for_deletion)return this.mark_message("delete"),!1;d&&this.env.mailbox!=d?this.env.delete_junk&&this.env.junk_mailbox&&this.env.mailbox==this.env.junk_mailbox?this.permanently_remove_messages():b&&b.modkey==SHIFT_KEY||a&&rcube_event.get_modifier(a)==SHIFT_KEY?confirm(this.get_label("deletemessagesconfirm"))&&this.permanently_remove_messages():this.move_messages(d):this.permanently_remove_messages();
-return!0};this.permanently_remove_messages=function(){var a=this.selection_post_data();a._uid&&(this.show_contentframe(!1),this._with_selected_messages("delete",a))};this._with_selected_messages=function(a,b,d){var e=0;if(this.message_list){var g,f,h,l=[],k=this.message_list.get_selection();g=0;for(len=k.length;g<len;g++)f=k[g],this.env.threading&&(e+=this.update_thread(f),h=this.message_list.find_root(f),h!=f&&0>$.inArray(h,l)&&l.push(h)),this.message_list.remove_row(f,this.env.display_next&&g==
-k.length-1);this.env.display_next||this.message_list.clear_selection();g=0;for(len=l.length;g<len;g++)this.add_tree_icons(l[g])}0>e?b._count=-1*e:0<e&&this.delete_excessive_thread_rows();d||(d=this.display_message(this.get_label("move"==a?"movingmessage":"deletingmessage"),"loading"));this.http_post(a,b,d)};this.selection_post_data=function(a){"object"!=typeof a&&(a={});a._mbox=this.env.mailbox;if(!a._uid){var b=this.env.uid?[this.env.uid]:this.message_list.get_selection();a._uid=this.uids_to_list(b)}this.env.action&&
-(a._from=this.env.action);this.env.search_request&&(a._search=this.env.search_request);this.env.display_next&&this.env.next_uid&&(a._next_uid=this.env.next_uid);return a};this.mark_message=function(a,b){var d=[],e=[],g,f,h,l=this.message_list;b?d[0]=b:this.env.uid?d[0]=this.env.uid:l&&(d=l.get_selection());if(l)for(l.focus(),f=0,g=d.length;f<g;f++)h=d[f],("read"==a&&l.rows[h].unread||"unread"==a&&!l.rows[h].unread||"delete"==a&&!l.rows[h].deleted||"undelete"==a&&l.rows[h].deleted||"flagged"==a&&!l.rows[h].flagged||
-"unflagged"==a&&l.rows[h].flagged)&&e.push(h);else e=d;if(e.length||this.select_all_mode)switch(a){case "read":case "unread":this.toggle_read_status(a,e);break;case "delete":case "undelete":this.toggle_delete_status(e);break;case "flagged":case "unflagged":this.toggle_flagged_status(a,d)}};this.toggle_read_status=function(a,b){var d,e=b.length,g=this.selection_post_data({_uid:this.uids_to_list(b),_flag:a}),f=this.display_message(this.get_label("markingmessage"),"loading");for(d=0;d<e;d++)this.set_message(b[d],
-"unread","unread"==a?!0:!1);this.http_post("mark",g,f)};this.toggle_flagged_status=function(a,b){var d,e=b.length,g=this.selection_post_data({_uid:this.uids_to_list(b),_flag:a}),f=this.display_message(this.get_label("markingmessage"),"loading");for(d=0;d<e;d++)this.set_message(b[d],"flagged","flagged"==a?!0:!1);this.http_post("mark",g,f)};this.toggle_delete_status=function(a){var b=a.length,d,e,g=!0,f=this.message_list?this.message_list.rows:{};if(1==b)return!this.message_list||f[a[0]]&&!f[a[0]].deleted?
-this.flag_as_deleted(a):this.flag_as_undeleted(a),!0;for(d=0;d<b;d++)if(e=a[d],f[e]&&!f[e].deleted){g=!1;break}g?this.flag_as_undeleted(a):this.flag_as_deleted(a);return!0};this.flag_as_undeleted=function(a){var b,d=a.length,e=this.selection_post_data({_uid:this.uids_to_list(a),_flag:"undelete"}),g=this.display_message(this.get_label("markingmessage"),"loading");for(b=0;b<d;b++)this.set_message(a[b],"deleted",!1);this.http_post("mark",e,g)};this.flag_as_deleted=function(a){for(var b=[],d=this.selection_post_data({_uid:this.uids_to_list(a),
-_flag:"delete"}),e=this.display_message(this.get_label("markingmessage"),"loading"),g=this.message_list?this.message_list.rows:{},f=0,h=0,l=a.length;h<l;h++)uid=a[h],g[uid]&&(g[uid].unread&&(b[b.length]=uid),this.env.skip_deleted?(f+=this.update_thread(uid),this.message_list.remove_row(uid,this.env.display_next&&h==this.message_list.selection.length-1)):this.set_message(uid,"deleted",!0));this.env.skip_deleted&&this.message_list&&(this.env.display_next||this.message_list.clear_selection(),0>f?d._count=
--1*f:0<f&&this.delete_excessive_thread_rows());b.length&&(d._ruid=this.uids_to_list(b));this.env.skip_deleted&&this.env.display_next&&this.env.next_uid&&(d._next_uid=this.env.next_uid);this.http_post("mark",d,e)};this.flag_deleted_as_read=function(a){var b,d,e,g=this.message_list?this.message_list.rows:{};a=String(a).split(",");d=0;for(e=a.length;d<e;d++)b=a[d],g[b]&&this.set_message(b,"unread",!1)};this.uids_to_list=function(a){return this.select_all_mode?"*":a.join(",")};this.set_button_titles=
-function(){var a="deletemessage";this.env.flag_for_deletion||!this.env.trash_mailbox||this.env.mailbox==this.env.trash_mailbox||this.env.delete_junk&&this.env.junk_mailbox&&this.env.mailbox==this.env.junk_mailbox||(a="movemessagetotrash");this.set_alttext("delete",a)};this.expunge_mailbox=function(a){var b,d={_mbox:a};a==this.env.mailbox&&(b=this.set_busy(!0,"loading"),d._reload=1,this.env.search_request&&(d._search=this.env.search_request));this.http_post("expunge",d,b)};this.purge_mailbox=function(a){var b,
-d={_mbox:a};if(!confirm(this.get_label("purgefolderconfirm")))return!1;a==this.env.mailbox&&(b=this.set_busy(!0,"loading"),d._reload=1);this.http_post("purge",d,b)};this.purge_mailbox_test=function(){return this.env.exists&&(this.env.mailbox==this.env.trash_mailbox||this.env.mailbox==this.env.junk_mailbox||this.env.mailbox.startsWith(this.env.trash_mailbox+this.env.delimiter)||this.env.mailbox.startsWith(this.env.junk_mailbox+this.env.delimiter))};this.login_user_keyup=function(a){var b=rcube_event.get_keycode(a),
-d=$("#rcmloginpwd");return 13==b&&d.length&&!d.val()?(d.focus(),rcube_event.cancel(a)):!0};this.open_compose_step=function(a){a=this.url("mail/compose",a);this.env.compose_extwin&&!this.env.extwin?this.open_window(a):(this.redirect(a),this.env.extwin&&window.resizeTo(Math.max(this.env.popup_width,$(window).width()),$(window).height()+24))};this.init_messageform=function(){if(!this.gui_objects.messageform)return!1;var a,b=$("[name='_from']"),d=$("[name='_to']"),e=$("input[name='_subject']"),g=$("[name='_message']").get(0),
-f="1"==$("input[name='_is_html']").val(),h=["cc","bcc","replyto","followupto"],l,k=this.opener();k&&"compose"==k.env.action&&(setTimeout(function(){1<opener.history.length?opener.history.back():k.redirect(k.get_task_url("mail"))},100),this.env.opened_extwin=!0);0<this.env.autocomplete_threads&&(l={threads:this.env.autocomplete_threads,sources:this.env.autocomplete_sources});this.init_address_input_events(d,l);for(a in h)this.init_address_input_events($("[name='_"+h[a]+"']"),l);f||(a=this.env.top_posting?
-0:g.value.length,this.set_caret_pos(g,a),"select-one"==b.prop("type")&&this.change_identity(b[0]),a&&$(g).scrollTop(g.scrollHeight));this.compose_restore_dialog(0,f);""==d.val()?d.focus():""==e.val()?e.focus():g&&g.focus();this.env.compose_focus_elem=document.activeElement;this.compose_field_hash(!0);this.auto_save_start()};this.compose_restore_dialog=function(a,b){var d,e,g,f=this.local_storage_get_item("compose.index",[]),h=function(a){++a<f.length&&k.compose_restore_dialog(a,b)};for(d=a||0;d<f.length;d++)if(e=
-f[d],g=this.local_storage_get_item("compose."+e,null,!0)){if(g.changed&&e==this.env.compose_id){this.restore_compose_form(e,b);break}if(!(this.env.draft_id&&g.draft_id&&g.draft_id!=this.env.draft_id||this.env.reply_msgid&&g.reply_msgid!=this.env.reply_msgid)&&g.changed&&g.session!=this.env.session_id){this.show_popup_dialog(this.get_label("restoresavedcomposedata").replace("$date",(new Date(g.changed)).toLocaleString()).replace("$subject",g._subject).replace(/\n/g,"<br/>"),this.get_label("restoremessage"),
-[{text:this.get_label("restore"),click:function(){k.restore_compose_form(e,b);k.remove_compose_data(e);k.save_compose_form_local();$(this).dialog("close")}},{text:this.get_label("delete"),click:function(){k.remove_compose_data(e);$(this).dialog("close");h(d)}},{text:this.get_label("ignore"),click:function(){$(this).dialog("close");h(d)}}]);break}}};this.init_address_input_events=function(a,b){this.env.recipients_delimiter=this.env.recipients_separator+" ";a.keydown(function(a){return k.ksearch_keydown(a,
-this,b)}).attr("autocomplete","off")};this.submit_messageform=function(a){var b=this.gui_objects.messageform;if(b){var d=this.set_busy(!0,a?"savingmessage":"sendingmessage"),e=this.spellcheck_lang(),g=[];$("li",this.gui_objects.attachmentlist).each(function(){g.push(this.id.replace(/^rcmfile/,""))});$('input[name="_attachments"]',b).val(g.join());b.target="savetarget";b._draft.value=a?"1":"";b.action=this.add_url(b.action,"_unlock",d);b.action=this.add_url(b.action,"_lang",e);b.action=this.add_url(b.action,
-"_framed",1);this.submit_timer=setTimeout(function(){k.set_busy(!1,null,d);k.display_message(k.get_label("requesttimedout"),"error")},1E3*this.env.request_timeout);b.submit()}};this.compose_recipient_select=function(a){var b,d,e=0;for(d=0;d<a.selection.length;d++)b=a.selection[d],this.env.contactdata[b]&&e++;this.enable_command("add-recipient",e)};this.compose_add_recipient=function(a){var b=[],d=$("#_"+a),e=this.env.recipients_delimiter;if(this.contact_list&&this.contact_list.selection.length)for(var g,
-f=0;f<this.contact_list.selection.length;f++)if((g=this.contact_list.selection[f])&&this.env.contactdata[g]&&(b.push(this.env.contactdata[g]),"E"==g.charAt(0)&&0>this.env.contactdata[g].indexOf("@")&&d.length)){var h=g.substr(1);this.group2expand[h]={name:this.env.contactdata[g],input:d.get(0)};this.http_request("group-expand",{_source:this.env.source,_gid:h},!1)}b.length&&d.length&&(g=d.val(),f=RegExp(RegExp.escape(e)+"\\s*$"),g&&!f.test(g)&&(g+=e+" "),d.val(g+b.join(e+" ")+e+" "),this.triggerEvent("add-recipient",
-{field:a,recipients:b}))};this.check_compose_input=function(a){var b,d=$("[name='_to']"),e=$("[name='_cc']"),g=$("[name='_bcc']"),f=$("[name='_from']"),h=$("[name='_subject']"),l=$("[name='_message']");if("text"==f.prop("type")&&!rcube_check_email(f.val(),!0))return alert(this.get_label("nosenderwarning")),f.focus(),!1;e=d.val()?d.val():e.val()?e.val():g.val();if(!rcube_check_email(e.replace(/^\s+/,"").replace(/[\s,;]+$/,""),!0))return alert(this.get_label("norecipientwarning")),d.focus(),!1;for(var n in this.env.attachments)if("object"===
-typeof this.env.attachments[n]&&!this.env.attachments[n].complete)return alert(this.get_label("notuploadedwarning")),!1;if(""==h.val()){b=$('<div class="prompt">').html('<div class="message">'+this.get_label("nosubjectwarning")+"</div>").appendTo(document.body);var m=$("<input>").attr("type","text").attr("size",30).appendTo(b).val(this.get_label("nosubject")),d={};d[this.get_label("cancel")]=function(){h.focus();$(this).dialog("close")};d[this.get_label("sendmessage")]=function(){h.val(m.val());$(this).dialog("close");
-k.command(a,{nocheck:!0})};b.dialog({modal:!0,resizable:!1,buttons:d,close:function(a,b){$(this).remove()}});m.select();return!1}this.stop_spellchecking();window.tinyMCE&&(b=tinyMCE.get(this.env.composebody));if(!b&&""==l.val()&&!confirm(this.get_label("nobodywarning")))return l.focus(),!1;if(b){if(!b.getContent()&&!confirm(this.get_label("nobodywarning")))return b.focus(),!1;tinyMCE.triggerSave()}return!0};this.toggle_editor=function(a){this.stop_spellchecking();if("html"==a.mode)this.plain2html($("#"+
-a.id).val(),a.id),tinyMCE.execCommand("mceAddControl",!1,a.id),this.env.default_font&&setTimeout(function(){$(tinyMCE.get(a.id).getBody()).css("font-family",rcmail.env.default_font)},500);else if(this.html2plain(tinyMCE.get(a.id).getContent(),a.id))tinyMCE.execCommand("mceRemoveControl",!1,a.id);else return!1;return!0};this.insert_response=function(a){a=this.env.textresponses[a]?this.env.textresponses[a].text:null;if(!a)return!1;if("1"==$("input[name='_is_html']").val()){var b=tinyMCE.get(this.env.composebody);
-b.getWin().focus();b.selection.setContent(this.quote_html(a).replace(/\r?\n/g,"<br/>"),{format:"text"})}else{var b=rcube_find_object(this.env.composebody),d=$(b).is(":focus")?this.get_input_selection(b):{start:0,end:0},e=b.value;pre=e.substring(0,d.start);end=e.substring(d.end,e.length);b.value=pre+a+end;this.set_caret_pos(b,d.start+a.length);b.focus()}};this.save_response=function(){var a,b="";a=!1;if("1"==$("input[name='_is_html']").val()){var d=tinyMCE.get(this.env.composebody);d.getWin().focus();
-b=d.selection.getContent({format:"text"});b||(b=d.getContent({format:"text"}),a=!0)}else(d=rcube_find_object(this.env.composebody))&&$(d).is(":focus")&&(b=this.get_input_selection(d).text),!b&&d&&(b=d.value,a=!0);a&&(a=b.indexOf("-- \n"),0<a&&(b=b.substring(0,a)));a={};d='<form class="propform"><div class="prop block"><label>'+this.get_label("responsename")+'</label><input type="text" name="name" id="ffresponsename" size="40" /></div><div class="prop block"><label>'+this.get_label("responsetext")+
-'</label><textarea name="text" id="ffresponsetext" cols="40" rows="8"></textarea></div></form>';a[this.gettext("save")]=function(a){a=$("#ffresponsename").val();var b=$("#ffresponsetext").val();if(!b)return $("#ffresponsetext").select(),!1;a||(a=b.substring(0,40));var d=k.display_message(k.get_label("savingresponse"),"loading");k.http_post("settings/responses",{_insert:1,_name:a,_text:b},d);$(this).dialog("close")};a[this.gettext("cancel")]=function(){$(this).dialog("close")};this.show_popup_dialog(d,
-this.gettext("savenewresponse"),a);$("#ffresponsetext").val(b);$("#ffresponsename").select()};this.add_response_item=function(a){var b=a.key;this.env.textresponses[b]=a;if(this.gui_objects.responseslist){var d=$("<li>").appendTo(this.gui_objects.responseslist);$("<a>").addClass("insertresponse active").attr("href","#").attr("rel",b).html(this.quote_html(a.name)).appendTo(d).mousedown(function(a){return rcube_event.cancel(a)}).mouseup(function(a){k.command("insert-response",b);$(document.body).trigger("mouseup");
-return rcube_event.cancel(a)})}};this.edit_responses=function(){};this.delete_response=function(a){!a&&this.responses_list&&(a=this.responses_list.get_selection()[0]);a&&confirm(this.get_label("deleteresponseconfirm"))&&this.http_post("settings/delete-response",{_key:a},!1)};this.stop_spellchecking=function(){var a;window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))?a.plugins&&a.plugins.spellchecker&&a.plugins.spellchecker.active&&a.execCommand("mceSpellCheck"):(a=this.env.spellcheck)&&a.state&&
-"ready"!=a.state&&"no_error_found"!=a.state&&$(a.spell_span).trigger("click");this.spellcheck_state()};this.spellcheck_state=function(){var a,b;window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))&&a.plugins&&a.plugins.spellchecker?b=a.plugins.spellchecker.active:(a=this.env.spellcheck)&&a.state&&(b="ready"!=a.state&&"no_error_found"!=a.state);if(rcmail.buttons.spellcheck)$("#"+rcmail.buttons.spellcheck[0].id)[b?"addClass":"removeClass"]("selected");return b};this.spellcheck_lang=function(){var a;
-if(window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))&&a.plugins&&a.plugins.spellchecker)return a.plugins.spellchecker.selectedLang;if(this.env.spellcheck)return GOOGIE_CUR_LANG};this.spellcheck_lang_set=function(a){var b;window.tinyMCE&&(b=tinyMCE.get(this.env.composebody))&&b.plugins?b.plugins.spellchecker.selectedLang=a:this.env.spellcheck&&this.env.spellcheck.setCurrentLanguage(a)};this.spellcheck_resume=function(a,b){if(a){var d=tinyMCE.get(this.env.composebody),e=d.plugins.spellchecker;e.active=
-1;e._markWords(b);d.nodeChanged()}else{var e=this.env.spellcheck;e.prepare(!1,!0);e.processData(b)}this.spellcheck_state()};this.set_draft_id=function(a){var b;a&&a!=this.env.draft_id&&((b=this.opener())&&"mail"==b.env.task&&""==b.env.action&&b.env.mailbox==this.env.drafts_mailbox&&b.command("checkmail"),this.env.draft_id=a,$("input[name='_draft_saveid']").val(a),window.frames.savetarget&&window.frames.savetarget.history&&!this.draft_autosave_submit&&window.frames.savetarget.history.back(),this.draft_autosave_submit=
-!1);this.remove_compose_data(this.env.compose_id);this.compose_skip_unsavedcheck=!1};this.auto_save_start=function(){this.env.draft_autosave&&(this.draft_autosave_submit=!1,this.save_timer=setTimeout(function(){k.draft_autosave_submit=!0;k.command("savedraft")},1E3*this.env.draft_autosave));!this.local_save_timer&&window.localStorage&&(this.compose_type_activity=this.compose_type_activity_last=0,$(document).bind("keypress",function(a){k.compose_type_activity++}),this.local_save_timer=setInterval(function(){k.compose_type_activity>
-k.compose_type_activity_last&&(k.save_compose_form_local(),k.compose_type_activity_last=k.compose_type_activity)},5E3),$(window).unload(function(){k.env.server_error||k.remove_compose_data(k.env.compose_id)}));window.onbeforeunload||(window.onbeforeunload=function(){if(!k.compose_skip_unsavedcheck&&k.cmp_hash!=k.compose_field_hash())return k.get_label("notsentwarning")});this.busy=!1};this.compose_field_hash=function(a){var b,d,e,g="",f=["to","cc","bcc","subject"];for(d=0;d<f.length;d++)if(e=$('[name="_'+
-f[d]+'"]').val())g+=e+":";g=window.tinyMCE&&(b=tinyMCE.get(this.env.composebody))?g+b.getContent():g+$("[name='_message']").val();if(this.env.attachments)for(var h in this.env.attachments)g+=h;a&&(this.cmp_hash=g);return g};this.save_compose_form_local=function(){var a={session:this.env.session_id,changed:(new Date).getTime()},b=!0;window.tinyMCE&&tinyMCE.get(this.env.composebody)&&tinyMCE.triggerSave();this.env.draft_id&&(a.draft_id=this.env.draft_id);this.env.reply_msgid&&(a.reply_msgid=this.env.reply_msgid);
-$("input, select, textarea",this.gui_objects.messageform).each(function(d,e){switch(e.tagName.toLowerCase()){case "input":if("button"==e.type||"submit"==e.type||"hidden"==e.type&&"_is_html"!=e.name)break;a[e.name]="checkbox"!=e.type||e.checked?$(e).val():"";""!=a[e.name]&&"hidden"!=e.type&&(b=!1);break;case "select":a[e.name]=$("option:checked",e).val();break;default:a[e.name]=$(e).val(),""!=a[e.name]&&(b=!1)}});if(!b){var d=this.local_storage_get_item("compose.index",[]),e=this.env.compose_id;0>
-$.inArray(e,d)&&d.push(e);this.local_storage_set_item("compose."+e,a,!0);this.local_storage_set_item("compose.index",d)}};this.restore_compose_form=function(a,b){var d=this.local_storage_get_item("compose."+a,!0);d&&"object"==typeof d&&($.each(d,function(a,b){if("_"==a[0]){var d=$("*[name='"+a+"']");d[0]&&"checkbox"==d[0].type?d.prop("checked",""!=b):d.val(b)}}),"1"==d._is_html?b||(tinyMCE.execCommand("mceAddControl",!1,this.env.composebody),this.triggerEvent("aftertoggle-editor",{mode:"html"})):
-b&&(tinyMCE.execCommand("mceRemoveControl",!1,this.env.composebody),this.triggerEvent("aftertoggle-editor",{mode:"plain"})))};this.remove_compose_data=function(a){var b=this.local_storage_get_item("compose.index",[]);0<=$.inArray(a,b)&&(this.local_storage_remove_item("compose."+a),this.local_storage_set_item("compose.index",$.grep(b,function(b,e){return b!=a})))};this.clear_compose_data=function(){var a,b=this.local_storage_get_item("compose.index",[]);for(a=0;a<b.length;a++)this.local_storage_remove_item("compose."+
+e)};a.msgicon=null!=this.env.status_col?document.getElementById("msgicn"+a.uid):a.icon;null!=this.env.flagged_col&&(a.flagicon=document.getElementById("flagicn"+a.uid))&&(b.flagicon=function(a){d.command("toggle_flag",e)});!a.depth&&a.has_children&&(a.expando=document.getElementById("rcmexpando"+a.uid))&&(b.expando=function(a){d.expand_message_row(a,e)});$.each(b,function(b,d){a[b].onclick=function(a){d(a);return rcube_event.cancel(a)};bw.touch&&a[b].addEventListener&&a[b].addEventListener("touchend",
+function(a){if(1==a.changedTouches.length)return d(a),rcube_event.cancel(a)},!1)});this.triggerEvent("insertrow",{uid:e,row:a})};this.add_message_row=function(a,b,d,e){if(!this.gui_objects.messagelist||!this.message_list||d.mbox!=this.env.mailbox&&!d.skip_mbox_check)return!1;this.env.messages[a]||(this.env.messages[a]={});$.extend(this.env.messages[a],{deleted:d.deleted?1:0,replied:d.answered?1:0,unread:d.seen?0:1,forwarded:d.forwarded?1:0,flagged:d.flagged?1:0,has_children:d.has_children?1:0,depth:d.depth?
+d.depth:0,unread_children:d.unread_children?d.unread_children:0,parent_uid:d.parent_uid?d.parent_uid:0,selected:this.select_all_mode||this.message_list.in_selection(a),ml:d.ml?1:0,ctype:d.ctype,flags:d.extra_flags});var g,f,h,l="",k="",m=this.message_list,p=m.rows;h=this.env.messages[a];var q="message"+(d.seen?"":" unread")+(d.deleted?" deleted":"")+(d.flagged?" flagged":"")+(h.selected?" selected":""),u={cols:[],style:{},id:"rcmrow"+a};g="msgicon";null===this.env.status_col&&(g+=" status",d.deleted?
+g+=" deleted":d.seen?0<d.unread_children&&(g+=" unreadchildren"):g+=" unread");d.answered&&(g+=" replied");d.forwarded&&(g+=" forwarded");h.selected&&!m.in_selection(a)&&m.selection.push(a);this.env.threading&&(h.depth?(l+='<span id="rcmtab'+a+'" class="branch" style="width:'+15*h.depth+'px;"> </span>',p[h.parent_uid]&&!1===p[h.parent_uid].expanded||!(0!=this.env.autoexpand_threads&&2!=this.env.autoexpand_threads||p[h.parent_uid]&&p[h.parent_uid].expanded)?(u.style.display="none",h.expanded=
+!1):h.expanded=!0,q+=" thread expanded"):h.has_children&&(void 0===h.expanded&&(1==this.env.autoexpand_threads||2==this.env.autoexpand_threads&&h.unread_children)&&(h.expanded=!0),k='<div id="rcmexpando'+a+'" class="'+(h.expanded?"expanded":"collapsed")+'"> </div>',q+=" thread"+(h.expanded?" expanded":"")),d.unread_children&&d.seen&&!h.expanded&&(q+=" unroot"));l+='<span id="msgicn'+a+'" class="'+g+'"> </span>';u.className=q;b.subject&&(g=d.mbox==this.env.drafts_mailbox?"_draft_uid":
+"_uid",b.subject='<a href="./?_task=mail&_action='+(d.mbox==this.env.drafts_mailbox?"compose":"show")+"&_mbox="+urlencode(d.mbox)+"&"+g+"="+a+'" onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(h.depth+1)+')"><span>'+b.subject+"</span></a>");for(f in this.env.coltypes)g=this.env.coltypes[f],h={className:String(g).toLowerCase(),events:{}},"flag"==g?(g=d.flagged?"flagged":"unflagged",g='<span id="flagicn'+a+'" class="'+g+'"> </span>'):"attachment"==
+g?g=/application\/|multipart\/(m|signed)/.test(d.ctype)?'<span class="attachment"> </span>':/multipart\/report/.test(d.ctype)?'<span class="report"> </span>':" ":"status"==g?(g=d.deleted?"deleted":d.seen?0<d.unread_children?"unreadchildren":"msgicon":"unread",g='<span id="statusicn'+a+'" class="'+g+'"> </span>'):"threads"==g?g=k:"subject"==g?(bw.ie&&(h.events.mouseover=function(){rcube_webmail.long_subject_title_ex(this)}),g=l+b[g]):g="priority"==g?0<d.prio&&6>d.prio?'<span class="prio'+
+d.prio+'"> </span>':" ":b[g],h.innerHTML=g,u.cols.push(h);m.insert_row(u,e);e&&this.env.pagesize&&m.rowcount>this.env.pagesize&&(a=m.get_last_row(),m.remove_row(a),m.clear_selection(a))};this.set_list_sorting=function(a,b){$("#rcm"+this.env.sort_col).removeClass("sorted"+this.env.sort_order.toUpperCase());a&&$("#rcm"+a).addClass("sorted"+b);this.env.sort_col=a;this.env.sort_order=b};this.set_list_options=function(a,b,d,e){var g,f={};void 0===b&&(b=this.env.sort_col);d||(d=this.env.sort_order);
+if(this.env.sort_col!=b||this.env.sort_order!=d)g=1,this.set_list_sorting(b,d);this.env.threading!=e&&(g=1,f._threads=e);if(a&&a.length){var h,l,k=[],m=this.env.coltypes;for(e=0;e<m.length;e++)l=m[e],h=$.inArray(l,a),-1!=h&&(k.push(l),delete a[h]);for(e=0;e<a.length;e++)a[e]&&k.push(a[e]);k.join()!=m.join()&&(g=1,f._cols=k.join(","))}g&&this.list_mailbox("","",b+"_"+d,f)};this.show_message=function(a,b,d){if(a){var e,g=window,f="&_action="+(d?"preview":"show")+"&_uid="+a+"&_mbox="+urlencode(this.env.mailbox);
+d&&(e=this.get_frame_window(this.env.contentframe))&&(g=e,f+="&_framed=1");b&&(f+="&_safe=1");this.env.search_request&&(f+="&_search="+this.env.search_request);f+="&_caps="+urlencode(this.browser_capabilities());this.env.extwin&&(f+="&_extwin=1");d&&0<=String(g.location.href).indexOf(f)?this.show_contentframe(!0):(d||!this.env.message_extwin||this.env.extwin?this.location_href(this.env.comm_path+f,g,!0):this.open_window(this.env.comm_path+f,!0),d&&this.message_list&&this.message_list.rows[a]&&this.message_list.rows[a].unread&&
+0<this.env.preview_pane_mark_read&&(this.preview_read_timer=setTimeout(function(){k.set_unread_message(a,k.env.mailbox);k.http_post("mark",{_uid:a,_flag:"read",_mbox:k.env.mailbox,_quiet:1})},1E3*this.env.preview_pane_mark_read)))}};this.set_unread_message=function(a,b){var d=this;d.message_list||(d=d.opener());!d&&window.parent&&(d=parent.rcmail);d&&d.message_list&&(d.set_message(a,"unread",!1),0<d.env.unread_counts[b]&&(d.env.unread_counts[b]-=1,d.set_unread_count(b,d.env.unread_counts[b],"INBOX"==
+b)))};this.show_contentframe=function(a){var b,d,e=this.env.contentframe;if(e&&(b=this.get_frame_element(e)))if(!a&&(d=this.get_frame_window(e)))0>d.location.href.indexOf(this.env.blankpage)&&(d.stop?d.stop():d.document.execCommand("Stop"),d.location.href=this.env.blankpage);else if(!bw.safari&&!bw.konq)$(b)[a?"show":"hide"]();!a&&this.env.frame_lock&&this.set_busy(!1,null,this.env.frame_lock)};this.get_frame_element=function(a){var b;if(a&&(b=document.getElementById(a)))return b};this.get_frame_window=
+function(a){if((a=this.get_frame_element(a))&&a.name&&window.frames)return window.frames[a.name]};this.lock_frame=function(){this.env.frame_lock||((this.is_framed()?parent.rcmail:this).env.frame_lock=this.set_busy(!0,"loading"))};this.list_page=function(a){"next"==a?a=this.env.current_page+1:"last"==a?a=this.env.pagecount:"prev"==a&&1<this.env.current_page?a=this.env.current_page-1:"first"==a&&1<this.env.current_page&&(a=1);0<a&&a<=this.env.pagecount&&(this.env.current_page=a,"addressbook"==this.task||
+this.contact_list?this.list_contacts(this.env.source,this.env.group,a):"mail"==this.task&&this.list_mailbox(this.env.mailbox,a))};this.checkmail=function(){var a=this.set_busy(!0,"checkingmail"),b=this.check_recent_params();this.http_post("check-recent",b,a)};this.filter_mailbox=function(a){var b=this.set_busy(!0,"searching");this.clear_message_list();this.env.current_page=1;this.http_request("search",this.search_params(!1,a),b)};this.list_mailbox=function(a,b,d,e){var g=window;"object"!=typeof e&&
+(e={});a||(a=this.env.mailbox?this.env.mailbox:"INBOX");d&&(e._sort=d);this.env.search_request&&(e._search=this.env.search_request);this.env.mailbox!=a&&(b=1,this.env.current_page=b,this.select_all_mode=!1);this.clear_message_list();if(a!=this.env.mailbox||a==this.env.mailbox&&!b&&!d)e._refresh=1;this.select_folder(a,"",!0);this.unmark_folder(a,"recent","",!0);this.env.mailbox=a;if(this.gui_objects.messagelist)this.list_mailbox_remote(a,b,e);else{if(d=this.get_frame_window(this.env.contentframe))g=
+d,e._framed=1;a&&(this.set_busy(!0,"loading"),e._mbox=a,b&&(e._page=b),this.location_href(e,g))}};this.clear_message_list=function(){this.env.messages={};this.last_selected=0;this.show_contentframe(!1);this.message_list&&this.message_list.clear(!0)};this.list_mailbox_remote=function(a,b,d){this.message_list.clear();var e=this.set_busy(!0,"loading");"object"!=typeof d&&(d={});d._mbox=a;b&&(d._page=b);this.http_request("list",d,e)};this.update_selection=function(){var a=this.message_list.selection,
+b=this.message_list.rows,d,e=[];for(d in a)b[a[d]]&&e.push(a[d]);this.message_list.selection=e};this.expand_unread=function(){for(var a,b=this.message_list.tbody.firstChild;b;)1==b.nodeType&&(a=this.message_list.rows[b.uid])&&a.unread_children&&(this.message_list.expand_all(a),this.set_unread_children(a.uid)),b=b.nextSibling;return!1};this.expand_message_row=function(a,b){var d=this.message_list.rows[b];d.expanded=!d.expanded;this.set_unread_children(b);d.expanded=!d.expanded;this.message_list.expand_row(a,
+b)};this.expand_threads=function(){if(this.env.threading&&this.env.autoexpand_threads&&this.message_list)switch(this.env.autoexpand_threads){case 2:this.expand_unread();break;case 1:this.message_list.expand_all()}};this.init_threads=function(a,b){if(b&&b!=this.env.mailbox)return!1;for(var d=0,e=a.length;d<e;d++)this.add_tree_icons(a[d]);this.expand_threads()};this.add_tree_icons=function(a){var b,d,e,g,f=[],h=[],l,k=this.message_list.rows;for(l=a?k[a]?k[a].obj:null:this.message_list.tbody.firstChild;l;){if(1==
+l.nodeType&&(d=k[l.uid]))if(d.depth){for(b=f.length-1;0<=b&&!(e=f[b].length,e>d.depth?(g=e-d.depth,f[b][g]&2||(f[b][g]=f[b][g]?f[b][g]+2:2)):e==d.depth&&(f[b][0]&2||(f[b][0]+=2)),d.depth>e);b--);f.push(Array(d.depth));f[f.length-1][0]=1;h.push(d.uid)}else{if(f.length){for(b in f)this.set_tree_icons(h[b],f[b]);f=[];h=[]}if(a&&l!=k[a].obj)break}l=l.nextSibling}if(f.length)for(b in f)this.set_tree_icons(h[b],f[b])};this.set_tree_icons=function(a,b){var d,e=[],g="",f=b.length;for(d=0;d<f;d++)2<b[d]?e.push({"class":"l3",
+width:15}):1<b[d]?e.push({"class":"l2",width:15}):0<b[d]?e.push({"class":"l1",width:15}):e.length&&!e[e.length-1]["class"]?e[e.length-1].width+=15:e.push({"class":null,width:15});for(d=e.length-1;0<=d;d--)g=e[d]["class"]?g+('<div class="tree '+e[d]["class"]+'" />'):g+('<div style="width:'+e[d].width+'px" />');g&&$("#rcmtab"+a).html(g)};this.update_thread_root=function(a,b){if(this.env.threading){var d=this.message_list.find_root(a);if(a!=d){var e=this.message_list.rows[d];if("read"==b&&e.unread_children)e.unread_children--;
+else if("unread"==b&&e.has_children)e.unread_children=e.unread_children?e.unread_children+1:1;else return;this.set_message_icon(d);this.set_unread_children(d)}}};this.update_thread=function(a){if(!this.env.threading)return 0;var b,d=0,e=this.message_list.rows,g=e[a],f=e[a].depth,h=[];g.depth?g.unread&&(a=this.message_list.find_root(a),e[a].unread_children--,this.set_unread_children(a)):d--;a=g.parent_uid;for(g=g.obj.nextSibling;g;){if(1==g.nodeType&&(b=e[g.uid])){if(!b.depth||b.depth<=f)break;b.depth--;
+$("#rcmtab"+b.uid).width(15*b.depth).html("");b.depth?(b.depth==f&&(b.parent_uid=a),b.unread&&h.length&&h[h.length-1].unread_children++):(d++,b.parent_uid=0,b.has_children&&($("#rcmrow"+b.uid+" .leaf:first").attr("id","rcmexpando"+b.uid).attr("class","none"!=b.obj.style.display?"expanded":"collapsed").bind("mousedown",{uid:b.uid,p:this},function(a){return a.data.p.expand_message_row(a,a.data.uid)}),b.unread_children=0,h.push(b)),"none"==b.obj.style.display&&$(b.obj).show())}g=g.nextSibling}for(b=
+0;b<h.length;b++)this.set_unread_children(h[b].uid);return d};this.delete_excessive_thread_rows=function(){for(var a=this.message_list.rows,b=this.message_list.tbody.firstChild,d=this.env.pagesize+1;b;)1==b.nodeType&&(r=a[b.uid])&&(!r.depth&&d&&d--,d||this.message_list.remove_row(b.uid)),b=b.nextSibling};this.set_message_icon=function(a){var b=this.message_list.rows[a];if(!b)return!1;b.icon&&(a="msgicon",b.deleted?a+=" deleted":b.unread?a+=" unread":b.unread_children&&(a+=" unreadchildren"),b.msgicon==
+b.icon&&(b.replied&&(a+=" replied"),b.forwarded&&(a+=" forwarded"),a+=" status"),b.icon.className=a);b.msgicon&&b.msgicon!=b.icon&&(a="msgicon",!b.unread&&b.unread_children&&(a+=" unreadchildren"),b.replied&&(a+=" replied"),b.forwarded&&(a+=" forwarded"),b.msgicon.className=a);b.flagicon&&(a=b.flagged?"flagged":"unflagged",b.flagicon.className=a)};this.set_message_status=function(a,b,d){var e=this.message_list.rows[a];if(!e)return!1;"unread"==b?(e.unread!=d&&this.update_thread_root(a,d?"unread":"read"),
+e.unread=d):"deleted"==b?e.deleted=d:"replied"==b?e.replied=d:"forwarded"==b?e.forwarded=d:"flagged"==b&&(e.flagged=d)};this.set_message=function(a,b,d){var e=this.message_list&&this.message_list.rows[a];if(!e)return!1;b&&this.set_message_status(a,b,d);b=$(e.obj);e.unread&&!b.hasClass("unread")?b.addClass("unread"):!e.unread&&b.hasClass("unread")&&b.removeClass("unread");e.deleted&&!b.hasClass("deleted")?b.addClass("deleted"):!e.deleted&&b.hasClass("deleted")&&b.removeClass("deleted");e.flagged&&
+!b.hasClass("flagged")?b.addClass("flagged"):!e.flagged&&b.hasClass("flagged")&&b.removeClass("flagged");this.set_unread_children(a);this.set_message_icon(a)};this.set_unread_children=function(a){a=this.message_list.rows[a];a.parent_uid||(a.unread||!a.unread_children||a.expanded?$(a.obj).removeClass("unroot"):$(a.obj).addClass("unroot"))};this.copy_messages=function(a,b){if(a&&"object"===typeof a)a=a.id;else if(!a)return this.folder_selector(b,function(a){k.command("copy",a)});if(a&&a!=this.env.mailbox){var d=
+this.selection_post_data({_target_mbox:a});d._uid&&this.http_post("copy",d,this.display_message(this.get_label("copyingmessage"),"loading"))}};this.move_messages=function(a,b){if(a&&"object"===typeof a)a=a.id;else if(!a)return this.folder_selector(b,function(a){k.command("move",a)});if(a&&a!=this.env.mailbox){var d=!1,e=this.selection_post_data({_target_mbox:a});e._uid&&("show"==this.env.action?d=this.set_busy(!0,"movingmessage"):this.show_contentframe(!1),this.enable_command(this.env.message_commands,
+!1),this._with_selected_messages("move",e,d))}};this.delete_messages=function(a){var b=this.message_list,d=this.env.trash_mailbox;if(this.env.flag_for_deletion)return this.mark_message("delete"),!1;d&&this.env.mailbox!=d?this.env.delete_junk&&this.env.junk_mailbox&&this.env.mailbox==this.env.junk_mailbox?this.permanently_remove_messages():b&&b.modkey==SHIFT_KEY||a&&rcube_event.get_modifier(a)==SHIFT_KEY?confirm(this.get_label("deletemessagesconfirm"))&&this.permanently_remove_messages():this.move_messages(d):
+this.permanently_remove_messages();return!0};this.permanently_remove_messages=function(){var a=this.selection_post_data();a._uid&&(this.show_contentframe(!1),this._with_selected_messages("delete",a))};this._with_selected_messages=function(a,b,d){var e=0;if(this.message_list){var g,f,h,l=[],k=this.message_list.get_selection();g=0;for(len=k.length;g<len;g++)f=k[g],this.env.threading&&(e+=this.update_thread(f),h=this.message_list.find_root(f),h!=f&&0>$.inArray(h,l)&&l.push(h)),this.message_list.remove_row(f,
+this.env.display_next&&g==k.length-1);this.env.display_next||this.message_list.clear_selection();g=0;for(len=l.length;g<len;g++)this.add_tree_icons(l[g])}0>e?b._count=-1*e:0<e&&this.delete_excessive_thread_rows();d||(d=this.display_message(this.get_label("move"==a?"movingmessage":"deletingmessage"),"loading"));this.http_post(a,b,d)};this.selection_post_data=function(a){"object"!=typeof a&&(a={});a._mbox=this.env.mailbox;if(!a._uid){var b=this.env.uid?[this.env.uid]:this.message_list.get_selection();
+a._uid=this.uids_to_list(b)}this.env.action&&(a._from=this.env.action);this.env.search_request&&(a._search=this.env.search_request);this.env.display_next&&this.env.next_uid&&(a._next_uid=this.env.next_uid);return a};this.mark_message=function(a,b){var d=[],e=[],g,f,h,l=this.message_list;b?d[0]=b:this.env.uid?d[0]=this.env.uid:l&&(d=l.get_selection());if(l)for(l.focus(),f=0,g=d.length;f<g;f++)h=d[f],("read"==a&&l.rows[h].unread||"unread"==a&&!l.rows[h].unread||"delete"==a&&!l.rows[h].deleted||"undelete"==
+a&&l.rows[h].deleted||"flagged"==a&&!l.rows[h].flagged||"unflagged"==a&&l.rows[h].flagged)&&e.push(h);else e=d;if(e.length||this.select_all_mode)switch(a){case "read":case "unread":this.toggle_read_status(a,e);break;case "delete":case "undelete":this.toggle_delete_status(e);break;case "flagged":case "unflagged":this.toggle_flagged_status(a,d)}};this.toggle_read_status=function(a,b){var d,e=b.length,g=this.selection_post_data({_uid:this.uids_to_list(b),_flag:a}),f=this.display_message(this.get_label("markingmessage"),
+"loading");for(d=0;d<e;d++)this.set_message(b[d],"unread","unread"==a?!0:!1);this.http_post("mark",g,f)};this.toggle_flagged_status=function(a,b){var d,e=b.length,g=this.selection_post_data({_uid:this.uids_to_list(b),_flag:a}),f=this.display_message(this.get_label("markingmessage"),"loading");for(d=0;d<e;d++)this.set_message(b[d],"flagged","flagged"==a?!0:!1);this.http_post("mark",g,f)};this.toggle_delete_status=function(a){var b=a.length,d,e,g=!0,f=this.message_list?this.message_list.rows:{};if(1==
+b)return!this.message_list||f[a[0]]&&!f[a[0]].deleted?this.flag_as_deleted(a):this.flag_as_undeleted(a),!0;for(d=0;d<b;d++)if(e=a[d],f[e]&&!f[e].deleted){g=!1;break}g?this.flag_as_undeleted(a):this.flag_as_deleted(a);return!0};this.flag_as_undeleted=function(a){var b,d=a.length,e=this.selection_post_data({_uid:this.uids_to_list(a),_flag:"undelete"}),g=this.display_message(this.get_label("markingmessage"),"loading");for(b=0;b<d;b++)this.set_message(a[b],"deleted",!1);this.http_post("mark",e,g)};this.flag_as_deleted=
+function(a){for(var b=[],d=this.selection_post_data({_uid:this.uids_to_list(a),_flag:"delete"}),e=this.display_message(this.get_label("markingmessage"),"loading"),g=this.message_list?this.message_list.rows:{},f=0,h=0,l=a.length;h<l;h++)uid=a[h],g[uid]&&(g[uid].unread&&(b[b.length]=uid),this.env.skip_deleted?(f+=this.update_thread(uid),this.message_list.remove_row(uid,this.env.display_next&&h==this.message_list.selection.length-1)):this.set_message(uid,"deleted",!0));this.env.skip_deleted&&this.message_list&&
+(this.env.display_next||this.message_list.clear_selection(),0>f?d._count=-1*f:0<f&&this.delete_excessive_thread_rows());b.length&&(d._ruid=this.uids_to_list(b));this.env.skip_deleted&&this.env.display_next&&this.env.next_uid&&(d._next_uid=this.env.next_uid);this.http_post("mark",d,e)};this.flag_deleted_as_read=function(a){var b,d,e,g=this.message_list?this.message_list.rows:{};a=String(a).split(",");d=0;for(e=a.length;d<e;d++)b=a[d],g[b]&&this.set_message(b,"unread",!1)};this.uids_to_list=function(a){return this.select_all_mode?
+"*":a.join(",")};this.set_button_titles=function(){var a="deletemessage";this.env.flag_for_deletion||!this.env.trash_mailbox||this.env.mailbox==this.env.trash_mailbox||this.env.delete_junk&&this.env.junk_mailbox&&this.env.mailbox==this.env.junk_mailbox||(a="movemessagetotrash");this.set_alttext("delete",a)};this.expunge_mailbox=function(a){var b,d={_mbox:a};a==this.env.mailbox&&(b=this.set_busy(!0,"loading"),d._reload=1,this.env.search_request&&(d._search=this.env.search_request));this.http_post("expunge",
+d,b)};this.purge_mailbox=function(a){var b,d={_mbox:a};if(!confirm(this.get_label("purgefolderconfirm")))return!1;a==this.env.mailbox&&(b=this.set_busy(!0,"loading"),d._reload=1);this.http_post("purge",d,b)};this.purge_mailbox_test=function(){return this.env.exists&&(this.env.mailbox==this.env.trash_mailbox||this.env.mailbox==this.env.junk_mailbox||this.env.mailbox.startsWith(this.env.trash_mailbox+this.env.delimiter)||this.env.mailbox.startsWith(this.env.junk_mailbox+this.env.delimiter))};this.login_user_keyup=
+function(a){var b=rcube_event.get_keycode(a),d=$("#rcmloginpwd");return 13==b&&d.length&&!d.val()?(d.focus(),rcube_event.cancel(a)):!0};this.open_compose_step=function(a){a=this.url("mail/compose",a);this.env.compose_extwin&&!this.env.extwin?this.open_window(a):(this.redirect(a),this.env.extwin&&window.resizeTo(Math.max(this.env.popup_width,$(window).width()),$(window).height()+24))};this.init_messageform=function(){if(!this.gui_objects.messageform)return!1;var a,b=$("[name='_from']"),d=$("[name='_to']"),
+e=$("input[name='_subject']"),g=$("[name='_message']").get(0),f="1"==$("input[name='_is_html']").val(),h=["cc","bcc","replyto","followupto"],l,k=this.opener();k&&"compose"==k.env.action&&(setTimeout(function(){1<opener.history.length?opener.history.back():k.redirect(k.get_task_url("mail"))},100),this.env.opened_extwin=!0);0<this.env.autocomplete_threads&&(l={threads:this.env.autocomplete_threads,sources:this.env.autocomplete_sources});this.init_address_input_events(d,l);for(a in h)this.init_address_input_events($("[name='_"+
+h[a]+"']"),l);f||(a=this.env.top_posting?0:g.value.length,this.set_caret_pos(g,a),"select-one"==b.prop("type")&&this.change_identity(b[0]),a&&$(g).scrollTop(g.scrollHeight));this.compose_restore_dialog(0,f);""==d.val()?d.focus():""==e.val()?e.focus():g&&g.focus();this.env.compose_focus_elem=document.activeElement;this.compose_field_hash(!0);this.auto_save_start()};this.compose_restore_dialog=function(a,b){var d,e,g,f=this.local_storage_get_item("compose.index",[]),h=function(a){++a<f.length&&k.compose_restore_dialog(a,
+b)};for(d=a||0;d<f.length;d++)if(e=f[d],g=this.local_storage_get_item("compose."+e,null,!0)){if(g.changed&&e==this.env.compose_id){this.restore_compose_form(e,b);break}if(!(this.env.draft_id&&g.draft_id&&g.draft_id!=this.env.draft_id||this.env.reply_msgid&&g.reply_msgid!=this.env.reply_msgid)&&g.changed&&g.session!=this.env.session_id){this.show_popup_dialog(this.get_label("restoresavedcomposedata").replace("$date",(new Date(g.changed)).toLocaleString()).replace("$subject",g._subject).replace(/\n/g,
+"<br/>"),this.get_label("restoremessage"),[{text:this.get_label("restore"),click:function(){k.restore_compose_form(e,b);k.remove_compose_data(e);k.save_compose_form_local();$(this).dialog("close")}},{text:this.get_label("delete"),click:function(){k.remove_compose_data(e);$(this).dialog("close");h(d)}},{text:this.get_label("ignore"),click:function(){$(this).dialog("close");h(d)}}]);break}}};this.init_address_input_events=function(a,b){this.env.recipients_delimiter=this.env.recipients_separator+" ";
+a.keydown(function(a){return k.ksearch_keydown(a,this,b)}).attr("autocomplete","off")};this.submit_messageform=function(a){var b=this.gui_objects.messageform;if(b){var d=this.set_busy(!0,a?"savingmessage":"sendingmessage"),e=this.spellcheck_lang(),g=[];$("li",this.gui_objects.attachmentlist).each(function(){g.push(this.id.replace(/^rcmfile/,""))});$('input[name="_attachments"]',b).val(g.join());b.target="savetarget";b._draft.value=a?"1":"";b.action=this.add_url(b.action,"_unlock",d);b.action=this.add_url(b.action,
+"_lang",e);b.action=this.add_url(b.action,"_framed",1);this.submit_timer=setTimeout(function(){k.set_busy(!1,null,d);k.display_message(k.get_label("requesttimedout"),"error")},1E3*this.env.request_timeout);b.submit()}};this.compose_recipient_select=function(a){var b,d,e=0;for(d=0;d<a.selection.length;d++)b=a.selection[d],this.env.contactdata[b]&&e++;this.enable_command("add-recipient",e)};this.compose_add_recipient=function(a){var b=[],d=$("#_"+a),e=this.env.recipients_delimiter;if(this.contact_list&&
+this.contact_list.selection.length)for(var g,f=0;f<this.contact_list.selection.length;f++)if((g=this.contact_list.selection[f])&&this.env.contactdata[g]&&(b.push(this.env.contactdata[g]),"E"==g.charAt(0)&&0>this.env.contactdata[g].indexOf("@")&&d.length)){var h=g.substr(1);this.group2expand[h]={name:this.env.contactdata[g],input:d.get(0)};this.http_request("group-expand",{_source:this.env.source,_gid:h},!1)}b.length&&d.length&&(g=d.val(),f=RegExp(RegExp.escape(e)+"\\s*$"),g&&!f.test(g)&&(g+=e+" "),
+d.val(g+b.join(e+" ")+e+" "),this.triggerEvent("add-recipient",{field:a,recipients:b}))};this.check_compose_input=function(a){var b,d=$("[name='_to']"),e=$("[name='_cc']"),g=$("[name='_bcc']"),f=$("[name='_from']"),h=$("[name='_subject']"),l=$("[name='_message']");if("text"==f.prop("type")&&!rcube_check_email(f.val(),!0))return alert(this.get_label("nosenderwarning")),f.focus(),!1;e=d.val()?d.val():e.val()?e.val():g.val();if(!rcube_check_email(e.replace(/^\s+/,"").replace(/[\s,;]+$/,""),!0))return alert(this.get_label("norecipientwarning")),
+d.focus(),!1;for(var n in this.env.attachments)if("object"===typeof this.env.attachments[n]&&!this.env.attachments[n].complete)return alert(this.get_label("notuploadedwarning")),!1;if(""==h.val()){b=$('<div class="prompt">').html('<div class="message">'+this.get_label("nosubjectwarning")+"</div>").appendTo(document.body);var m=$("<input>").attr("type","text").attr("size",30).appendTo(b).val(this.get_label("nosubject")),d={};d[this.get_label("cancel")]=function(){h.focus();$(this).dialog("close")};
+d[this.get_label("sendmessage")]=function(){h.val(m.val());$(this).dialog("close");k.command(a,{nocheck:!0})};b.dialog({modal:!0,resizable:!1,buttons:d,close:function(a,b){$(this).remove()}});m.select();return!1}this.stop_spellchecking();window.tinyMCE&&(b=tinyMCE.get(this.env.composebody));if(!b&&""==l.val()&&!confirm(this.get_label("nobodywarning")))return l.focus(),!1;if(b){if(!b.getContent()&&!confirm(this.get_label("nobodywarning")))return b.focus(),!1;tinyMCE.triggerSave()}return!0};this.toggle_editor=
+function(a){this.stop_spellchecking();if("html"==a.mode)this.plain2html($("#"+a.id).val(),a.id),tinyMCE.execCommand("mceAddControl",!1,a.id),this.env.default_font&&setTimeout(function(){$(tinyMCE.get(a.id).getBody()).css("font-family",rcmail.env.default_font)},500);else if(this.html2plain(tinyMCE.get(a.id).getContent(),a.id))tinyMCE.execCommand("mceRemoveControl",!1,a.id);else return!1;return!0};this.insert_response=function(a){a=this.env.textresponses[a]?this.env.textresponses[a].text:null;if(!a)return!1;
+if("1"==$("input[name='_is_html']").val()){var b=tinyMCE.get(this.env.composebody);b.getWin().focus();b.selection.setContent(this.quote_html(a).replace(/\r?\n/g,"<br/>"),{format:"text"})}else{var b=rcube_find_object(this.env.composebody),d=$(b).is(":focus")?this.get_input_selection(b):{start:0,end:0},e=b.value;pre=e.substring(0,d.start);end=e.substring(d.end,e.length);b.value=pre+a+end;this.set_caret_pos(b,d.start+a.length);b.focus()}};this.save_response=function(){var a,b="";a=!1;if("1"==$("input[name='_is_html']").val()){var d=
+tinyMCE.get(this.env.composebody);d.getWin().focus();b=d.selection.getContent({format:"text"});b||(b=d.getContent({format:"text"}),a=!0)}else(d=rcube_find_object(this.env.composebody))&&$(d).is(":focus")&&(b=this.get_input_selection(d).text),!b&&d&&(b=d.value,a=!0);a&&(a=b.indexOf("-- \n"),0<a&&(b=b.substring(0,a)));a={};d='<form class="propform"><div class="prop block"><label>'+this.get_label("responsename")+'</label><input type="text" name="name" id="ffresponsename" size="40" /></div><div class="prop block"><label>'+
+this.get_label("responsetext")+'</label><textarea name="text" id="ffresponsetext" cols="40" rows="8"></textarea></div></form>';a[this.gettext("save")]=function(a){a=$("#ffresponsename").val();var b=$("#ffresponsetext").val();if(!b)return $("#ffresponsetext").select(),!1;a||(a=b.substring(0,40));var d=k.display_message(k.get_label("savingresponse"),"loading");k.http_post("settings/responses",{_insert:1,_name:a,_text:b},d);$(this).dialog("close")};a[this.gettext("cancel")]=function(){$(this).dialog("close")};
+this.show_popup_dialog(d,this.gettext("savenewresponse"),a);$("#ffresponsetext").val(b);$("#ffresponsename").select()};this.add_response_item=function(a){var b=a.key;this.env.textresponses[b]=a;if(this.gui_objects.responseslist){var d=$("<li>").appendTo(this.gui_objects.responseslist);$("<a>").addClass("insertresponse active").attr("href","#").attr("rel",b).html(this.quote_html(a.name)).appendTo(d).mousedown(function(a){return rcube_event.cancel(a)}).mouseup(function(a){k.command("insert-response",
+b);$(document.body).trigger("mouseup");return rcube_event.cancel(a)})}};this.edit_responses=function(){};this.delete_response=function(a){!a&&this.responses_list&&(a=this.responses_list.get_selection()[0]);a&&confirm(this.get_label("deleteresponseconfirm"))&&this.http_post("settings/delete-response",{_key:a},!1)};this.stop_spellchecking=function(){var a;window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))?a.plugins&&a.plugins.spellchecker&&a.plugins.spellchecker.active&&a.execCommand("mceSpellCheck"):
+(a=this.env.spellcheck)&&a.state&&"ready"!=a.state&&"no_error_found"!=a.state&&$(a.spell_span).trigger("click");this.spellcheck_state()};this.spellcheck_state=function(){var a,b;window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))&&a.plugins&&a.plugins.spellchecker?b=a.plugins.spellchecker.active:(a=this.env.spellcheck)&&a.state&&(b="ready"!=a.state&&"no_error_found"!=a.state);if(rcmail.buttons.spellcheck)$("#"+rcmail.buttons.spellcheck[0].id)[b?"addClass":"removeClass"]("selected");return b};this.spellcheck_lang=
+function(){var a;if(window.tinyMCE&&(a=tinyMCE.get(this.env.composebody))&&a.plugins&&a.plugins.spellchecker)return a.plugins.spellchecker.selectedLang;if(this.env.spellcheck)return GOOGIE_CUR_LANG};this.spellcheck_lang_set=function(a){var b;window.tinyMCE&&(b=tinyMCE.get(this.env.composebody))&&b.plugins?b.plugins.spellchecker.selectedLang=a:this.env.spellcheck&&this.env.spellcheck.setCurrentLanguage(a)};this.spellcheck_resume=function(a,b){if(a){var d=tinyMCE.get(this.env.composebody),e=d.plugins.spellchecker;
+e.active=1;e._markWords(b);d.nodeChanged()}else{var e=this.env.spellcheck;e.prepare(!1,!0);e.processData(b)}this.spellcheck_state()};this.set_draft_id=function(a){if(a&&a!=this.env.draft_id){var b={task:"mail",action:""};(b=this.opener(!1,b)||this.opener(!0,b))&&b.env.mailbox==this.env.drafts_mailbox&&b.command("checkmail");this.env.draft_id=a;$("input[name='_draft_saveid']").val(a);window.frames.savetarget&&window.frames.savetarget.history&&!this.draft_autosave_submit&&window.frames.savetarget.history.back();
+this.draft_autosave_submit=!1}this.remove_compose_data(this.env.compose_id);this.compose_skip_unsavedcheck=!1};this.auto_save_start=function(){this.env.draft_autosave&&(this.draft_autosave_submit=!1,this.save_timer=setTimeout(function(){k.draft_autosave_submit=!0;k.command("savedraft")},1E3*this.env.draft_autosave));!this.local_save_timer&&window.localStorage&&(this.compose_type_activity=this.compose_type_activity_last=0,$(document).bind("keypress",function(a){k.compose_type_activity++}),this.local_save_timer=
+setInterval(function(){k.compose_type_activity>k.compose_type_activity_last&&(k.save_compose_form_local(),k.compose_type_activity_last=k.compose_type_activity)},5E3),$(window).unload(function(){k.env.server_error||k.remove_compose_data(k.env.compose_id)}));window.onbeforeunload||(window.onbeforeunload=function(){if(!k.compose_skip_unsavedcheck&&k.cmp_hash!=k.compose_field_hash())return k.get_label("notsentwarning")});this.busy=!1};this.compose_field_hash=function(a){var b,d,e,g="",f=["to","cc","bcc",
+"subject"];for(d=0;d<f.length;d++)if(e=$('[name="_'+f[d]+'"]').val())g+=e+":";g=window.tinyMCE&&(b=tinyMCE.get(this.env.composebody))?g+b.getContent():g+$("[name='_message']").val();if(this.env.attachments)for(var h in this.env.attachments)g+=h;a&&(this.cmp_hash=g);return g};this.save_compose_form_local=function(){var a={session:this.env.session_id,changed:(new Date).getTime()},b=!0;window.tinyMCE&&tinyMCE.get(this.env.composebody)&&tinyMCE.triggerSave();this.env.draft_id&&(a.draft_id=this.env.draft_id);
+this.env.reply_msgid&&(a.reply_msgid=this.env.reply_msgid);$("input, select, textarea",this.gui_objects.messageform).each(function(d,e){switch(e.tagName.toLowerCase()){case "input":if("button"==e.type||"submit"==e.type||"hidden"==e.type&&"_is_html"!=e.name)break;a[e.name]="checkbox"!=e.type||e.checked?$(e).val():"";""!=a[e.name]&&"hidden"!=e.type&&(b=!1);break;case "select":a[e.name]=$("option:checked",e).val();break;default:a[e.name]=$(e).val(),""!=a[e.name]&&(b=!1)}});if(!b){var d=this.local_storage_get_item("compose.index",
+[]),e=this.env.compose_id;0>$.inArray(e,d)&&d.push(e);this.local_storage_set_item("compose."+e,a,!0);this.local_storage_set_item("compose.index",d)}};this.restore_compose_form=function(a,b){var d=this.local_storage_get_item("compose."+a,!0);d&&"object"==typeof d&&($.each(d,function(a,b){if("_"==a[0]){var d=$("*[name='"+a+"']");d[0]&&"checkbox"==d[0].type?d.prop("checked",""!=b):d.val(b)}}),"1"==d._is_html?b||(tinyMCE.execCommand("mceAddControl",!1,this.env.composebody),this.triggerEvent("aftertoggle-editor",
+{mode:"html"})):b&&(tinyMCE.execCommand("mceRemoveControl",!1,this.env.composebody),this.triggerEvent("aftertoggle-editor",{mode:"plain"})))};this.remove_compose_data=function(a){var b=this.local_storage_get_item("compose.index",[]);0<=$.inArray(a,b)&&(this.local_storage_remove_item("compose."+a),this.local_storage_set_item("compose.index",$.grep(b,function(b,e){return b!=a})))};this.clear_compose_data=function(){var a,b=this.local_storage_get_item("compose.index",[]);for(a=0;a<b.length;a++)this.local_storage_remove_item("compose."+
b[a]);this.local_storage_remove_item("compose.index")};this.change_identity=function(a,b){if(!a||!a.options)return!1;b||(b=this.env.show_sig);var d=a.options[a.selectedIndex].value;this.env.signatures&&this.env.signatures[d]?(this.enable_command("insert-sig",!0),this.env.compose_commands.push("insert-sig")):this.enable_command("insert-sig",!1);if(!this.env.identities_initialized&&(this.env.identities_initialized=!0,this.env.show_sig_later&&(this.env.show_sig=!0),this.env.opened_extwin))return;var e;
e=-1;var g=$("[name='_message']"),f=g.val(),h="1"==$("input[name='_is_html']").val(),l=this.env.identity,n=this.env.recipients_separator,m=RegExp.escape(n);$.each(["replyto","bcc"],function(){var a,b=l&&k.env.identities[l]?k.env.identities[l][this]:"",e=d&&k.env.identities[d]?k.env.identities[d][this]:"",g=$('[name="_'+this+'"]'),f=g.val();b&&f&&(a=RegExp("\\s*"+RegExp.escape(b)+"\\s*"),f=f.replace(a,""));a=RegExp(m+"\\s*"+m,"g");f=f.replace(a,n);a=RegExp("^[\\s"+m+"]+");f=f.replace(a,"");e&&-1==
f.indexOf(e)&&-1==f.indexOf(e.replace(/"/g,""))&&(f&&(a=RegExp("["+m+"\\s]+$"),f=f.replace(a,"")+n+" "),f+=e+n+" ");(b||e)&&g.val(f).change()});h?b&&this.env.signatures&&(h=tinyMCE.get(this.env.composebody),g=h.dom.get("_rc_sig"),g||(f=h.getBody(),e=h.getDoc(),g=e.createElement("div"),g.setAttribute("id","_rc_sig"),this.env.top_posting?(h.getWin().focus(),h=h.selection.getNode(),"BODY"==h.nodeName?(f.insertBefore(g,f.firstChild),f.insertBefore(e.createElement("br"),f.firstChild)):(f.insertBefore(g,
@@ -244,15 +244,16 @@
a.name)+'"\r\n';f+="Content-Length: "+a.size+"\r\n";f+="Content-Type: "+a.type+"\r\n\r\n";f+=p.result+"\r\n";f+="--"+g+"\r\n";if(b==l)return h()}}(m,a);p.readAsBinaryString(m)}else if(m.getAsBinary&&(f+='Content-Disposition: form-data; name="'+e+'"',f+='; filename="'+(m.name_bin||m.name)+'"\r\n',f+="Content-Length: "+m.size+"\r\n",f+="Content-Type: "+m.type+"\r\n\r\n",f+=m.getAsBinary()+"\r\n",f+="--"+g+"\r\n",a==l))return h();a++}};this.start_keepalive=function(){!this.env.session_lifetime||this.env.framed||
this.env.extwin||"login"==this.task||"print"==this.env.action||(this._keepalive&&clearInterval(this._keepalive),this._keepalive=setInterval(function(){k.keep_alive()},500*this.env.session_lifetime))};this.start_refresh=function(){!this.env.refresh_interval||this.env.framed||this.env.extwin||"login"==this.task||"print"==this.env.action||(this._refresh&&clearInterval(this._refresh),this._refresh=setInterval(function(){k.refresh()},1E3*this.env.refresh_interval))};this.keep_alive=function(){this.busy||
this.http_request("keep-alive")};this.refresh=function(){if(this.busy)setTimeout(function(){k.refresh();k.start_refresh()},1E4);else{var a={},b=this.set_busy(!0,"refreshing");"mail"==this.task&&this.gui_objects.mailboxlist&&(a=this.check_recent_params());a._last=Math.floor(this.env.lastrefresh.getTime()/1E3);this.env.lastrefresh=new Date;this.http_post("refresh",a,b)}};this.check_recent_params=function(){var a={_mbox:this.env.mailbox};this.gui_objects.mailboxlist&&(a._folderlist=1);this.gui_objects.quotadisplay&&
-(a._quota=1);this.env.search_request&&(a._search=this.env.search_request);this.gui_objects.messagelist&&(a._list=1,a._uids=$.map(this.message_list.rows,function(a,d){return d}).join(","));return a};this.quote_html=function(a){return String(a).replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")};this.opener=function(){try{if(window.opener&&!opener.closed&&opener.rcmail)return opener.rcmail}catch(a){}};this.get_single_uid=function(){return this.env.uid?this.env.uid:this.message_list?this.message_list.get_single_selection():
-null};this.get_single_cid=function(){return this.env.cid?this.env.cid:this.contact_list?this.contact_list.get_single_selection():null};this.get_caret_pos=function(a){if(void 0!==a.selectionEnd)return a.selectionEnd;if(document.selection&&document.selection.createRange){var b=document.selection.createRange();if(b.parentElement()!=a)return 0;var d=b.duplicate();"TEXTAREA"==a.tagName?d.moveToElementText(a):d.expand("textedit");d.setEndPoint("EndToStart",b);b=d.text.length;return b<=a.value.length?b:
--1}return a.value.length};this.set_caret_pos=function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange){var d=a.createTextRange();d.collapse(!0);d.moveEnd("character",b);d.moveStart("character",b);d.select()}};this.get_input_selection=function(a){var b=0,d=0,e,g,f;"number"==typeof a.selectionStart&&"number"==typeof a.selectionEnd?(e=a.value,b=a.selectionStart,d=a.selectionEnd):(g=document.selection.createRange())&&g.parentElement()==a&&(f=a.value.length,e=a.value,d=a.createTextRange(),
-d.moveToBookmark(g.getBookmark()),a=a.createTextRange(),a.collapse(!1),-1<d.compareEndPoints("StartToEnd",a)?b=d=f:(b=-d.moveStart("character",-f),b+=e.slice(0,b).split("\n").length-1,-1<d.compareEndPoints("EndToEnd",a)?d=f:(d=-d.moveEnd("character",-f),d+=e.slice(0,d).split("\n").length-1)));return{start:b,end:d,text:e.substr(b,d-b)}};this.lock_form=function(a,b){if(a&&a.elements){var d,e,g;b&&(this.disabled_form_elements=[]);d=0;for(e=a.elements.length;d<e;d++)if(g=a.elements[d],"hidden"!=g.type)if(b&&
-g.disabled)this.disabled_form_elements.push(g);else if(b||this.disabled_form_elements&&0>$.inArray(g,this.disabled_form_elements))g.disabled=b}};this.mailto_handler_uri=function(){return location.href.split("?")[0]+"?_task=mail&_action=compose&_to=%s"};this.register_protocol_handler=function(a){try{window.navigator.registerProtocolHandler("mailto",this.mailto_handler_uri(),a)}catch(b){this.display_message(String(b),"error")}};this.check_protocol_handler=function(a,b){var d=window.navigator;if(d&&
-"function"==typeof d.registerProtocolHandler){var e=null;"function"==typeof d.isProtocolHandlerRegistered?(e=d.isProtocolHandlerRegistered("mailto",this.mailto_handler_uri()))&&$(b).parent().find(".mailtoprotohandler-status").html(e):$(b).click(function(){rcmail.register_protocol_handler(a);return!1})}else $(b).addClass("disabled").click(function(){return!1})};this.browser_capabilities_check=function(){this.env.browser_capabilities||(this.env.browser_capabilities={});void 0===this.env.browser_capabilities.pdf&&
-(this.env.browser_capabilities.pdf=this.pdf_support_check());void 0===this.env.browser_capabilities.flash&&(this.env.browser_capabilities.flash=this.flash_support_check());void 0===this.env.browser_capabilities.tif&&this.tif_support_check()};this.browser_capabilities=function(){if(!this.env.browser_capabilities)return"";var a,b=[];for(a in this.env.browser_capabilities)b.push(a+"="+this.env.browser_capabilities[a]);return b.join()};this.tif_support_check=function(){var a=new Image;a.onload=function(){rcmail.env.browser_capabilities.tif=
-1};a.onerror=function(){rcmail.env.browser_capabilities.tif=0};a.src="program/resources/blank.tif"};this.pdf_support_check=function(){var a=navigator.mimeTypes?navigator.mimeTypes["application/pdf"]:{},b=navigator.plugins,d=b.length,e=/Adobe Reader|PDF|Acrobat/i;if(a&&a.enabledPlugin)return 1;if(window.ActiveXObject){try{if(axObj=new ActiveXObject("AcroPDF.PDF"))return 1}catch(g){}try{if(axObj=new ActiveXObject("PDF.PdfCtrl"))return 1}catch(f){}}for(i=0;i<d;i++)if(a=b[i],"String"===typeof a){if(e.test(a))return 1}else if(a.name&&
-e.test(a.name))return 1;return 0};this.flash_support_check=function(){var a=navigator.mimeTypes?navigator.mimeTypes["application/x-shockwave-flash"]:{};if(a&&a.enabledPlugin)return 1;if(window.ActiveXObject)try{if(axObj=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))return 1}catch(b){}return 0};this.set_cookie=function(a,b,d){setCookie(a,b,d,this.env.cookie_path,this.env.cookie_domain,this.env.cookie_secure)};this.get_local_storage_prefix=function(){this.local_storage_prefix||(this.local_storage_prefix=
-"roundcube."+(this.env.user_id||"anonymous")+".");return this.local_storage_prefix};this.local_storage_get_item=function(a,b,d){var e;try{e=localStorage.getItem(this.get_local_storage_prefix()+a)}catch(g){}return null!==e?JSON.parse(e):b||null};this.local_storage_set_item=function(a,b,d){try{return localStorage.setItem(this.get_local_storage_prefix()+a,JSON.stringify(b)),!0}catch(e){return!1}};this.local_storage_remove_item=function(a){try{return localStorage.removeItem(this.get_local_storage_prefix()+
-a),!0}catch(b){return!1}}}rcube_webmail.long_subject_title=function(k,t){if(!k.title){var a=$(k);a.width()+15*t>a.parent().width()&&(k.title=a.text())}};rcube_webmail.long_subject_title_ex=function(k){if(!k.title){var t=$(k),a=$.trim(t.text()),b=$("<span>").text(a).css({position:"absolute","float":"left",visibility:"hidden","font-size":t.css("font-size"),"font-weight":t.css("font-weight")}).appendTo($("body")),d=b.width();b.remove();d+15*$("span.branch",t).width()>t.width()&&(k.title=a)}};
-rcube_webmail.prototype.get_cookie=getCookie;rcube_webmail.prototype.addEventListener=rcube_event_engine.prototype.addEventListener;rcube_webmail.prototype.removeEventListener=rcube_event_engine.prototype.removeEventListener;rcube_webmail.prototype.triggerEvent=rcube_event_engine.prototype.triggerEvent;
+(a._quota=1);this.env.search_request&&(a._search=this.env.search_request);this.gui_objects.messagelist&&(a._list=1,a._uids=$.map(this.message_list.rows,function(a,d){return d}).join(","));return a};this.quote_html=function(a){return String(a).replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")};this.opener=function(a,b){var d,e=window.opener;try{if(e&&!e.closed){a&&(!e.rcmail||e.rcmail.env.framed)&&e.parent&&e.parent.rcmail&&(e=e.parent);if(e.rcmail&&b)for(d in b)if(e.rcmail.env[d]!=
+b[d])return;return e.rcmail}}catch(g){}};this.get_single_uid=function(){return this.env.uid?this.env.uid:this.message_list?this.message_list.get_single_selection():null};this.get_single_cid=function(){return this.env.cid?this.env.cid:this.contact_list?this.contact_list.get_single_selection():null};this.get_caret_pos=function(a){if(void 0!==a.selectionEnd)return a.selectionEnd;if(document.selection&&document.selection.createRange){var b=document.selection.createRange();if(b.parentElement()!=a)return 0;
+var d=b.duplicate();"TEXTAREA"==a.tagName?d.moveToElementText(a):d.expand("textedit");d.setEndPoint("EndToStart",b);b=d.text.length;return b<=a.value.length?b:-1}return a.value.length};this.set_caret_pos=function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange){var d=a.createTextRange();d.collapse(!0);d.moveEnd("character",b);d.moveStart("character",b);d.select()}};this.get_input_selection=function(a){var b=0,d=0,e,g,f;"number"==typeof a.selectionStart&&"number"==typeof a.selectionEnd?
+(e=a.value,b=a.selectionStart,d=a.selectionEnd):(g=document.selection.createRange())&&g.parentElement()==a&&(f=a.value.length,e=a.value,d=a.createTextRange(),d.moveToBookmark(g.getBookmark()),a=a.createTextRange(),a.collapse(!1),-1<d.compareEndPoints("StartToEnd",a)?b=d=f:(b=-d.moveStart("character",-f),b+=e.slice(0,b).split("\n").length-1,-1<d.compareEndPoints("EndToEnd",a)?d=f:(d=-d.moveEnd("character",-f),d+=e.slice(0,d).split("\n").length-1)));return{start:b,end:d,text:e.substr(b,d-b)}};this.lock_form=
+function(a,b){if(a&&a.elements){var d,e,g;b&&(this.disabled_form_elements=[]);d=0;for(e=a.elements.length;d<e;d++)if(g=a.elements[d],"hidden"!=g.type)if(b&&g.disabled)this.disabled_form_elements.push(g);else if(b||this.disabled_form_elements&&0>$.inArray(g,this.disabled_form_elements))g.disabled=b}};this.mailto_handler_uri=function(){return location.href.split("?")[0]+"?_task=mail&_action=compose&_to=%s"};this.register_protocol_handler=function(a){try{window.navigator.registerProtocolHandler("mailto",
+this.mailto_handler_uri(),a)}catch(b){this.display_message(String(b),"error")}};this.check_protocol_handler=function(a,b){var d=window.navigator;if(d&&"function"==typeof d.registerProtocolHandler){var e=null;"function"==typeof d.isProtocolHandlerRegistered?(e=d.isProtocolHandlerRegistered("mailto",this.mailto_handler_uri()))&&$(b).parent().find(".mailtoprotohandler-status").html(e):$(b).click(function(){rcmail.register_protocol_handler(a);return!1})}else $(b).addClass("disabled").click(function(){return!1})};
+this.browser_capabilities_check=function(){this.env.browser_capabilities||(this.env.browser_capabilities={});void 0===this.env.browser_capabilities.pdf&&(this.env.browser_capabilities.pdf=this.pdf_support_check());void 0===this.env.browser_capabilities.flash&&(this.env.browser_capabilities.flash=this.flash_support_check());void 0===this.env.browser_capabilities.tif&&this.tif_support_check()};this.browser_capabilities=function(){if(!this.env.browser_capabilities)return"";var a,b=[];for(a in this.env.browser_capabilities)b.push(a+
+"="+this.env.browser_capabilities[a]);return b.join()};this.tif_support_check=function(){var a=new Image;a.onload=function(){rcmail.env.browser_capabilities.tif=1};a.onerror=function(){rcmail.env.browser_capabilities.tif=0};a.src="program/resources/blank.tif"};this.pdf_support_check=function(){var a=navigator.mimeTypes?navigator.mimeTypes["application/pdf"]:{},b=navigator.plugins,d=b.length,e=/Adobe Reader|PDF|Acrobat/i;if(a&&a.enabledPlugin)return 1;if("ActiveXObject"in window){try{if(axObj=new ActiveXObject("AcroPDF.PDF"))return 1}catch(g){}try{if(axObj=
+new ActiveXObject("PDF.PdfCtrl"))return 1}catch(f){}}for(i=0;i<d;i++)if(a=b[i],"String"===typeof a){if(e.test(a))return 1}else if(a.name&&e.test(a.name))return 1;return 0};this.flash_support_check=function(){var a=navigator.mimeTypes?navigator.mimeTypes["application/x-shockwave-flash"]:{};if(a&&a.enabledPlugin)return 1;if("ActiveXObject"in window)try{if(axObj=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))return 1}catch(b){}return 0};this.set_cookie=function(a,b,d){setCookie(a,b,d,this.env.cookie_path,
+this.env.cookie_domain,this.env.cookie_secure)};this.get_local_storage_prefix=function(){this.local_storage_prefix||(this.local_storage_prefix="roundcube."+(this.env.user_id||"anonymous")+".");return this.local_storage_prefix};this.local_storage_get_item=function(a,b,d){var e;try{e=localStorage.getItem(this.get_local_storage_prefix()+a)}catch(g){}return null!==e?JSON.parse(e):b||null};this.local_storage_set_item=function(a,b,d){try{return localStorage.setItem(this.get_local_storage_prefix()+a,JSON.stringify(b)),
+!0}catch(e){return!1}};this.local_storage_remove_item=function(a){try{return localStorage.removeItem(this.get_local_storage_prefix()+a),!0}catch(b){return!1}}}rcube_webmail.long_subject_title=function(k,t){if(!k.title){var a=$(k);a.width()+15*t>a.parent().width()&&(k.title=a.text())}};
+rcube_webmail.long_subject_title_ex=function(k){if(!k.title){var t=$(k),a=$.trim(t.text()),b=$("<span>").text(a).css({position:"absolute","float":"left",visibility:"hidden","font-size":t.css("font-size"),"font-weight":t.css("font-weight")}).appendTo($("body")),d=b.width();b.remove();d+15*$("span.branch",t).width()>t.width()&&(k.title=a)}};rcube_webmail.prototype.get_cookie=getCookie;rcube_webmail.prototype.addEventListener=rcube_event_engine.prototype.addEventListener;
+rcube_webmail.prototype.removeEventListener=rcube_event_engine.prototype.removeEventListener;rcube_webmail.prototype.triggerEvent=rcube_event_engine.prototype.triggerEvent;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/common.js new/roundcubemail-1.0.5-dep/program/js/common.js
--- old/roundcubemail-1.0.4-dep/program/js/common.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/common.js 2015-01-24 16:22:38.000000000 +0100
@@ -93,7 +93,7 @@
this.xmlhttp_test = function()
{
var activeX_test = new Function("try{var o=new ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return false;}");
- this.xmlhttp = (window.XMLHttpRequest || (window.ActiveXObject && activeX_test()));
+ this.xmlhttp = window.XMLHttpRequest || (('ActiveXObject' in window) && activeX_test());
return this.xmlhttp;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/common.min.js new/roundcubemail-1.0.5-dep/program/js/common.min.js
--- old/roundcubemail-1.0.4-dep/program/js/common.min.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/common.min.js 2015-01-24 16:22:38.000000000 +0100
@@ -3,8 +3,8 @@
"en";this.win=0<=this.platform.indexOf("win");this.mac=0<=this.platform.indexOf("mac");this.linux=0<=this.platform.indexOf("linux");this.unix=0<=this.platform.indexOf("unix");this.dom=document.getElementById?!0:!1;this.dom2=document.addEventListener&&document.removeEventListener;this.webkit=0<this.agent_lc.indexOf("applewebkit");(this.ie=document.all&&!window.opera||this.win&&0<this.agent_lc.indexOf("trident/"))?(this.ie6=0<this.appver.indexOf("MSIE 6"),this.ie7=0<this.appver.indexOf("MSIE 7"),this.ie8=
0<this.appver.indexOf("MSIE 8"),this.ie9=0<this.appver.indexOf("MSIE 9")):window.opera?(this.opera=!0,this.vendver=opera.version()):(this.chrome=0<this.agent_lc.indexOf("chrome"),this.safari=!this.chrome&&(this.webkit||0<this.agent_lc.indexOf("safari")),this.konq=0<this.agent_lc.indexOf("konqueror"),this.mz=this.dom&&!this.chrome&&!this.safari&&!this.konq&&0<=this.agent.indexOf("Mozilla"),this.iphone=this.safari&&(0<this.agent_lc.indexOf("iphone")||0<this.agent_lc.indexOf("ipod")),this.ipad=this.safari&&
0<this.agent_lc.indexOf("ipad"));this.vendver||(this.vendver=/(opera|opr|khtml|chrome|safari|applewebkit|msie)(\s|\/)([0-9\.]+)/.test(this.agent_lc)?parseFloat(RegExp.$3):0,this.vendver||(this.vendver=/rv:([0-9\.]+)/.test(this.agent)?parseFloat(RegExp.$1):0));this.safari&&/;\s+([a-z]{2})-[a-z]{2}\)/.test(this.agent_lc)&&(this.lang=RegExp.$1);this.tablet=/ipad|android|xoom|sch-i800|playbook|tablet|kindle/i.test(this.agent_lc);this.touch=(this.mobile=/iphone|ipod|blackberry|iemobile|opera mini|opera mobi|mobile/i.test(this.agent_lc))||
-this.tablet;this.cookies=a.cookieEnabled;this.xmlhttp_test=function(){var a=new Function("try{var o=new ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return false;}");return this.xmlhttp=window.XMLHttpRequest||window.ActiveXObject&&a()};this.set_html_class=function(){var a=" js";this.ie?a+=" ie ie"+parseInt(this.vendver):this.opera?a+=" opera":this.konq?a+=" konqueror":this.safari?a+=" chrome":this.chrome?a+=" chrome":this.mz&&(a+=" mozilla");this.iphone?a+=" iphone":this.ipad?a+=" ipad":
-this.webkit&&(a+=" webkit");this.mobile&&(a+=" mobile");this.tablet&&(a+=" tablet");document.documentElement&&(document.documentElement.className+=a)}}
+this.tablet;this.cookies=a.cookieEnabled;this.xmlhttp_test=function(){var a=new Function("try{var o=new ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return false;}");return this.xmlhttp=window.XMLHttpRequest||"ActiveXObject"in window&&a()};this.set_html_class=function(){var a=" js";this.ie?a+=" ie ie"+parseInt(this.vendver):this.opera?a+=" opera":this.konq?a+=" konqueror":this.safari?a+=" chrome":this.chrome?a+=" chrome":this.mz&&(a+=" mozilla");this.iphone?a+=" iphone":this.ipad?a+=
+" ipad":this.webkit&&(a+=" webkit");this.mobile&&(a+=" mobile");this.tablet&&(a+=" tablet");document.documentElement&&(document.documentElement.className+=a)}}
var rcube_event={get_target:function(a){return(a=a||window.event)&&a.target?a.target:a.srcElement},get_keycode:function(a){return(a=a||window.event)&&a.keyCode?a.keyCode:a&&a.which?a.which:0},get_button:function(a){return(a=a||window.event)&&void 0!==a.button?a.button:a&&a.which?a.which:0},get_modifier:function(a){var b=0;a=a||window.event;bw.mac&&a?b+=(a.metaKey&&CONTROL_KEY)+(a.shiftKey&&SHIFT_KEY):a&&(b+=(a.ctrlKey&&CONTROL_KEY)+(a.shiftKey&&SHIFT_KEY));return b},get_mouse_pos:function(a){a||(a=
window.event);var b=a.pageX?a.pageX:a.clientX,c=a.pageY?a.pageY:a.clientY;document.body&&document.all&&(b+=document.body.scrollLeft,c+=document.body.scrollTop);a._offset&&(b+=a._offset.left,c+=a._offset.top);return{x:b,y:c}},add_listener:function(a){if(a.object&&a.method){a.element||(a.element=document);a.object._rc_events||(a.object._rc_events=[]);var b=a.event+"*"+a.method;a.object._rc_events[b]||(a.object._rc_events[b]=function(b){return a.object[a.method](b)});a.element.addEventListener?a.element.addEventListener(a.event,
a.object._rc_events[b],!1):a.element.attachEvent?(a.element.detachEvent("on"+a.event,a.object._rc_events[b]),a.element.attachEvent("on"+a.event,a.object._rc_events[b])):a.element["on"+a.event]=a.object._rc_events[b]}},remove_listener:function(a){a.element||(a.element=document);var b=a.event+"*"+a.method;a.object&&a.object._rc_events&&a.object._rc_events[b]&&(a.element.removeEventListener?a.element.removeEventListener(a.event,a.object._rc_events[b],!1):a.element.detachEvent?a.element.detachEvent("on"+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/list.js new/roundcubemail-1.0.5-dep/program/js/list.js
--- old/roundcubemail-1.0.4-dep/program/js/list.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/list.js 2015-01-24 16:22:38.000000000 +0100
@@ -118,7 +118,7 @@
row.onmousedown = function(e){ return self.drag_row(e, this.uid); };
row.onmouseup = function(e){ return self.click_row(e, this.uid); };
- if (bw.touch) {
+ if (bw.touch && row.addEventListener) {
row.addEventListener('touchstart', function(e) {
if (e.touches.length == 1) {
self.touchmoved = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/js/list.min.js new/roundcubemail-1.0.5-dep/program/js/list.min.js
--- old/roundcubemail-1.0.4-dep/program/js/list.min.js 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/js/list.min.js 2015-01-24 16:22:38.000000000 +0100
@@ -1,24 +1,24 @@
function rcube_list_widget(a,b){this.ENTER_KEY=13;this.DELETE_KEY=46;this.BACKSPACE_KEY=8;this.tagname=(this.list=a?a:null)?this.list.nodeName.toLowerCase():"table";this.id_regexp=/^rcmrow([a-z0-9\-_=\+\/]+)/i;this.rows={};this.selection=[];this.colcount=this.rowcount=0;this.subject_col=-1;this.modkey=0;this.col_drag_active=this.drag_active=this.toggleselect=this.keyboard=this.column_movable=this.draggable=this.multi_selecting=this.multiexpand=this.multiselect=!1;this.column_fixed=null;this.shift_start=
this.last_selected=0;this.focused=!1;this.drag_mouse_start=null;this.dblclick_time=500;this.row_init=function(){};if(b&&"object"===typeof b)for(var c in b)this[c]=b[c]}
rcube_list_widget.prototype={init:function(){"table"==this.tagname&&this.list&&this.list.tBodies[0]?(this.thead=this.list.tHead,this.tbody=this.list.tBodies[0]):"table"!=this.tagname&&this.list&&(this.tbody=this.list);if(this.tbody){this.rows={};this.rowcount=0;var a,b,c=this.tbody.childNodes;a=0;for(b=c.length;a<b;a++)this.rowcount+=this.init_row(c[a])?1:0;this.init_header();this.frame=this.list.parentNode;this.keyboard&&rcube_event.add_listener({event:"keydown",object:this,method:"key_press"})}return this},
-init_row:function(a){if(a&&String(a.id).match(this.id_regexp)){var b=this,c=RegExp.$1;a.uid=c;this.rows[c]={uid:c,id:a.id,obj:a};a.onmousedown=function(a){return b.drag_row(a,this.uid)};a.onmouseup=function(a){return b.click_row(a,this.uid)};bw.touch&&(a.addEventListener("touchstart",function(a){1==a.touches.length&&(b.touchmoved=!1,b.drag_row(rcube_event.touchevent(a.touches[0]),this.uid))},!1),a.addEventListener("touchend",function(a){1==a.changedTouches.length&&(b.touchmoved||b.click_row(rcube_event.touchevent(a.changedTouches[0]),
-this.uid)||a.preventDefault())},!1),a.addEventListener("touchmove",function(a){1==a.changedTouches.length&&(b.touchmoved=!0,b.drag_active&&a.preventDefault())},!1));document.all&&(a.onselectstart=function(){return!1});this.row_init(this.rows[c]);this.triggerEvent("initrow",this.rows[c]);return!0}},init_header:function(){if(this.thead){this.colcount=0;this.fixed_header?($(this.list.tHead).replaceWith($(this.fixed_header).find("thead").clone()),$(this.list.tHead).find("tr td").attr("style","")):!bw.touch&&
-0<=this.list.className.indexOf("fixedheader")&&this.init_fixed_header();var a,b,c=this;if(this.column_movable&&this.thead&&this.thead.rows)for(b=0;b<this.thead.rows[0].cells.length;b++)this.column_fixed!=b&&(a=this.thead.rows[0].cells[b],a.onmousedown=function(a){return c.drag_column(a,this)},this.colcount++)}},init_fixed_header:function(){var a=$(this.list.tHead).clone();if(this.fixed_header)$(this.fixed_header).find("thead").replaceWith(a);else{this.fixed_header=$("<table>").attr("class",this.list.className+
-" fixedcopy").css({position:"fixed"}).append(a).append("<tbody></tbody>");$(this.list).before(this.fixed_header);var b=this;$(window).resize(function(){b.resize()});$(window).scroll(function(){var a=$(window);b.fixed_header.css("marginLeft",-a.scrollLeft()+"px");bw.webkit||b.fixed_header.css("marginTop",-a.scrollTop()+"px")})}this.thead=a.get(0);this.resize()},resize:function(){if(this.fixed_header){var a=[];$(this.tbody).parent().find("thead tr td").each(function(b){a[b]=$(this).width()});$(this.thead).parent().width($(this.tbody).parent().width());
-$(this.thead).find("tr td").each(function(b){$(this).css("width",a[b])});$(window).scroll()}},clear:function(a){if("table"==this.tagname){var b=document.createElement("tbody");this.list.insertBefore(b,this.tbody);this.list.removeChild(this.list.tBodies[1]);this.tbody=b}else $(this.row_tagname()+":not(.thead)",this.tbody).remove();this.rows={};this.rowcount=0;a&&this.clear_selection();this.frame&&(this.frame.scrollTop=0);this.resize()},remove_row:function(a,b){var c=this,d=this.rows[a]?this.rows[a].obj:
-null;d&&(d.style.display="none",b&&this.select_next(),delete this.rows[a],this.rowcount--,clearTimeout(this.resize_timeout),this.resize_timeout=setTimeout(function(){c.resize()},50))},insert_row:function(a,b){var c=this,d=this.tbody;if(void 0===a.nodeName){var e=document.createElement(this.row_tagname());a.id&&(e.id=a.id);a.className&&(e.className=a.className);a.style&&$.extend(e.style,a.style);for(var f,g,h,k=0;a.cols&&k<a.cols.length;k++){h=a.cols[k];g=document.createElement(this.col_tagname());
-h.className&&(g.className=h.className);h.innerHTML&&(g.innerHTML=h.innerHTML);for(f in h.events)g["on"+f]=h.events[f];e.appendChild(g)}a=e}b&&d.childNodes.length?d.insertBefore(a,"object"==typeof b&&b.parentNode==d?b:d.firstChild):d.appendChild(a);this.init_row(a);this.rowcount++;clearTimeout(this.resize_timeout);this.resize_timeout=setTimeout(function(){c.resize()},50)},update_row:function(a,b,c,d){var e=this.rows[a];if(!e)return!1;for(var e=e.obj,f=0;b&&f<b.length;f++)this.get_cell(e,f).html(b[f]);
-c&&(delete this.rows[a],e.id="rcmrow"+c,this.init_row(e),d&&(this.selection[0]=c))},focus:function(a){var b,c;this.focused=!0;for(b in this.selection)c=this.selection[b],this.rows[c]&&this.rows[c].obj&&$(this.rows[c].obj).addClass("selected").removeClass("unfocused");$("iframe,:focus:not(body)").blur();window.focus();(a||(a=window.event))&&rcube_event.cancel(a)},blur:function(){var a,b;this.focused=!1;for(a in this.selection)b=this.selection[a],this.rows[b]&&this.rows[b].obj&&$(this.rows[b].obj).removeClass("selected focused").addClass("unfocused")},
-drag_column:function(a,b){if(1<this.colcount){this.drag_start=!0;this.drag_mouse_start=rcube_event.get_mouse_pos(a);rcube_event.add_listener({event:"mousemove",object:this,method:"column_drag_mouse_move"});rcube_event.add_listener({event:"mouseup",object:this,method:"column_drag_mouse_up"});this.add_dragfix();for(var c=0;c<this.thead.rows[0].cells.length;c++)if(b==this.thead.rows[0].cells[c]){this.selected_column=c;break}}return!1},drag_row:function(a,b){if(!this.is_event_target(a)||2==rcube_event.get_button(a))return!0;
-this.in_selection_before=a&&a.istouch||this.in_selection(b)?b:!1;if(!this.in_selection_before){var c=rcube_event.get_modifier(a);this.select_row(b,c,!0)}this.draggable&&this.selection.length&&this.in_selection(b)&&(this.drag_start=!0,this.drag_mouse_start=rcube_event.get_mouse_pos(a),rcube_event.add_listener({event:"mousemove",object:this,method:"drag_mouse_move"}),rcube_event.add_listener({event:"mouseup",object:this,method:"drag_mouse_up"}),bw.touch&&(rcube_event.add_listener({event:"touchmove",
-object:this,method:"drag_mouse_move"}),rcube_event.add_listener({event:"touchend",object:this,method:"drag_mouse_up"})),this.add_dragfix());return!1},click_row:function(a,b){if(!this.is_event_target(a))return!0;var c=(new Date).getTime(),d=c-this.rows[b].clicked<this.dblclick_time;this.drag_active||d||this.in_selection_before!=b||this.select_row(b,rcube_event.get_modifier(a),!0);this.in_selection_before=this.drag_start=!1;this.rowcount&&d&&this.in_selection(b)?(this.triggerEvent("dblclick"),c=0):
-this.triggerEvent("click");this.drag_active||(this.del_dragfix(),rcube_event.cancel(a));this.rows[b].clicked=c;return!1},is_event_target:function(a){a=rcube_event.get_target(a);var b=a.tagName.toLowerCase();return!(a&&("input"==b||"img"==b||"a"!=b&&a.onclick))},find_root:function(a){var b=this.rows[a];return b&&b.parent_uid?this.find_root(b.parent_uid):a},expand_row:function(a,b){var c=this.rows[b],d=rcube_event.get_target(a),e=rcube_event.get_modifier(a);c.clicked=0;c.expanded?(d.className="collapsed",
-e==CONTROL_KEY||this.multiexpand?this.collapse_all(c):this.collapse(c)):(d.className="expanded",e==CONTROL_KEY||this.multiexpand?this.expand_all(c):this.expand(c))},collapse:function(a){var b=a.depth,c=a?a.obj.nextSibling:null;a.expanded=!1;for(this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj});c;){if(1==c.nodeType){if((a=this.rows[c.uid])&&a.depth<=b)break;$(c).css("display","none");a.expanded&&(a.expanded=!1,this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,
-obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},expand:function(a){var b,c,d,e,f;a?(a.expanded=!0,d=a.depth,e=a.obj.nextSibling,this.update_expando(a.uid,!0),this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj})):(e=this.tbody.firstChild,f=d=0);for(;e;){if(1==e.nodeType&&(b=this.rows[e.uid])){if(a&&(!b.depth||b.depth<=d))break;if(b.parent_uid)if((c=this.rows[b.parent_uid])&&c.expanded){if(a&&c==a||f>=c.depth-1)f=c.depth,$(e).css("display",""),
-b.expanded=!0,this.triggerEvent("expandcollapse",{uid:b.uid,expanded:b.expanded,obj:e})}else if(a&&(!c||c.depth<=d))break}e=e.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},collapse_all:function(a){var b,c,d;if(a){if(a.expanded=!1,b=a.depth,c=a.obj.nextSibling,this.update_expando(a.uid),this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj}),b&&this.multiexpand)return!1}else c=this.tbody.firstChild,b=0;for(;c;){if(1==c.nodeType&&(d=this.rows[c.uid])){if(a&&
-(!d.depth||d.depth<=b))break;(a||d.depth)&&$(c).css("display","none");d.has_children&&d.expanded&&(d.expanded=!1,this.update_expando(d.uid,!1),this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded,obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},expand_all:function(a){var b,c,d;a?(a.expanded=!0,b=a.depth,c=a.obj.nextSibling,this.update_expando(a.uid,!0),this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj})):(c=this.tbody.firstChild,
-b=0);for(;c;){if(1==c.nodeType&&(d=this.rows[c.uid])){if(a&&d.depth<=b)break;$(c).css("display","");d.has_children&&!d.expanded&&(d.expanded=!0,this.update_expando(d.uid,!0),this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded,obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},update_expando:function(a,b){var c=document.getElementById("rcmexpando"+a);c&&(c.className=b?"expanded":"collapsed")},get_next_row:function(){if(!this.rowcount)return!1;for(var a=this.rows[this.last_selected],
-a=a?a.obj.nextSibling:null;a&&(1!=a.nodeType||"none"==a.style.display);)a=a.nextSibling;return a},get_prev_row:function(){if(!this.rowcount)return!1;for(var a=this.rows[this.last_selected],a=a?a.obj.previousSibling:null;a&&(1!=a.nodeType||"none"==a.style.display);)a=a.previousSibling;return a},get_first_row:function(){if(this.rowcount){var a,b,c=this.tbody.childNodes;a=0;for(b=c.length-1;a<b;a++)if(c[a].id&&String(c[a].id).match(this.id_regexp)&&null!=this.rows[RegExp.$1])return RegExp.$1}return null},
+init_row:function(a){if(a&&String(a.id).match(this.id_regexp)){var b=this,c=RegExp.$1;a.uid=c;this.rows[c]={uid:c,id:a.id,obj:a};a.onmousedown=function(a){return b.drag_row(a,this.uid)};a.onmouseup=function(a){return b.click_row(a,this.uid)};bw.touch&&a.addEventListener&&(a.addEventListener("touchstart",function(a){1==a.touches.length&&(b.touchmoved=!1,b.drag_row(rcube_event.touchevent(a.touches[0]),this.uid))},!1),a.addEventListener("touchend",function(a){1==a.changedTouches.length&&(b.touchmoved||
+b.click_row(rcube_event.touchevent(a.changedTouches[0]),this.uid)||a.preventDefault())},!1),a.addEventListener("touchmove",function(a){1==a.changedTouches.length&&(b.touchmoved=!0,b.drag_active&&a.preventDefault())},!1));document.all&&(a.onselectstart=function(){return!1});this.row_init(this.rows[c]);this.triggerEvent("initrow",this.rows[c]);return!0}},init_header:function(){if(this.thead){this.colcount=0;this.fixed_header?($(this.list.tHead).replaceWith($(this.fixed_header).find("thead").clone()),
+$(this.list.tHead).find("tr td").attr("style","")):!bw.touch&&0<=this.list.className.indexOf("fixedheader")&&this.init_fixed_header();var a,b,c=this;if(this.column_movable&&this.thead&&this.thead.rows)for(b=0;b<this.thead.rows[0].cells.length;b++)this.column_fixed!=b&&(a=this.thead.rows[0].cells[b],a.onmousedown=function(a){return c.drag_column(a,this)},this.colcount++)}},init_fixed_header:function(){var a=$(this.list.tHead).clone();if(this.fixed_header)$(this.fixed_header).find("thead").replaceWith(a);
+else{this.fixed_header=$("<table>").attr("class",this.list.className+" fixedcopy").css({position:"fixed"}).append(a).append("<tbody></tbody>");$(this.list).before(this.fixed_header);var b=this;$(window).resize(function(){b.resize()});$(window).scroll(function(){var a=$(window);b.fixed_header.css("marginLeft",-a.scrollLeft()+"px");bw.webkit||b.fixed_header.css("marginTop",-a.scrollTop()+"px")})}this.thead=a.get(0);this.resize()},resize:function(){if(this.fixed_header){var a=[];$(this.tbody).parent().find("thead tr td").each(function(b){a[b]=
+$(this).width()});$(this.thead).parent().width($(this.tbody).parent().width());$(this.thead).find("tr td").each(function(b){$(this).css("width",a[b])});$(window).scroll()}},clear:function(a){if("table"==this.tagname){var b=document.createElement("tbody");this.list.insertBefore(b,this.tbody);this.list.removeChild(this.list.tBodies[1]);this.tbody=b}else $(this.row_tagname()+":not(.thead)",this.tbody).remove();this.rows={};this.rowcount=0;a&&this.clear_selection();this.frame&&(this.frame.scrollTop=0);
+this.resize()},remove_row:function(a,b){var c=this,d=this.rows[a]?this.rows[a].obj:null;d&&(d.style.display="none",b&&this.select_next(),delete this.rows[a],this.rowcount--,clearTimeout(this.resize_timeout),this.resize_timeout=setTimeout(function(){c.resize()},50))},insert_row:function(a,b){var c=this,d=this.tbody;if(void 0===a.nodeName){var e=document.createElement(this.row_tagname());a.id&&(e.id=a.id);a.className&&(e.className=a.className);a.style&&$.extend(e.style,a.style);for(var f,g,h,k=0;a.cols&&
+k<a.cols.length;k++){h=a.cols[k];g=document.createElement(this.col_tagname());h.className&&(g.className=h.className);h.innerHTML&&(g.innerHTML=h.innerHTML);for(f in h.events)g["on"+f]=h.events[f];e.appendChild(g)}a=e}b&&d.childNodes.length?d.insertBefore(a,"object"==typeof b&&b.parentNode==d?b:d.firstChild):d.appendChild(a);this.init_row(a);this.rowcount++;clearTimeout(this.resize_timeout);this.resize_timeout=setTimeout(function(){c.resize()},50)},update_row:function(a,b,c,d){var e=this.rows[a];if(!e)return!1;
+for(var e=e.obj,f=0;b&&f<b.length;f++)this.get_cell(e,f).html(b[f]);c&&(delete this.rows[a],e.id="rcmrow"+c,this.init_row(e),d&&(this.selection[0]=c))},focus:function(a){var b,c;this.focused=!0;for(b in this.selection)c=this.selection[b],this.rows[c]&&this.rows[c].obj&&$(this.rows[c].obj).addClass("selected").removeClass("unfocused");$("iframe,:focus:not(body)").blur();window.focus();(a||(a=window.event))&&rcube_event.cancel(a)},blur:function(){var a,b;this.focused=!1;for(a in this.selection)b=this.selection[a],
+this.rows[b]&&this.rows[b].obj&&$(this.rows[b].obj).removeClass("selected focused").addClass("unfocused")},drag_column:function(a,b){if(1<this.colcount){this.drag_start=!0;this.drag_mouse_start=rcube_event.get_mouse_pos(a);rcube_event.add_listener({event:"mousemove",object:this,method:"column_drag_mouse_move"});rcube_event.add_listener({event:"mouseup",object:this,method:"column_drag_mouse_up"});this.add_dragfix();for(var c=0;c<this.thead.rows[0].cells.length;c++)if(b==this.thead.rows[0].cells[c]){this.selected_column=
+c;break}}return!1},drag_row:function(a,b){if(!this.is_event_target(a)||2==rcube_event.get_button(a))return!0;this.in_selection_before=a&&a.istouch||this.in_selection(b)?b:!1;if(!this.in_selection_before){var c=rcube_event.get_modifier(a);this.select_row(b,c,!0)}this.draggable&&this.selection.length&&this.in_selection(b)&&(this.drag_start=!0,this.drag_mouse_start=rcube_event.get_mouse_pos(a),rcube_event.add_listener({event:"mousemove",object:this,method:"drag_mouse_move"}),rcube_event.add_listener({event:"mouseup",
+object:this,method:"drag_mouse_up"}),bw.touch&&(rcube_event.add_listener({event:"touchmove",object:this,method:"drag_mouse_move"}),rcube_event.add_listener({event:"touchend",object:this,method:"drag_mouse_up"})),this.add_dragfix());return!1},click_row:function(a,b){if(!this.is_event_target(a))return!0;var c=(new Date).getTime(),d=c-this.rows[b].clicked<this.dblclick_time;this.drag_active||d||this.in_selection_before!=b||this.select_row(b,rcube_event.get_modifier(a),!0);this.in_selection_before=this.drag_start=
+!1;this.rowcount&&d&&this.in_selection(b)?(this.triggerEvent("dblclick"),c=0):this.triggerEvent("click");this.drag_active||(this.del_dragfix(),rcube_event.cancel(a));this.rows[b].clicked=c;return!1},is_event_target:function(a){a=rcube_event.get_target(a);var b=a.tagName.toLowerCase();return!(a&&("input"==b||"img"==b||"a"!=b&&a.onclick))},find_root:function(a){var b=this.rows[a];return b&&b.parent_uid?this.find_root(b.parent_uid):a},expand_row:function(a,b){var c=this.rows[b],d=rcube_event.get_target(a),
+e=rcube_event.get_modifier(a);c.clicked=0;c.expanded?(d.className="collapsed",e==CONTROL_KEY||this.multiexpand?this.collapse_all(c):this.collapse(c)):(d.className="expanded",e==CONTROL_KEY||this.multiexpand?this.expand_all(c):this.expand(c))},collapse:function(a){var b=a.depth,c=a?a.obj.nextSibling:null;a.expanded=!1;for(this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj});c;){if(1==c.nodeType){if((a=this.rows[c.uid])&&a.depth<=b)break;$(c).css("display","none");a.expanded&&
+(a.expanded=!1,this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},expand:function(a){var b,c,d,e,f;a?(a.expanded=!0,d=a.depth,e=a.obj.nextSibling,this.update_expando(a.uid,!0),this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj})):(e=this.tbody.firstChild,f=d=0);for(;e;){if(1==e.nodeType&&(b=this.rows[e.uid])){if(a&&(!b.depth||b.depth<=d))break;if(b.parent_uid)if((c=this.rows[b.parent_uid])&&
+c.expanded){if(a&&c==a||f>=c.depth-1)f=c.depth,$(e).css("display",""),b.expanded=!0,this.triggerEvent("expandcollapse",{uid:b.uid,expanded:b.expanded,obj:e})}else if(a&&(!c||c.depth<=d))break}e=e.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},collapse_all:function(a){var b,c,d;if(a){if(a.expanded=!1,b=a.depth,c=a.obj.nextSibling,this.update_expando(a.uid),this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded,obj:a.obj}),b&&this.multiexpand)return!1}else c=this.tbody.firstChild,
+b=0;for(;c;){if(1==c.nodeType&&(d=this.rows[c.uid])){if(a&&(!d.depth||d.depth<=b))break;(a||d.depth)&&$(c).css("display","none");d.has_children&&d.expanded&&(d.expanded=!1,this.update_expando(d.uid,!1),this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded,obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},expand_all:function(a){var b,c,d;a?(a.expanded=!0,b=a.depth,c=a.obj.nextSibling,this.update_expando(a.uid,!0),this.triggerEvent("expandcollapse",{uid:a.uid,
+expanded:a.expanded,obj:a.obj})):(c=this.tbody.firstChild,b=0);for(;c;){if(1==c.nodeType&&(d=this.rows[c.uid])){if(a&&d.depth<=b)break;$(c).css("display","");d.has_children&&!d.expanded&&(d.expanded=!0,this.update_expando(d.uid,!0),this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded,obj:c}))}c=c.nextSibling}this.resize();this.triggerEvent("listupdate");return!1},update_expando:function(a,b){var c=document.getElementById("rcmexpando"+a);c&&(c.className=b?"expanded":"collapsed")},get_next_row:function(){if(!this.rowcount)return!1;
+for(var a=this.rows[this.last_selected],a=a?a.obj.nextSibling:null;a&&(1!=a.nodeType||"none"==a.style.display);)a=a.nextSibling;return a},get_prev_row:function(){if(!this.rowcount)return!1;for(var a=this.rows[this.last_selected],a=a?a.obj.previousSibling:null;a&&(1!=a.nodeType||"none"==a.style.display);)a=a.previousSibling;return a},get_first_row:function(){if(this.rowcount){var a,b,c=this.tbody.childNodes;a=0;for(b=c.length-1;a<b;a++)if(c[a].id&&String(c[a].id).match(this.id_regexp)&&null!=this.rows[RegExp.$1])return RegExp.$1}return null},
get_last_row:function(){if(this.rowcount){var a,b=this.tbody.childNodes;for(a=b.length-1;0<=a;a--)if(b[a].id&&String(b[a].id).match(this.id_regexp)&&null!=this.rows[RegExp.$1])return RegExp.$1}return null},row_tagname:function(){var a={table:"tr",ul:"li","*":"div"};return a[this.tagname]||a["*"]},col_tagname:function(){var a={table:"td","*":"span"};return a[this.tagname]||a["*"]},get_cell:function(a,b){return $(this.col_tagname(),a).eq(b)},select_row:function(a,b,c){var d=this.selection.join(",");
this.multiselect||(b=0);this.shift_start||(this.shift_start=a);if(b){switch(b){case SHIFT_KEY:this.shift_select(a,!1);break;case CONTROL_KEY:c&&(this.shift_start=a,this.highlight_row(a,!0));break;case CONTROL_SHIFT_KEY:this.shift_select(a,!0);break;default:this.highlight_row(a,!1)}this.multi_selecting=!0}else this.shift_start=a,this.highlight_row(a,!1),this.multi_selecting=!1;this.selection.join(",")!=d&&this.triggerEvent("select");0!=this.last_selected&&this.rows[this.last_selected]&&$(this.rows[this.last_selected].obj).removeClass("focused");
this.toggleselect&&this.last_selected==a?(this.clear_selection(),a=null):$(this.rows[a].obj).addClass("focused");this.selection.length||(this.shift_start=null);this.last_selected=a},select:function(a){this.select_row(a,!1);this.scrollto(a)},select_next:function(){var a=this.get_next_row(),b=this.get_prev_row();(a=a?a:b)&&this.select_row(a.uid,!1,!1)},select_first:function(a){var b=this.get_first_row();b&&(this.select_row(b,a,!1),this.scrollto(b))},select_last:function(a){var b=this.get_last_row();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/lib/Roundcube/bootstrap.php new/roundcubemail-1.0.5-dep/program/lib/Roundcube/bootstrap.php
--- old/roundcubemail-1.0.4-dep/program/lib/Roundcube/bootstrap.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/lib/Roundcube/bootstrap.php 2015-01-24 16:22:38.000000000 +0100
@@ -54,7 +54,7 @@
}
// framework constants
-define('RCUBE_VERSION', '1.0.4');
+define('RCUBE_VERSION', '1.0.5');
define('RCUBE_CHARSET', 'UTF-8');
if (!defined('RCUBE_LIB_DIR')) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_ldap.php new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_ldap.php
--- old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_ldap.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_ldap.php 2015-01-24 16:22:38.000000000 +0100
@@ -116,13 +116,14 @@
// fieldmap property is given
if (is_array($p['fieldmap'])) {
+ $p['fieldmap'] = array_filter($p['fieldmap']);
foreach ($p['fieldmap'] as $rf => $lf)
$this->fieldmap[$rf] = $this->_attr_name(strtolower($lf));
}
else if (!empty($p)) {
// read deprecated *_field properties to remain backwards compatible
foreach ($p as $prop => $value)
- if (preg_match('/^(.+)_field$/', $prop, $matches))
+ if (!empty($value) && preg_match('/^(.+)_field$/', $prop, $matches))
$this->fieldmap[$matches[1]] = $this->_attr_name(strtolower($value));
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_message.php new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_message.php
--- old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_message.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_message.php 2015-01-24 16:22:38.000000000 +0100
@@ -765,24 +765,43 @@
}
$parts = array();
- // FIXME: line length is max.65?
- $uu_regexp = '/begin [0-7]{3,4} ([^\n]+)\n/s';
+
+ // uuencode regexp
+ $uu_regexp = '/^(begin [0-7]{3,4} ([^\n]+)\n)(([\x21-\x60]{0,65}\n){0,2})([\x21-\x60]{0,65}|`\nend)\s*\n/sm';
if (preg_match_all($uu_regexp, $part->body, $matches, PREG_SET_ORDER)) {
$uu_endstring = "`\nend\n";
// add attachments to the structure
foreach ($matches as $pid => $att) {
- $startpos = strpos($part->body, $att[1]) + strlen($att[1]) + 1; // "\n"
+ // make sure we're looking at a uuencoded file, and not a false positive
+ $uu_lines = explode("\n", $att[3]);
+ foreach ($uu_lines as $uu_line) {
+ if ( strlen($uu_line) == 0 ) {
+ continue;
+ }
+ $line_len = (ord(substr($uu_line, 0, 1)) - 32) & 0x3F;
+ $max_code_len = floor( ($line_len+2)/3 ) * 4;
+ $min_code_len = ceil( $line_len/3 * 4);
+ if ( strlen($uu_line)-1 < $min_code_len
+ or strlen($uu_line)-1 > $max_code_len )
+ {
+ // illegal uuencode, break out of 'foreach $matches' loop
+ break 2;
+ }
+ }
+
+ $startpos = strpos($part->body, $att[0]) + strlen($att[1]);
$endpos = strpos($part->body, $uu_endstring);
$filebody = substr($part->body, $startpos, $endpos-$startpos);
// remove attachments bodies from the message body
- $part->body = substr_replace($part->body, "", $startpos, $endpos+strlen($uu_endstring)-$startpos);
-
+ $uu_startpos = $startpos - strlen($att[1]);
+ $part->body = substr_replace($part->body, "", $uu_startpos, $endpos+strlen($uu_endstring)-$uu_startpos);
+
$uupart = new rcube_message_part;
- $uupart->filename = trim($att[1]);
+ $uupart->filename = trim($att[2]);
$uupart->encoding = 'stream';
$uupart->body = convert_uudecode($filebody);
$uupart->size = strlen($uupart->body);
@@ -796,8 +815,6 @@
unset($matches[$pid]);
}
- // remove attachments bodies from the message body
- $part->body = preg_replace($uu_regexp, '', $part->body);
// mark body as modified so it will not be cached by rcube_imap_cache
$part->body_modified = true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_washtml.php new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_washtml.php
--- old/roundcubemail-1.0.4-dep/program/lib/Roundcube/rcube_washtml.php 2014-12-18 13:33:47.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/lib/Roundcube/rcube_washtml.php 2015-01-24 16:22:38.000000000 +0100
@@ -243,8 +243,8 @@
$t .= ' ' . $key . '="' . htmlspecialchars($value, ENT_QUOTES) . '"';
}
else if ($key == 'style' && ($style = $this->wash_style($value))) {
- $quot = strpos($style, '"') !== false ? "'" : '"';
- $t .= ' style=' . $quot . $style . $quot;
+ // replace double quotes to prevent syntax error and XSS issues (#1490227)
+ $t .= ' style="' . str_replace('"', '"', $style) . '"';
}
else if ($key == 'background' || ($key == 'src' && strtolower($node->tagName) == 'img')) { //check tagName anyway
if (($src = $this->config['cid_map'][$value])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/steps/addressbook/export.inc new/roundcubemail-1.0.5-dep/program/steps/addressbook/export.inc
--- old/roundcubemail-1.0.4-dep/program/steps/addressbook/export.inc 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/steps/addressbook/export.inc 2015-01-24 16:22:38.000000000 +0100
@@ -131,8 +131,13 @@
foreach ($record as $key => $values) {
list($field, $section) = explode(':', $key);
- foreach ((array)$values as $value) {
- if (is_array($value) || @strlen($value)) {
+ // avoid casting DateTime objects to array
+ // (same as in rcube_contacts::convert_save_data())
+ if (is_object($values) && is_a($values, 'DateTime')) {
+ $values = array(0 => $values);
+ }
+ foreach ($values as $value) {
+ if (is_array($value) || is_a($value, 'DateTime') || @strlen($value)) {
$vcard->set($field, $value, strtoupper($section));
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/steps/mail/sendmail.inc new/roundcubemail-1.0.5-dep/program/steps/mail/sendmail.inc
--- old/roundcubemail-1.0.4-dep/program/steps/mail/sendmail.inc 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/steps/mail/sendmail.inc 2015-01-24 16:22:38.000000000 +0100
@@ -541,8 +541,10 @@
$store_target = $drafts_mbox;
}
else if (!$RCMAIL->config->get('no_save_sent_messages')) {
- $store_target = rcube_utils::get_input_value('_store_target', rcube_utils::INPUT_POST);
- if (!strlen($store_target)) {
+ if (isset($_POST['_store_target'])) {
+ $store_target = rcube_utils::get_input_value('_store_target', rcube_utils::INPUT_POST);
+ }
+ else {
$store_target = $RCMAIL->config->get('sent_mbox');
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/steps/settings/edit_identity.inc new/roundcubemail-1.0.5-dep/program/steps/settings/edit_identity.inc
--- old/roundcubemail-1.0.4-dep/program/steps/settings/edit_identity.inc 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/steps/settings/edit_identity.inc 2015-01-24 16:22:38.000000000 +0100
@@ -109,6 +109,11 @@
$IDENTITY_RECORD['signature'] = htmlspecialchars($IDENTITY_RECORD['signature'], ENT_NOQUOTES, RCUBE_CHARSET);
}
+ // hide "default" checkbox if only one identity is allowed
+ if (IDENTITIES_LEVEL > 1) {
+ unset($form['addressing']['content']['standard']);
+ }
+
// disable some field according to access level
if (IDENTITIES_LEVEL == 1 || IDENTITIES_LEVEL == 3) {
$form['addressing']['content']['email']['disabled'] = true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/steps/settings/func.inc new/roundcubemail-1.0.5-dep/program/steps/settings/func.inc
--- old/roundcubemail-1.0.4-dep/program/steps/settings/func.inc 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/steps/settings/func.inc 2015-01-24 16:22:38.000000000 +0100
@@ -219,7 +219,7 @@
foreach (DateTimeZone::listIdentifiers() as $i => $tzs) {
try {
$tz = new DateTimeZone($tzs);
- $date = new DateTime('2012-12-21', $tz);
+ $date = new DateTime(date('Y') . '-12-21', $tz);
$offset = $date->format('Z') + 45000;
$sortkey = sprintf('%06d.%s', $offset, $tzs);
$zones[$sortkey] = array($tzs, $date->format('P'));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/program/steps/settings/save_identity.inc new/roundcubemail-1.0.5-dep/program/steps/settings/save_identity.inc
--- old/roundcubemail-1.0.4-dep/program/steps/settings/save_identity.inc 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/program/steps/settings/save_identity.inc 2015-01-24 16:22:38.000000000 +0100
@@ -49,6 +49,11 @@
}
}
+// make the identity a "default" if only one identity is allowed
+if (IDENTITIES_LEVEL > 1) {
+ $save_data['standard'] = 1;
+}
+
// unset email address if user has no rights to change it
if (IDENTITIES_LEVEL == 1 || IDENTITIES_LEVEL == 3) {
unset($save_data['email']);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/skins/classic/mail.css new/roundcubemail-1.0.5-dep/skins/classic/mail.css
--- old/roundcubemail-1.0.4-dep/skins/classic/mail.css 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/skins/classic/mail.css 2015-01-24 16:22:38.000000000 +0100
@@ -173,11 +173,11 @@
}
#messagetoolbar a.download {
- background-position: -480px 0;
+ background-position: -514px 0;
}
#messagetoolbar a.downloadSel {
- background-position: -480px -32px;
+ background-position: -514px -32px;
}
#messagetoolbar a.responses {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/roundcubemail-1.0.4-dep/skins/classic/mail.min.css new/roundcubemail-1.0.5-dep/skins/classic/mail.min.css
--- old/roundcubemail-1.0.4-dep/skins/classic/mail.min.css 2014-12-18 13:33:48.000000000 +0100
+++ new/roundcubemail-1.0.5-dep/skins/classic/mail.min.css 2015-01-24 16:22:38.000000000 +0100
@@ -1 +1 @@
-#messagetoolbar{position:absolute;top:47px;left:205px;right:10px;height:35px;min-width:650px;white-space:nowrap}.extwin #messagetoolbar{top:5px;left:20px}#messagetoolbar a,#messagetoolbar select{display:block;float:left;padding-right:10px}#messagetoolbar a.button,#messagetoolbar a.buttonPas{display:block;float:left;width:32px;height:32px;padding:0;margin:0 5px;overflow:hidden;background:url(images/mail_toolbar.png?v=08c3.42883) 0 0 no-repeat transparent;opacity:.99}#messagetoolbar a.buttonPas{opacity:.35}#messagetoolbar a.button.selected{background-color:#ddd;margin-left:4px;margin-right:4px;margin-top:-1px;border:1px solid #ccc;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}#messagetoolbar a.checkmailSel{background-position:0 -32px}#messagetoolbar a.back{background-position:-32px 0}#messagetoolbar a.backSel{background-position:-32px -32px}#messagetoolbar a.compose{background-position:-64px 0}#messagetoolbar a.composeSel{background-position:-64px -32px}#messagetoolbar a.reply{background-position:-96px 0}#messagetoolbar a.replySel{background-position:-96px -32px}#messagetoolbar a.replyAll{background-position:-128px 0}#messagetoolbar a.replyAllSel{background-position:-128px -32px}#messagetoolbar a.forward{background-position:-160px 0}#messagetoolbar a.forwardSel{background-position:-160px -32px}#messagetoolbar a.delete{background-position:-192px 0}#messagetoolbar a.deleteSel{background-position:-192px -32px}#messagetoolbar a.print{background-position:-256px 0}#messagetoolbar a.printSel{background-position:-256px -32px}#messagetoolbar a.markmessage{background-position:-288px 0}#messagetoolbar a.messagemenu{background-position:-320px 0;width:34px}#messagetoolbar a.spellcheck{background-position:-418px 0}#messagetoolbar a.spellcheckSel{background-position:-418px -32px}#messagetoolbar a.attach{background-position:-386px 0}#messagetoolbar a.attachSel{background-position:-386px -32px}#messagetoolbar a.insertsig{background-position:-482px 0}#messagetoolbar a.insertsigSel{background-position:-482px -32px}#messagetoolbar a.savedraft{background-position:-354px 0}#messagetoolbar a.savedraftSel{background-position:-354px -32px}#messagetoolbar a.send{background-position:-450px 0}#messagetoolbar a.sendSel{background-position:-450px -32px}#messagetoolbar a.move{background-position:-580px 0}#messagetoolbar a.moveSel{background-position:-580px -32px}#messagetoolbar a.download{background-position:-480px 0}#messagetoolbar a.downloadSel{background-position:-480px -32px}#messagetoolbar a.responses{background-position:-548px 0}#messagemenu li a.active:hover,#attachmentmenu li a.active:hover,#markmessagemenu li a.active:hover{color:#fff;background-color:#c00}#messagemenu li a,#attachmentmenu li a{background:url(images/messageactions.png?v=d93e.3223) no-repeat 7px 0;background-position:7px 20px}#messagemenu li a.printlink{background-position:7px 1px}#messagemenu li a.downloadlink,#attachmentmenu li a.downloadlink{background-position:7px -17px}#messagemenu li a.sourcelink{background-position:7px -35px}#messagemenu li a.openlink,#attachmentmenu li a.openlink{background-position:7px -52px}#messagemenu li a.editlink{background-position:6px -70px}#messagemenu li a.movelink{background-position:6px -161px}#messagemenu li a.copylink{background-position:6px -143px}#markmessagemenu li a,#compose-attachments li a{background:url(images/messageicons.png?v=9df0.3673) no-repeat}#markmessagemenu li a.readlink{background-position:7px -51px}#markmessagemenu li a.unreadlink{background-position:7px -119px}#markmessagemenu li a.flaggedlink{background-position:7px -153px}#markmessagemenu li a.unflaggedlink{background-position:7px -136px}#searchfilter{white-space:nowrap;position:absolute;right:198px;vertical-align:middle}#searchfilter label{font-size:11px}#mailleftcontainer{position:absolute;top:0;left:0;bottom:0;width:160px}#mailrightcontainer{position:absolute;top:0;left:170px;bottom:0;right:0;min-width:600px}#mailrightcontent{position:absolute;top:0;left:0;right:0;bottom:0}#messagepartcontainer{position:absolute;top:0;left:170px;right:0;bottom:0}#messagepartheader{position:absolute;top:0;bottom:0;left:0;width:160px;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}#messagepartheader table{width:100%;table-layout:fixed}#messagepartheader table td{text-overflow:ellipsis}#messagepartheader table td.title{width:60px}#mailcontframe{position:absolute;width:100%;top:0;bottom:0;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}#mailpreviewframe{position:absolute;width:100%;top:205px;bottom:0;border:1px solid #999;background-color:#f9f9f9}#messagecontframe{position:relative;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:100%}#messagepartframe{width:100%;height:100%;min-height:100%;border:1px solid #999;background-color:#fff}#mailboxlist-container{position:absolute;top:0;left:0;width:100%;bottom:0;border:1px solid #999;background-color:#f9f9f9}#mailboxlist{position:relative;height:auto;margin:0;padding:0;list-style-image:none;list-style-type:none;overflow:hidden;white-space:nowrap;background-color:#FFF}#mailboxlist li{display:block;position:relative;font-size:11px;border-bottom:1px solid #ebebeb}#mailboxlist li ul li:last-child{border-bottom:0 none}#mailboxlist li.inbox a{background-position:5px -18px}#mailboxlist li.drafts a{background-position:5px -37px}#mailboxlist li.sent a{background-position:5px -54px}#mailboxlist li.junk a{background-position:5px -73px}#mailboxlist li.trash a{background-position:5px -180px}#mailboxlist li.trash.empty a{background-position:5px -90px}#mailboxlist li a{cursor:default;display:block;position:relative;padding-left:25px;padding-top:2px;padding-bottom:2px;text-decoration:none;height:15px;background:url(images/icons/folders.png?v=d9d2.5356) 5px 0 no-repeat}#mailboxlist li.unread{font-weight:bold}#mailboxlist li.virtual>a{color:#666}#mailboxlist li.recent>a{color:#06f}#mailboxlist li.selected,#mailboxlist li.droptarget li.selected{background-color:#929292}#mailboxlist li.selected>a,#mailboxlist li.droptarget li.selected a{color:#FFF;font-weight:bold}#mailboxlist li.droptarget{background-color:#ffffa6}#mailboxlist ul{list-style:none;padding:0;margin:0;border-top:1px solid #ebebeb;background-color:#FFF;font-weight:normal}#mailboxlist li.mailbox ul li a{padding-left:40px;background-position:20px 0}#mailboxlist li.mailbox ul li div.treetoggle{left:23px !important}#mailboxlist li.mailbox ul ul li.mailbox a{padding-left:56px;background-position:36px 0}#mailboxlist li.mailbox ul ul li div.treetoggle{left:39px !important}#mailboxlist li.mailbox ul ul ul li.mailbox a{padding-left:72px;background-position:52px 0}#mailboxlist li.mailbox ul ul ul li div.treetoggle{left:55px !important}#mailboxlist li.mailbox ul ul ul ul li.mailbox a{padding-left:88px;background-position:68px 0}#mailboxlist li.mailbox ul ul ul ul li div.treetoggle{left:71px !important}#mailboxlist li.mailbox ul ul ul ul ul li{padding-left:16px}#mailboxlist li.mailbox ul ul ul ul ul li div.treetoggle{left:87px !important}#mailboxlist li.mailbox ul li.drafts a{background-position:21px -37px}#mailboxlist li.mailbox ul li.sent a{background-position:21px -54px}#mailboxlist li.mailbox ul li.junk a{background-position:21px -73px}#mailboxlist li.mailbox ul li.trash a{background-position:21px -180px}#mailboxlist li.mailbox ul li.trash.empty a{background-position:21px -90px}#listcontrols{position:relative;white-space:nowrap;line-height:22px;padding:0 4px;width:auto;min-width:300px}#listcontrols a,#listcontrols span{display:block;float:left;font-size:11px}#listcontrols span input{vertical-align:middle}#listcontrols a.button,#listcontrols a.buttonPas{display:block;float:left;width:15px;height:15px;padding:0;margin-top:4px;margin-right:2px;overflow:hidden;background:url(images/mail_footer.png?v=819f.977) 0 0 no-repeat transparent;opacity:.99}#listcontrols a.buttonPas{opacity:.35}#listcontrols a.all{background-position:-30px 0}#listcontrols a.allsel{background-position:-30px -15px}#listcontrols a.page{background-position:-135px 0}#listcontrols a.pagesel{background-position:-135px -15px}#listcontrols a.unread{background-position:-45px 0}#listcontrols a.unreadsel{background-position:-45px -15px}#listcontrols a.invert{background-position:-60px 0}#listcontrols a.invertsel{background-position:-60px -15px}#listcontrols a.none{background-position:-75px 0}#listcontrols a.nonesel{background-position:-75px -15px}#listcontrols a.expand-all{background-position:-90px 0}#listcontrols a.expand-allsel{background-position:-90px -15px}#listcontrols a.collapse-all{background-position:-105px 0}#listcontrols a.collapse-allsel{background-position:-105px -15px}#listcontrols a.expand-unread{background-position:-120px 0}#listcontrols a.expand-unreadsel{background-position:-120px -15px}#countcontrols{position:absolute;top:4px;right:4px;white-space:nowrap;font-size:11px}#countcontrols a.button,#countcontrols a.buttonPas{float:right}body.messagelist{margin:0;background-color:#f9f9f9}table.messagelist{width:100%;display:table;table-layout:fixed;border-collapse:collapse;border-spacing:0;z-index:1}table.messagelist.fixedcopy{z-index:2}.messagelist thead tr td{height:20px;padding:0 4px 0 2px;vertical-align:middle;border-bottom:1px solid #999;color:#333;background:url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;font-size:11px;font-weight:bold}.messagelist thead tr td.sortedASC,.messagelist thead tr td.sortedDESC{background-position:0 -26px}.messagelist thead tr td.sortedASC a{background:url(images/icons/sort.gif?v=92aa.144) right 0 no-repeat}.messagelist thead tr td.sortedDESC a{background:url(images/icons/sort.gif?v=92aa.144) right -14px no-repeat}.messagelist thead tr td a{display:block;width:auto !important;width:100%;color:#333;text-decoration:none}.messagelist thead tr td.size.sortedASC a,.messagelist thead tr td.size.sortedDESC a{padding-right:18px}.messagelist thead tr td.subject{padding-left:18px;width:99%}.messagelist tbody tr td{height:20px;padding:0;font-size:11px;overflow:hidden;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;border-bottom:1px solid #ebebeb;cursor:default}.messagelist tbody tr td a{color:#000;text-decoration:none;white-space:nowrap;cursor:inherit}.messagelist td img{vertical-align:middle;display:inline-block}.messagelist tbody tr td.flag,.messagelist tbody tr td.status,.messagelist tbody tr td.subject span.status{cursor:pointer}.messagelist tr td.flag span,.messagelist tr td.status span,.messagelist tr td.attachment span,.messagelist tr td.priority span{display:block;width:15px}.messagelist tr td div.collapsed,.messagelist tr td div.expanded,.messagelist tr td.threads div.listmenu,.messagelist tr td.attachment span.attachment,.messagelist tr td.attachment span.report,.messagelist tr td.priority span.priority,.messagelist tr td.priority span.prio1,.messagelist tr td.priority span.prio2,.messagelist tr td.priority span.prio3,.messagelist tr td.priority span.prio4,.messagelist tr td.priority span.prio5,.messagelist tr td.flag span.flagged,.messagelist tr td.flag span.unflagged,.messagelist tr td.flag span.unflagged:hover,.messagelist tr td.status span.status,.messagelist tr td.status span.msgicon,.messagelist tr td.status span.deleted,.messagelist tr td.status span.unread,.messagelist tr td.status span.unreadchildren,.messagelist tr td.subject span.msgicon,.messagelist tr td.subject span.deleted,.messagelist tr td.subject span.unread,.messagelist tr td.subject span.replied,.messagelist tr td.subject span.forwarded,.messagelist tr td.subject span.unreadchildren{display:inline-block;vertical-align:middle;height:17px;width:15px;background:url(images/messageicons.png?v=9df0.3673) center no-repeat}.messagelist tr td.attachment span.attachment{background-position:0 -170px}.messagelist tr td.attachment span.report{background-position:0 -255px}.messagelist tr td.priority span.priority{background-position:0 -309px}.messagelist tr td.priority span.prio5{background-position:0 -358px}.messagelist tr td.priority span.prio4{background-position:0 -340px}.messagelist tr td.priority span.prio3{background-position:0 -324px}.messagelist tr td.priority span.prio2{background-position:0 -309px}.messagelist tr td.priority span.prio1{background-position:0 -290px}.messagelist tr td.flag span.flagged{background-position:0 -153px}.messagelist tr td.flag span.unflagged:hover{background-position:0 -136px}.messagelist tr td.subject span.msgicon,.messagelist tr td.subject span.unreadchildren{background-position:0 -51px;margin:0 2px}.messagelist tr td.subject span.replied{background-position:0 -85px}.messagelist tr td.subject span.forwarded{background-position:0 -68px}.messagelist tr td.subject span.replied.forwarded{background-position:0 -102px}.messagelist tr td.status span.msgicon,.messagelist tr td.flag span.unflagged,.messagelist tr td.status span.unreadchildren{background-position:0 17px}.messagelist tr td.status span.msgicon:hover{background-position:0 -272px}.messagelist tr td.status span.deleted,.messagelist tr td.subject span.deleted{background-position:0 -187px}.messagelist tr td.status span.status,.messagelist tr td.status span.unread,.messagelist tr td.subject span.unread{background-position:0 -119px}.messagelist tr td div.collapsed{background-position:0 -221px;cursor:pointer}.messagelist tr td div.expanded{background-position:0 -204px;cursor:pointer}.messagelist tr td.threads div.listmenu{background-position:0 -238px;cursor:pointer}.messagelist tbody tr td.subject{width:99%}.messagelist tbody tr td.subject a{cursor:default;vertical-align:middle}.messagelist tbody tr.unroot td.subject a{text-decoration:underline}.messagelist tr td.attachment,.messagelist tr td.threads,.messagelist tr td.status,.messagelist tr td.flag,.messagelist tr td.priority{width:17px;padding:0 0 0 2px}.messagelist tr td.size{width:60px;text-align:right;padding:0 2px}.messagelist tr td.fromto,.messagelist tr td.from,.messagelist tr td.to,.messagelist tr td.cc,.messagelist tr td.replyto{width:180px;padding:0 2px}.messagelist tr td.date{width:135px;padding:0 2px}.messagelist tr.message{background-color:#FFF}.messagelist tr.unread{font-weight:bold;background-color:#fff}.messagelist tr.flagged td,.messagelist tr.flagged td a{color:#c00}.messagelist thead tr td:first-child,.messagelist tbody tr td:first-child{border-left:0;padding-left:6px}.messagelist tbody tr.focused>td:first-child{border-left:4px solid #d4d4d4;padding-left:4px}.messagelist tbody tr.selected.focused>td:first-child{border-left:2px solid #ccc;padding-left:5px}.messagelist tr.selected td{color:#fff;background-color:#c33}.messagelist tr.unfocused td{color:#fff;background-color:#929292}.messagelist tr.selected td a{color:#fff}.messagelist tr.unfocused td a{color:#fff}.messagelist tr.deleted td,.messagelist tr.deleted td a{color:#ccc}#listmenu{padding:6px;max-height:none}#listmenu legend{color:#999}#listmenu fieldset{border:1px solid #999;margin:0 5px;float:left}#listmenu div{padding:8px 0 3px 0;text-align:center;clear:both}td span.branch div{float:left;height:16px}td span.branch div.tree{height:17px;width:15px;background:url(images/tree.gif?v=9b73.92) 0 0 no-repeat}td span.branch div.l1{background-position:0 0}td span.branch div.l2{background-position:-30px 0}td span.branch div.l3{background-position:-15px 0}#messageframe{position:absolute;top:0;left:180px;right:0;bottom:0;border:1px solid #999;background-color:#FFF;overflow:auto;z-index:1}.extwin #messageframe{left:0}div.messageheaderbox{margin:-14px 8px 0 8px;border:1px solid #ccc}table.headers-table{width:100%;background-color:#ebebeb}#messagebody #full-headers,#messagebody table.headers-table{width:auto;margin:6px 8px;background-color:#f4f4f4}#messagebody table.headers-table{margin:16px 6px 6px 6px}div.message-partheaders+div.message-part{border-top:0;padding-top:4px}table.headers-table tr td{font-size:11px;border-bottom:1px solid #fff}table.headers-table tr td.header-title{width:1%;color:#666;font-weight:bold;text-align:right;white-space:nowrap;padding:0 4px 0 8px}table.headers-table tr td.header{width:99%}table.headers-table tr td.subject{font-weight:bold}table.headers-table tr td.header span{white-space:nowrap}#attachment-list{margin:0;padding:0 4px 0 8px;min-height:16px;list-style-image:none;list-style-type:none;background:url(images/icons/attachment.png?v=08f7.518) 4px 2px no-repeat #dfdfdf}#messageframe #attachment-list{border-bottom:1px solid #ccc}.messageheaderbox #attachment-list{border-top:1px solid #ccc}#attachment-list:after{content:".";display:block;height:0;font-size:0;clear:both;visibility:hidden}#attachment-list li{float:left;height:18px;font-size:11px;padding:2px 0 0 15px;white-space:nowrap}#attachment-list li a{text-decoration:none}#attachment-list li a:hover{text-decoration:underline}#attachment-list li a.drop{background:url(images/icons/down_small.gif?v=f368.105) no-repeat center 6px;width:12px;height:7px;cursor:pointer;padding:5px 0 0;margin-left:3px;display:inline-block}#messagebody{position:relative;padding-bottom:10px;background-color:#fff}div.message-part,div.message-htmlpart{padding:10px 8px;border-top:1px solid #ccc}#messagebody div:first-child{border-top:0}div.message-part a,div.message-htmlpart a{color:#00c}div.message-part pre,div.message-htmlpart pre,div.message-part div.pre{margin:0;padding:0;font-family:monospace;font-size:12px;white-space:-moz-pre-wrap !important;white-space:pre-wrap !important;white-space:pre}div.message-part span.sig{color:#666}div.message-part blockquote{color:blue;border-left:2px solid blue;border-right:2px solid blue;background-color:#f6f6f6;margin:2px 0;padding:1px 8px 1px 10px}div.message-part blockquote blockquote{color:green;border-left:2px solid green;border-right:2px solid green}div.message-part blockquote blockquote blockquote{color:#900;border-left:2px solid #b00;border-right:2px solid #b00}body.iframe div.message-htmlpart{margin:8px}div.message-htmlpart div.rcmBody{margin:8px}#messagebody span.part-notice{display:block}#message-objects div,#messagebody span.part-notice{margin:8px;min-height:20px;padding:10px 10px 6px 46px}#message-objects div a,#messagebody span.part-notice a{color:#666;padding-left:10px}#message-objects div a:hover,#messagebody span.part-notice a:hover{color:#333}#messagebody fieldset.image-attachment{border:0;border-top:1px solid #ccc;margin:1em 1em 0 1em}#messagebody fieldset.image-attachment p>img{max-width:80%}#messagebody legend.image-filename{color:#999;font-size:.9em}#messagebody p.image-attachment{margin:0 1em;padding:1em;border-top:1px solid #ccc}#messagebody p.image-attachment a.image-link{float:left;margin-right:2em;min-width:160px;min-height:60px;text-align:center}#messagebody p.image-attachment .image-filename{display:block;font-weight:bold;line-height:1.6em}#messagebody p.image-attachment .image-filesize{font-size:11px;padding-right:1em}#messagebody p.image-attachment .attachment-links a{margin-right:.6em;color:#c00;font-size:11px;text-decoration:none}#messagebody p.image-attachment .attachment-links a:hover{text-decoration:underline}#messagelinks{position:absolute;top:8px;right:10px;height:16px;text-align:right}#messageframe #messagelinks{top:2px;right:2px}#compose-headers #openextwinlink{position:absolute;height:15px;top:4px;right:2px}#full-headers{color:#666;text-align:center;padding:2px 6px;border-bottom:1px solid #ccc;background-color:#ebebeb}.messageheaderbox #full-headers{border-bottom:0}div.more-headers{cursor:pointer;height:8px;border-bottom:0}div.show-headers{background:url(images/icons/down_small.gif?v=f368.105) no-repeat center}div.hide-headers{background:url(images/icons/up_small.gif?v=c56c.106) no-repeat center}#headers-source{margin:2px 0;padding:.5em;height:145px;background:white;overflow:auto;font-size:11px;border:1px solid #CCC;display:none;text-align:left;color:#333}#compose-container{position:absolute;top:0;left:205px;right:0;bottom:0;margin:0}#compose-div{position:absolute;top:85px;right:0;left:0;bottom:0;margin:0}#compose-body-div{position:absolute;top:0;left:0;bottom:0;right:175px;border:1px solid #999}#compose-div .boxlistcontent{bottom:23px}#compose-body{position:absolute;left:0;right:0;top:0;bottom:0;margin:0;font-size:9pt;font-family:monospace;resize:none;border:0;outline:0}#compose-body_tbl,#compose-body_tbl td{border:0}#compose-body_tbl tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc}#compose-headers{width:100%}#compose-headers td.editfield{padding-right:8px;width:95%}#compose-headers td.top{vertical-align:top}#compose-headers td.title,#compose-subject td.title{width:80px !important;font-size:11px;font-weight:bold;padding-right:10px;white-space:nowrap;color:#666}#compose-headers td textarea,#compose-headers td input{resize:none;width:100%;border:1px solid #999}#compose-headers td textarea{height:32px}input.from_address{width:80% !important}#compose-cc,#compose-bcc,#compose-replyto,#compose-followupto{display:none}#compose-editorfooter{position:absolute;right:5px;bottom:0;text-align:right;line-height:20px}#compose-editorfooter label{font-size:11px;font-weight:bold;color:#666}#compose-buttons{position:absolute;left:5px;bottom:1px;width:auto}#compose-contacts{position:absolute;top:0;left:0;bottom:0;width:195px;border:1px solid #999;background-color:#f9f9f9}#compose-attachments{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid #999;background-color:#f9f9f9}#compose-attachments.droptarget.hover{background-color:#f0f0ee;box-shadow:0 0 5px 0 #999;-moz-box-shadow:0 0 5px 0 #999;-o-box-shadow:0 0 5px 0 #999}#compose-attachments ul{margin:0;padding:0;background-color:#FFF;list-style-image:none;list-style-type:none}#compose-attachments ul li{height:18px;line-height:16px;font-size:11px;padding:2px 2px 1px 2px;border-bottom:1px solid #ebebeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}#compose-attachments li a{text-indent:-5000px;width:17px;height:16px;padding-bottom:2px;display:inline-block;text-decoration:none;vertical-align:middle}#compose-attachments li img{vertical-align:middle}#compose-attachments li a.delete,#compose-attachments li a.cancelupload{background-position:0 -392px}#compose-attachments li span{line-height:18px;vertical-align:middle}#upload-form,#attachment-form{padding:6px}#upload-form div,#attachment-form div{padding:2px}#upload-form div.buttons,#attachment-form div.buttons{margin-top:4px}#quota{position:absolute;top:3px;right:8px;width:100px}#quotaimg{position:absolute;top:3px;right:6px;z-index:101}#directorylist{list-style:none;margin:0;padding:0;background-color:#fff}#directorylist li{display:block;font-size:11px;background:url(images/icons/folders.png?v=d9d2.5356) 5px -108px no-repeat;border-bottom:1px solid #ebebeb;white-space:nowrap}#directorylist li a{cursor:default;display:block;padding-left:25px;padding-top:2px;padding-bottom:2px;text-decoration:none;white-space:nowrap;height:15px}#directorylist li.selected{background-color:#929292;border-bottom:1px solid #898989}#directorylist li.selected a{color:#FFF;font-weight:bold}#contacts-table{width:100%;table-layout:fixed}#contacts-table tbody td{cursor:default;text-overflow:ellipsis;-o-text-overflow:ellipsis}#contacts-table td span.email{display:inline;color:#ccc;font-style:italic;margin-left:.5em}#abookcountbar{margin-top:4px;margin-left:4px;position:absolute;margin-right:5px;right:0}#abookactions{position:absolute;text-underline:none}#abookactions a{font-weight:bold;line-height:22px;height:22px;width:auto;margin:0;padding-left:5px;padding-right:5px;text-shadow:1px 1px white;background:url(images/icons/groupactions.png?v=ace6.1092) no-repeat right -70px}#abookactions a.disabled{color:#999}#compose-contacts #quicksearchbar{top:2px;left:7px}#compose-contacts #directorylist{width:100%;top:23px;position:absolute;border-top:1px solid #eee}#compose-contacts #contacts-table{top:45px;position:absolute}
\ No newline at end of file
+#messagetoolbar{position:absolute;top:47px;left:205px;right:10px;height:35px;min-width:650px;white-space:nowrap}.extwin #messagetoolbar{top:5px;left:20px}#messagetoolbar a,#messagetoolbar select{display:block;float:left;padding-right:10px}#messagetoolbar a.button,#messagetoolbar a.buttonPas{display:block;float:left;width:32px;height:32px;padding:0;margin:0 5px;overflow:hidden;background:url(images/mail_toolbar.png?v=08c3.42883) 0 0 no-repeat transparent;opacity:.99}#messagetoolbar a.buttonPas{opacity:.35}#messagetoolbar a.button.selected{background-color:#ddd;margin-left:4px;margin-right:4px;margin-top:-1px;border:1px solid #ccc;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}#messagetoolbar a.checkmailSel{background-position:0 -32px}#messagetoolbar a.back{background-position:-32px 0}#messagetoolbar a.backSel{background-position:-32px -32px}#messagetoolbar a.compose{background-position:-64px 0}#messagetoolbar a.composeSel{background-position:-64px -32px}#messagetoolbar a.reply{background-position:-96px 0}#messagetoolbar a.replySel{background-position:-96px -32px}#messagetoolbar a.replyAll{background-position:-128px 0}#messagetoolbar a.replyAllSel{background-position:-128px -32px}#messagetoolbar a.forward{background-position:-160px 0}#messagetoolbar a.forwardSel{background-position:-160px -32px}#messagetoolbar a.delete{background-position:-192px 0}#messagetoolbar a.deleteSel{background-position:-192px -32px}#messagetoolbar a.print{background-position:-256px 0}#messagetoolbar a.printSel{background-position:-256px -32px}#messagetoolbar a.markmessage{background-position:-288px 0}#messagetoolbar a.messagemenu{background-position:-320px 0;width:34px}#messagetoolbar a.spellcheck{background-position:-418px 0}#messagetoolbar a.spellcheckSel{background-position:-418px -32px}#messagetoolbar a.attach{background-position:-386px 0}#messagetoolbar a.attachSel{background-position:-386px -32px}#messagetoolbar a.insertsig{background-position:-482px 0}#messagetoolbar a.insertsigSel{background-position:-482px -32px}#messagetoolbar a.savedraft{background-position:-354px 0}#messagetoolbar a.savedraftSel{background-position:-354px -32px}#messagetoolbar a.send{background-position:-450px 0}#messagetoolbar a.sendSel{background-position:-450px -32px}#messagetoolbar a.move{background-position:-580px 0}#messagetoolbar a.moveSel{background-position:-580px -32px}#messagetoolbar a.download{background-position:-514px 0}#messagetoolbar a.downloadSel{background-position:-514px -32px}#messagetoolbar a.responses{background-position:-548px 0}#messagemenu li a.active:hover,#attachmentmenu li a.active:hover,#markmessagemenu li a.active:hover{color:#fff;background-color:#c00}#messagemenu li a,#attachmentmenu li a{background:url(images/messageactions.png?v=d93e.3223) no-repeat 7px 0;background-position:7px 20px}#messagemenu li a.printlink{background-position:7px 1px}#messagemenu li a.downloadlink,#attachmentmenu li a.downloadlink{background-position:7px -17px}#messagemenu li a.sourcelink{background-position:7px -35px}#messagemenu li a.openlink,#attachmentmenu li a.openlink{background-position:7px -52px}#messagemenu li a.editlink{background-position:6px -70px}#messagemenu li a.movelink{background-position:6px -161px}#messagemenu li a.copylink{background-position:6px -143px}#markmessagemenu li a,#compose-attachments li a{background:url(images/messageicons.png?v=9df0.3673) no-repeat}#markmessagemenu li a.readlink{background-position:7px -51px}#markmessagemenu li a.unreadlink{background-position:7px -119px}#markmessagemenu li a.flaggedlink{background-position:7px -153px}#markmessagemenu li a.unflaggedlink{background-position:7px -136px}#searchfilter{white-space:nowrap;position:absolute;right:198px;vertical-align:middle}#searchfilter label{font-size:11px}#mailleftcontainer{position:absolute;top:0;left:0;bottom:0;width:160px}#mailrightcontainer{position:absolute;top:0;left:170px;bottom:0;right:0;min-width:600px}#mailrightcontent{position:absolute;top:0;left:0;right:0;bottom:0}#messagepartcontainer{position:absolute;top:0;left:170px;right:0;bottom:0}#messagepartheader{position:absolute;top:0;bottom:0;left:0;width:160px;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}#messagepartheader table{width:100%;table-layout:fixed}#messagepartheader table td{text-overflow:ellipsis}#messagepartheader table td.title{width:60px}#mailcontframe{position:absolute;width:100%;top:0;bottom:0;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}#mailpreviewframe{position:absolute;width:100%;top:205px;bottom:0;border:1px solid #999;background-color:#f9f9f9}#messagecontframe{position:relative;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:100%}#messagepartframe{width:100%;height:100%;min-height:100%;border:1px solid #999;background-color:#fff}#mailboxlist-container{position:absolute;top:0;left:0;width:100%;bottom:0;border:1px solid #999;background-color:#f9f9f9}#mailboxlist{position:relative;height:auto;margin:0;padding:0;list-style-image:none;list-style-type:none;overflow:hidden;white-space:nowrap;background-color:#FFF}#mailboxlist li{display:block;position:relative;font-size:11px;border-bottom:1px solid #ebebeb}#mailboxlist li ul li:last-child{border-bottom:0 none}#mailboxlist li.inbox a{background-position:5px -18px}#mailboxlist li.drafts a{background-position:5px -37px}#mailboxlist li.sent a{background-position:5px -54px}#mailboxlist li.junk a{background-position:5px -73px}#mailboxlist li.trash a{background-position:5px -180px}#mailboxlist li.trash.empty a{background-position:5px -90px}#mailboxlist li a{cursor:default;display:block;position:relative;padding-left:25px;padding-top:2px;padding-bottom:2px;text-decoration:none;height:15px;background:url(images/icons/folders.png?v=d9d2.5356) 5px 0 no-repeat}#mailboxlist li.unread{font-weight:bold}#mailboxlist li.virtual>a{color:#666}#mailboxlist li.recent>a{color:#06f}#mailboxlist li.selected,#mailboxlist li.droptarget li.selected{background-color:#929292}#mailboxlist li.selected>a,#mailboxlist li.droptarget li.selected a{color:#FFF;font-weight:bold}#mailboxlist li.droptarget{background-color:#ffffa6}#mailboxlist ul{list-style:none;padding:0;margin:0;border-top:1px solid #ebebeb;background-color:#FFF;font-weight:normal}#mailboxlist li.mailbox ul li a{padding-left:40px;background-position:20px 0}#mailboxlist li.mailbox ul li div.treetoggle{left:23px !important}#mailboxlist li.mailbox ul ul li.mailbox a{padding-left:56px;background-position:36px 0}#mailboxlist li.mailbox ul ul li div.treetoggle{left:39px !important}#mailboxlist li.mailbox ul ul ul li.mailbox a{padding-left:72px;background-position:52px 0}#mailboxlist li.mailbox ul ul ul li div.treetoggle{left:55px !important}#mailboxlist li.mailbox ul ul ul ul li.mailbox a{padding-left:88px;background-position:68px 0}#mailboxlist li.mailbox ul ul ul ul li div.treetoggle{left:71px !important}#mailboxlist li.mailbox ul ul ul ul ul li{padding-left:16px}#mailboxlist li.mailbox ul ul ul ul ul li div.treetoggle{left:87px !important}#mailboxlist li.mailbox ul li.drafts a{background-position:21px -37px}#mailboxlist li.mailbox ul li.sent a{background-position:21px -54px}#mailboxlist li.mailbox ul li.junk a{background-position:21px -73px}#mailboxlist li.mailbox ul li.trash a{background-position:21px -180px}#mailboxlist li.mailbox ul li.trash.empty a{background-position:21px -90px}#listcontrols{position:relative;white-space:nowrap;line-height:22px;padding:0 4px;width:auto;min-width:300px}#listcontrols a,#listcontrols span{display:block;float:left;font-size:11px}#listcontrols span input{vertical-align:middle}#listcontrols a.button,#listcontrols a.buttonPas{display:block;float:left;width:15px;height:15px;padding:0;margin-top:4px;margin-right:2px;overflow:hidden;background:url(images/mail_footer.png?v=819f.977) 0 0 no-repeat transparent;opacity:.99}#listcontrols a.buttonPas{opacity:.35}#listcontrols a.all{background-position:-30px 0}#listcontrols a.allsel{background-position:-30px -15px}#listcontrols a.page{background-position:-135px 0}#listcontrols a.pagesel{background-position:-135px -15px}#listcontrols a.unread{background-position:-45px 0}#listcontrols a.unreadsel{background-position:-45px -15px}#listcontrols a.invert{background-position:-60px 0}#listcontrols a.invertsel{background-position:-60px -15px}#listcontrols a.none{background-position:-75px 0}#listcontrols a.nonesel{background-position:-75px -15px}#listcontrols a.expand-all{background-position:-90px 0}#listcontrols a.expand-allsel{background-position:-90px -15px}#listcontrols a.collapse-all{background-position:-105px 0}#listcontrols a.collapse-allsel{background-position:-105px -15px}#listcontrols a.expand-unread{background-position:-120px 0}#listcontrols a.expand-unreadsel{background-position:-120px -15px}#countcontrols{position:absolute;top:4px;right:4px;white-space:nowrap;font-size:11px}#countcontrols a.button,#countcontrols a.buttonPas{float:right}body.messagelist{margin:0;background-color:#f9f9f9}table.messagelist{width:100%;display:table;table-layout:fixed;border-collapse:collapse;border-spacing:0;z-index:1}table.messagelist.fixedcopy{z-index:2}.messagelist thead tr td{height:20px;padding:0 4px 0 2px;vertical-align:middle;border-bottom:1px solid #999;color:#333;background:url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;font-size:11px;font-weight:bold}.messagelist thead tr td.sortedASC,.messagelist thead tr td.sortedDESC{background-position:0 -26px}.messagelist thead tr td.sortedASC a{background:url(images/icons/sort.gif?v=92aa.144) right 0 no-repeat}.messagelist thead tr td.sortedDESC a{background:url(images/icons/sort.gif?v=92aa.144) right -14px no-repeat}.messagelist thead tr td a{display:block;width:auto !important;width:100%;color:#333;text-decoration:none}.messagelist thead tr td.size.sortedASC a,.messagelist thead tr td.size.sortedDESC a{padding-right:18px}.messagelist thead tr td.subject{padding-left:18px;width:99%}.messagelist tbody tr td{height:20px;padding:0;font-size:11px;overflow:hidden;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;border-bottom:1px solid #ebebeb;cursor:default}.messagelist tbody tr td a{color:#000;text-decoration:none;white-space:nowrap;cursor:inherit}.messagelist td img{vertical-align:middle;display:inline-block}.messagelist tbody tr td.flag,.messagelist tbody tr td.status,.messagelist tbody tr td.subject span.status{cursor:pointer}.messagelist tr td.flag span,.messagelist tr td.status span,.messagelist tr td.attachment span,.messagelist tr td.priority span{display:block;width:15px}.messagelist tr td div.collapsed,.messagelist tr td div.expanded,.messagelist tr td.threads div.listmenu,.messagelist tr td.attachment span.attachment,.messagelist tr td.attachment span.report,.messagelist tr td.priority span.priority,.messagelist tr td.priority span.prio1,.messagelist tr td.priority span.prio2,.messagelist tr td.priority span.prio3,.messagelist tr td.priority span.prio4,.messagelist tr td.priority span.prio5,.messagelist tr td.flag span.flagged,.messagelist tr td.flag span.unflagged,.messagelist tr td.flag span.unflagged:hover,.messagelist tr td.status span.status,.messagelist tr td.status span.msgicon,.messagelist tr td.status span.deleted,.messagelist tr td.status span.unread,.messagelist tr td.status span.unreadchildren,.messagelist tr td.subject span.msgicon,.messagelist tr td.subject span.deleted,.messagelist tr td.subject span.unread,.messagelist tr td.subject span.replied,.messagelist tr td.subject span.forwarded,.messagelist tr td.subject span.unreadchildren{display:inline-block;vertical-align:middle;height:17px;width:15px;background:url(images/messageicons.png?v=9df0.3673) center no-repeat}.messagelist tr td.attachment span.attachment{background-position:0 -170px}.messagelist tr td.attachment span.report{background-position:0 -255px}.messagelist tr td.priority span.priority{background-position:0 -309px}.messagelist tr td.priority span.prio5{background-position:0 -358px}.messagelist tr td.priority span.prio4{background-position:0 -340px}.messagelist tr td.priority span.prio3{background-position:0 -324px}.messagelist tr td.priority span.prio2{background-position:0 -309px}.messagelist tr td.priority span.prio1{background-position:0 -290px}.messagelist tr td.flag span.flagged{background-position:0 -153px}.messagelist tr td.flag span.unflagged:hover{background-position:0 -136px}.messagelist tr td.subject span.msgicon,.messagelist tr td.subject span.unreadchildren{background-position:0 -51px;margin:0 2px}.messagelist tr td.subject span.replied{background-position:0 -85px}.messagelist tr td.subject span.forwarded{background-position:0 -68px}.messagelist tr td.subject span.replied.forwarded{background-position:0 -102px}.messagelist tr td.status span.msgicon,.messagelist tr td.flag span.unflagged,.messagelist tr td.status span.unreadchildren{background-position:0 17px}.messagelist tr td.status span.msgicon:hover{background-position:0 -272px}.messagelist tr td.status span.deleted,.messagelist tr td.subject span.deleted{background-position:0 -187px}.messagelist tr td.status span.status,.messagelist tr td.status span.unread,.messagelist tr td.subject span.unread{background-position:0 -119px}.messagelist tr td div.collapsed{background-position:0 -221px;cursor:pointer}.messagelist tr td div.expanded{background-position:0 -204px;cursor:pointer}.messagelist tr td.threads div.listmenu{background-position:0 -238px;cursor:pointer}.messagelist tbody tr td.subject{width:99%}.messagelist tbody tr td.subject a{cursor:default;vertical-align:middle}.messagelist tbody tr.unroot td.subject a{text-decoration:underline}.messagelist tr td.attachment,.messagelist tr td.threads,.messagelist tr td.status,.messagelist tr td.flag,.messagelist tr td.priority{width:17px;padding:0 0 0 2px}.messagelist tr td.size{width:60px;text-align:right;padding:0 2px}.messagelist tr td.fromto,.messagelist tr td.from,.messagelist tr td.to,.messagelist tr td.cc,.messagelist tr td.replyto{width:180px;padding:0 2px}.messagelist tr td.date{width:135px;padding:0 2px}.messagelist tr.message{background-color:#FFF}.messagelist tr.unread{font-weight:bold;background-color:#fff}.messagelist tr.flagged td,.messagelist tr.flagged td a{color:#c00}.messagelist thead tr td:first-child,.messagelist tbody tr td:first-child{border-left:0;padding-left:6px}.messagelist tbody tr.focused>td:first-child{border-left:4px solid #d4d4d4;padding-left:4px}.messagelist tbody tr.selected.focused>td:first-child{border-left:2px solid #ccc;padding-left:5px}.messagelist tr.selected td{color:#fff;background-color:#c33}.messagelist tr.unfocused td{color:#fff;background-color:#929292}.messagelist tr.selected td a{color:#fff}.messagelist tr.unfocused td a{color:#fff}.messagelist tr.deleted td,.messagelist tr.deleted td a{color:#ccc}#listmenu{padding:6px;max-height:none}#listmenu legend{color:#999}#listmenu fieldset{border:1px solid #999;margin:0 5px;float:left}#listmenu div{padding:8px 0 3px 0;text-align:center;clear:both}td span.branch div{float:left;height:16px}td span.branch div.tree{height:17px;width:15px;background:url(images/tree.gif?v=9b73.92) 0 0 no-repeat}td span.branch div.l1{background-position:0 0}td span.branch div.l2{background-position:-30px 0}td span.branch div.l3{background-position:-15px 0}#messageframe{position:absolute;top:0;left:180px;right:0;bottom:0;border:1px solid #999;background-color:#FFF;overflow:auto;z-index:1}.extwin #messageframe{left:0}div.messageheaderbox{margin:-14px 8px 0 8px;border:1px solid #ccc}table.headers-table{width:100%;background-color:#ebebeb}#messagebody #full-headers,#messagebody table.headers-table{width:auto;margin:6px 8px;background-color:#f4f4f4}#messagebody table.headers-table{margin:16px 6px 6px 6px}div.message-partheaders+div.message-part{border-top:0;padding-top:4px}table.headers-table tr td{font-size:11px;border-bottom:1px solid #fff}table.headers-table tr td.header-title{width:1%;color:#666;font-weight:bold;text-align:right;white-space:nowrap;padding:0 4px 0 8px}table.headers-table tr td.header{width:99%}table.headers-table tr td.subject{font-weight:bold}table.headers-table tr td.header span{white-space:nowrap}#attachment-list{margin:0;padding:0 4px 0 8px;min-height:16px;list-style-image:none;list-style-type:none;background:url(images/icons/attachment.png?v=08f7.518) 4px 2px no-repeat #dfdfdf}#messageframe #attachment-list{border-bottom:1px solid #ccc}.messageheaderbox #attachment-list{border-top:1px solid #ccc}#attachment-list:after{content:".";display:block;height:0;font-size:0;clear:both;visibility:hidden}#attachment-list li{float:left;height:18px;font-size:11px;padding:2px 0 0 15px;white-space:nowrap}#attachment-list li a{text-decoration:none}#attachment-list li a:hover{text-decoration:underline}#attachment-list li a.drop{background:url(images/icons/down_small.gif?v=f368.105) no-repeat center 6px;width:12px;height:7px;cursor:pointer;padding:5px 0 0;margin-left:3px;display:inline-block}#messagebody{position:relative;padding-bottom:10px;background-color:#fff}div.message-part,div.message-htmlpart{padding:10px 8px;border-top:1px solid #ccc}#messagebody div:first-child{border-top:0}div.message-part a,div.message-htmlpart a{color:#00c}div.message-part pre,div.message-htmlpart pre,div.message-part div.pre{margin:0;padding:0;font-family:monospace;font-size:12px;white-space:-moz-pre-wrap !important;white-space:pre-wrap !important;white-space:pre}div.message-part span.sig{color:#666}div.message-part blockquote{color:blue;border-left:2px solid blue;border-right:2px solid blue;background-color:#f6f6f6;margin:2px 0;padding:1px 8px 1px 10px}div.message-part blockquote blockquote{color:green;border-left:2px solid green;border-right:2px solid green}div.message-part blockquote blockquote blockquote{color:#900;border-left:2px solid #b00;border-right:2px solid #b00}body.iframe div.message-htmlpart{margin:8px}div.message-htmlpart div.rcmBody{margin:8px}#messagebody span.part-notice{display:block}#message-objects div,#messagebody span.part-notice{margin:8px;min-height:20px;padding:10px 10px 6px 46px}#message-objects div a,#messagebody span.part-notice a{color:#666;padding-left:10px}#message-objects div a:hover,#messagebody span.part-notice a:hover{color:#333}#messagebody fieldset.image-attachment{border:0;border-top:1px solid #ccc;margin:1em 1em 0 1em}#messagebody fieldset.image-attachment p>img{max-width:80%}#messagebody legend.image-filename{color:#999;font-size:.9em}#messagebody p.image-attachment{margin:0 1em;padding:1em;border-top:1px solid #ccc}#messagebody p.image-attachment a.image-link{float:left;margin-right:2em;min-width:160px;min-height:60px;text-align:center}#messagebody p.image-attachment .image-filename{display:block;font-weight:bold;line-height:1.6em}#messagebody p.image-attachment .image-filesize{font-size:11px;padding-right:1em}#messagebody p.image-attachment .attachment-links a{margin-right:.6em;color:#c00;font-size:11px;text-decoration:none}#messagebody p.image-attachment .attachment-links a:hover{text-decoration:underline}#messagelinks{position:absolute;top:8px;right:10px;height:16px;text-align:right}#messageframe #messagelinks{top:2px;right:2px}#compose-headers #openextwinlink{position:absolute;height:15px;top:4px;right:2px}#full-headers{color:#666;text-align:center;padding:2px 6px;border-bottom:1px solid #ccc;background-color:#ebebeb}.messageheaderbox #full-headers{border-bottom:0}div.more-headers{cursor:pointer;height:8px;border-bottom:0}div.show-headers{background:url(images/icons/down_small.gif?v=f368.105) no-repeat center}div.hide-headers{background:url(images/icons/up_small.gif?v=c56c.106) no-repeat center}#headers-source{margin:2px 0;padding:.5em;height:145px;background:white;overflow:auto;font-size:11px;border:1px solid #CCC;display:none;text-align:left;color:#333}#compose-container{position:absolute;top:0;left:205px;right:0;bottom:0;margin:0}#compose-div{position:absolute;top:85px;right:0;left:0;bottom:0;margin:0}#compose-body-div{position:absolute;top:0;left:0;bottom:0;right:175px;border:1px solid #999}#compose-div .boxlistcontent{bottom:23px}#compose-body{position:absolute;left:0;right:0;top:0;bottom:0;margin:0;font-size:9pt;font-family:monospace;resize:none;border:0;outline:0}#compose-body_tbl,#compose-body_tbl td{border:0}#compose-body_tbl tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc}#compose-headers{width:100%}#compose-headers td.editfield{padding-right:8px;width:95%}#compose-headers td.top{vertical-align:top}#compose-headers td.title,#compose-subject td.title{width:80px !important;font-size:11px;font-weight:bold;padding-right:10px;white-space:nowrap;color:#666}#compose-headers td textarea,#compose-headers td input{resize:none;width:100%;border:1px solid #999}#compose-headers td textarea{height:32px}input.from_address{width:80% !important}#compose-cc,#compose-bcc,#compose-replyto,#compose-followupto{display:none}#compose-editorfooter{position:absolute;right:5px;bottom:0;text-align:right;line-height:20px}#compose-editorfooter label{font-size:11px;font-weight:bold;color:#666}#compose-buttons{position:absolute;left:5px;bottom:1px;width:auto}#compose-contacts{position:absolute;top:0;left:0;bottom:0;width:195px;border:1px solid #999;background-color:#f9f9f9}#compose-attachments{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid #999;background-color:#f9f9f9}#compose-attachments.droptarget.hover{background-color:#f0f0ee;box-shadow:0 0 5px 0 #999;-moz-box-shadow:0 0 5px 0 #999;-o-box-shadow:0 0 5px 0 #999}#compose-attachments ul{margin:0;padding:0;background-color:#FFF;list-style-image:none;list-style-type:none}#compose-attachments ul li{height:18px;line-height:16px;font-size:11px;padding:2px 2px 1px 2px;border-bottom:1px solid #ebebeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}#compose-attachments li a{text-indent:-5000px;width:17px;height:16px;padding-bottom:2px;display:inline-block;text-decoration:none;vertical-align:middle}#compose-attachments li img{vertical-align:middle}#compose-attachments li a.delete,#compose-attachments li a.cancelupload{background-position:0 -392px}#compose-attachments li span{line-height:18px;vertical-align:middle}#upload-form,#attachment-form{padding:6px}#upload-form div,#attachment-form div{padding:2px}#upload-form div.buttons,#attachment-form div.buttons{margin-top:4px}#quota{position:absolute;top:3px;right:8px;width:100px}#quotaimg{position:absolute;top:3px;right:6px;z-index:101}#directorylist{list-style:none;margin:0;padding:0;background-color:#fff}#directorylist li{display:block;font-size:11px;background:url(images/icons/folders.png?v=d9d2.5356) 5px -108px no-repeat;border-bottom:1px solid #ebebeb;white-space:nowrap}#directorylist li a{cursor:default;display:block;padding-left:25px;padding-top:2px;padding-bottom:2px;text-decoration:none;white-space:nowrap;height:15px}#directorylist li.selected{background-color:#929292;border-bottom:1px solid #898989}#directorylist li.selected a{color:#FFF;font-weight:bold}#contacts-table{width:100%;table-layout:fixed}#contacts-table tbody td{cursor:default;text-overflow:ellipsis;-o-text-overflow:ellipsis}#contacts-table td span.email{display:inline;color:#ccc;font-style:italic;margin-left:.5em}#abookcountbar{margin-top:4px;margin-left:4px;position:absolute;margin-right:5px;right:0}#abookactions{position:absolute;text-underline:none}#abookactions a{font-weight:bold;line-height:22px;height:22px;width:auto;margin:0;padding-left:5px;padding-right:5px;text-shadow:1px 1px white;background:url(images/icons/groupactions.png?v=ace6.1092) no-repeat right -70px}#abookactions a.disabled{color:#999}#compose-contacts #quicksearchbar{top:2px;left:7px}#compose-contacts #directorylist{width:100%;top:23px;position:absolute;border-top:1px solid #eee}#compose-contacts #contacts-table{top:45px;position:absolute}
\ No newline at end of file
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package plasmoid-cwp for openSUSE:Factory checked in at 2015-02-03 11:40:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasmoid-cwp (Old)
and /work/SRC/openSUSE:Factory/.plasmoid-cwp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasmoid-cwp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/plasmoid-cwp/plasmoid-cwp.changes 2014-10-15 08:52:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.plasmoid-cwp.new/plasmoid-cwp.changes 2015-02-03 11:40:19.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Jan 30 22:09:27 UTC 2015 - asterios.dramis(a)gmail.com
+
+- Update to version 1.12.0:
+ * xml: removed www.weather.com support because the website is unparsable now
+ * xml: splitted openweathermap.org into celsius and fahrenheit versions
+ * modifications for locating correct data path
+
+-------------------------------------------------------------------
Old:
----
98925-cwp-1.11.1.tar.bz2
New:
----
98925-cwp-1.12.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plasmoid-cwp.spec ++++++
--- /var/tmp/diff_new_pack.9Gkz6d/_old 2015-02-03 11:40:20.000000000 +0100
+++ /var/tmp/diff_new_pack.9Gkz6d/_new 2015-02-03 11:40:20.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package plasmoid-cwp
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2009 Buschmann <buschmann23(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
Name: plasmoid-cwp
-Version: 1.11.1
+Version: 1.12.0
Release: 0
Summary: Customizable Weather Plasmoid
License: GPL-3.0+
++++++ 98925-cwp-1.11.1.tar.bz2 -> 98925-cwp-1.12.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/CMakeLists.txt new/cwp-1.12.0/CMakeLists.txt
--- old/cwp-1.11.1/CMakeLists.txt 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/CMakeLists.txt 2014-11-22 10:03:27.000000000 +0100
@@ -46,7 +46,6 @@
data/fr_weather_com.xml
data/in_weather_com.xml
data/uk_weather_com.xml
- data/www_weather_com.xml
data/wetter_com.xml
data/www_weather_com.cn.xml
data/myforecast_com_celsius.xml
@@ -58,7 +57,8 @@
data/ilmeteo_it.xml
data/pogodynka_pl.xml
data/www_gismeteo_com.xml
- data/openweathermap_org.xml
+ data/openweathermap_org_celsius.xml
+ data/openweathermap_org_fahrenheit.xml
data/satellite_images.xml
DESTINATION ${DATA_INSTALL_DIR}/plasma-cwp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/ChangeLog new/cwp-1.12.0/ChangeLog
--- old/cwp-1.11.1/ChangeLog 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/ChangeLog 2014-11-22 10:04:22.000000000 +0100
@@ -1,3 +1,9 @@
+1.12.0
+======
+- xml: removed www.weather.com support because the website is unparsable now
+- xml: splitted openweathermap.org into celsius and fahrenheit versions
+- modifications for locating correct data path
+
1.11.1
======
- xml: br.weather.com: location fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/README new/cwp-1.12.0/README
--- old/cwp-1.11.1/README 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/README 2014-11-22 10:03:27.000000000 +0100
@@ -1,5 +1,5 @@
==========================================
-Customizable Weather Plasmoid (CWP) 1.11.1
+Customizable Weather Plasmoid (CWP) 1.12.0
==========================================
This is another weather plasmoid.
@@ -10,7 +10,6 @@
For now, xml files for the weather providers
-www.weather.com (°F) (city identifier example: USDC0001)
br.weather.com (°C) (city identifier example: BRXX0043)
de.weather.com (°C) (city identifier example: 80331 or UKXX0085)
espanol.weather.com (°C) (city identifier example: Ciudad-de-Mexico-MXDF0132)
@@ -29,6 +28,7 @@
pogodynka.pl (°C) (city identifier example: Warszawa)
www.gismeteo.com (°C) (city identifier example: 4944)
openweathermap.org (°C) (city identifier example: id=2643743 or q=London,UK)
+openweathermap.org (°F) (city identifier example: id=5506956 or q=Las Vegas,US)
are included, but feel free to write your own ones.
Please note, that some of the xml files might not work properly for all locations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/br_weather_com.xml new/cwp-1.12.0/data/br_weather_com.xml
--- old/cwp-1.11.1/data/br_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/br_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="br.weather.com" search_page="http://br.weather.com" example_zip="BRXX0043:1:BR" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="br.weather.com" search_page="http://br.weather.com" example_zip="BRXX0043:1:BR" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/de_weather_com.xml new/cwp-1.12.0/data/de_weather_com.xml
--- old/cwp-1.11.1/data/de_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/de_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="de.weather.com" search_page="http://de.weather.com" example_zip="GMXX0087:1:GM" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="de.weather.com" search_page="http://de.weather.com" example_zip="GMXX0087:1:GM" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/espanol_weather_com.xml new/cwp-1.12.0/data/espanol_weather_com.xml
--- old/cwp-1.11.1/data/espanol_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/espanol_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="espanol.weather.com" search_page="http://espanol.weather.com" example_zip="Ciudad-de-Mexico-MXDF0132" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="espanol.weather.com" search_page="http://espanol.weather.com" example_zip="Ciudad-de-Mexico-MXDF0132" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/fr_weather_com.xml new/cwp-1.12.0/data/fr_weather_com.xml
--- old/cwp-1.11.1/data/fr_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/fr_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="fr.weather.com" search_page="http://fr.weather.com" example_zip="FRXX0076:1:FR" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="fr.weather.com" search_page="http://fr.weather.com" example_zip="FRXX0076:1:FR" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/ilmeteo_it.xml new/cwp-1.12.0/data/ilmeteo_it.xml
--- old/cwp-1.11.1/data/ilmeteo_it.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/ilmeteo_it.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="ilmeteo.it" search_page="http://www.ilmeteo.it" example_zip="Roma" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="ilmeteo.it" search_page="http://www.ilmeteo.it" example_zip="Roma" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/in_weather_com.xml new/cwp-1.12.0/data/in_weather_com.xml
--- old/cwp-1.11.1/data/in_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/in_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="in.weather.com" search_page="http://in.weather.com" example_zip="New-Delhi-INXX0096" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="in.weather.com" search_page="http://in.weather.com" example_zip="New-Delhi-INXX0096" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/myforecast_com_celsius.xml new/cwp-1.12.0/data/myforecast_com_celsius.xml
--- old/cwp-1.11.1/data/myforecast_com_celsius.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/myforecast_com_celsius.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.myforecast.com" search_page="http://www.myforecast.com" example_zip="12844" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.myforecast.com" search_page="http://www.myforecast.com" example_zip="12844" unit="C" />
<locale_settings locale="en" encoding="latin1" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/myforecast_com_fahrenheit.xml new/cwp-1.12.0/data/myforecast_com_fahrenheit.xml
--- old/cwp-1.11.1/data/myforecast_com_fahrenheit.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/myforecast_com_fahrenheit.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.myforecast.com" search_page="http://www.myforecast.com" example_zip="12844" unit="F" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.myforecast.com" search_page="http://www.myforecast.com" example_zip="12844" unit="F" />
<locale_settings locale="en" encoding="latin1" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/openweathermap_org.xml new/cwp-1.12.0/data/openweathermap_org.xml
--- old/cwp-1.11.1/data/openweathermap_org.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/openweathermap_org.xml 1970-01-01 01:00:00.000000000 +0100
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-
-<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="openweathermap.org" search_page="http://www.openweathermap.org" example_zip="id=2643743 or q=London,UK" unit="C" />
-
- <locale_settings locale="utf-8" encoding="utf8" />
-
- <urlc urlc_prefix="http://api.openweathermap.org/data/2.5/weather?" urlc_suffix="&units=metric" urlc_follow="" />
-
- <url1 url1_prefix="http://api.openweathermap.org/data/2.5/forecast/daily?" url1_suffix="&cnt=7&units=metric" url1_follow="" />
-
- <url2 url2_prefix="" url2_suffix="" url2_follow="" />
-
- <url3 url3_prefix="" url3_suffix="" url3_follow="" />
-
- <url4 url4_prefix="" url4_suffix="" url4_follow="" />
-
- <url5 url5_prefix="" url5_suffix="" url5_follow="" />
-
- <url6 url6_prefix="" url6_suffix="" url6_follow="" />
-
- <url7 url7_prefix="" url7_suffix="" url7_follow="" />
-
- <data_location url="urlc"
- location="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"name\":\"*\([^\",}]*\).*/\1/""
- country="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"country\":\"*\([^\",}]*\).*/\1/""
- />
-
- <data_sun url="urlc"
- sunrise="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunrise\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
- sunset="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunset\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
- />
-
- <data_current_temperature url="urlc"
- update_time="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
- temperature="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"temp\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0*10+0.5)/10}'"
- temperature_felt="echo -n"
- />
-
- <data_current_wind url="urlc"
- wind_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\2/" | awk '{print int((($0+11.25)/22.5)%16)}'"
- wind_speed="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",}]*\).*/\1 km\/h/""
- wind="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\1 km\/h at \2°/""
- />
-
- <data_current_icon url="urlc"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/\1/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*/\1/""
- />
-
- <data_current_additional url="urlc"
- humidity="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"humidity\":\"*\([^\",}]*\).*/\1%/""
- rain=""
- dew_point=""
- visibility=""
- pressure="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"pressure\":\"*\([^\",}]*\).*/\1 hPa/""
- uv_index=""
- />
-
- <data_day1 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\1/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\1/""
- />
-
- <data_day2 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\2/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\2.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\2/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\2/""
- />
-
- <data_day3 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\3/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\3.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\3/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\3/""
- />
-
- <data_day4 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\4/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\4.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\4/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\4/""
- />
-
- <data_day5 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\5/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\5.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\5/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\5/""
- />
-
- <data_day6 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\6/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\6.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\6/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\6/""
- />
-
- <data_day7 url="url1"
- name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\7/" | awk '{ print strftime("%d.%m.",$0); }'"
- temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
- temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
- icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\7.png/""
- icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\7/""
- icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\7/""
- />
-
- <icon_transform
- i1="01d" o1="32"
- i2="02d" o2="34"
- i3="03d" o3="30"
- i4="04d" o4="26"
- i5="09d" o5="12"
- i6="10d" o6="39"
- i7="11d" o7="37"
- i8="13d" o8="15"
- i9="50d" o9="20"
- i10="01n" o10="31"
- i11="02n" o11="33"
- i12="03n" o12="29"
- i13="04n" o13="27"
- i14="09n" o14="12"
- i15="10n" o15="45"
- i16="11n" o16="47"
- i17="13n" o17="15"
- i18="50n" o18="20"
- i19="" o19=""
- i20="" o20=""
- i21="" o21=""
- i22="" o22=""
- i23="" o23=""
- i24="" o24=""
- i25="" o25=""
- i26="" o26=""
- i27="" o27=""
- i28="" o28=""
- i29="" o29=""
- i30="" o30=""
- i31="" o31=""
- i32="" o32=""
- i33="" o33=""
- i34="" o34=""
- i35="" o35=""
- i36="" o36=""
- i37="" o37=""
- i38="" o38=""
- i39="" o39=""
- i40="" o40=""
- i41="" o41=""
- i42="" o42=""
- i43="" o43=""
- i44="" o44=""
- i45="" o45=""
- i46="" o46=""
- i47="" o47=""
- i48="" o48=""
- />
-
- <wind_transform
- i1="0" o1="N"
- i2="1" o2="NNE"
- i3="2" o3="NE"
- i4="3" o4="ENE"
- i5="4" o5="E"
- i6="5" o6="SSE"
- i7="6" o7="SE"
- i8="7" o8="ESE"
- i9="8" o9="S"
- i10="15" o10="NNW"
- i11="14" o11="NW"
- i12="13" o12="WNW"
- i13="12" o13="W"
- i14="9" o14="SSW"
- i15="10" o15="SW"
- i16="11" o16="WSW"
- i17="Var" o17="Var"
- i18="Variable" o18="Var"
- i19="Calm" o19="Calm"
- i20="" o20=""
- />
-</custom_weather>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/openweathermap_org_celsius.xml new/cwp-1.12.0/data/openweathermap_org_celsius.xml
--- old/cwp-1.11.1/data/openweathermap_org_celsius.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/cwp-1.12.0/data/openweathermap_org_celsius.xml 2014-11-22 10:03:27.000000000 +0100
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+
+<custom_weather>
+ <xml_file_version type="cwp" version="2014-11-22" name="openweathermap.org" search_page="http://www.openweathermap.org" example_zip="id=2643743 or q=London,UK" unit="C" />
+
+ <locale_settings locale="utf-8" encoding="utf8" />
+
+ <urlc urlc_prefix="http://api.openweathermap.org/data/2.5/weather?" urlc_suffix="&units=metric" urlc_follow="" />
+
+ <url1 url1_prefix="http://api.openweathermap.org/data/2.5/forecast/daily?" url1_suffix="&cnt=7&units=metric" url1_follow="" />
+
+ <url2 url2_prefix="" url2_suffix="" url2_follow="" />
+
+ <url3 url3_prefix="" url3_suffix="" url3_follow="" />
+
+ <url4 url4_prefix="" url4_suffix="" url4_follow="" />
+
+ <url5 url5_prefix="" url5_suffix="" url5_follow="" />
+
+ <url6 url6_prefix="" url6_suffix="" url6_follow="" />
+
+ <url7 url7_prefix="" url7_suffix="" url7_follow="" />
+
+ <data_location url="urlc"
+ location="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"name\":\"*\([^\",}]*\).*/\1/""
+ country="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"country\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_sun url="urlc"
+ sunrise="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunrise\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ sunset="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunset\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ />
+
+ <data_current_temperature url="urlc"
+ update_time="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ temperature="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"temp\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0*10+0.5)/10}'"
+ temperature_felt="echo -n"
+ />
+
+ <data_current_wind url="urlc"
+ wind_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\2/" | awk '{print int((($0+11.25)/22.5)%16)}'"
+ wind_speed="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",}]*\).*/\1 km\/h/""
+ wind="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\1 km\/h at \2°/""
+ />
+
+ <data_current_icon url="urlc"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/\1/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_current_additional url="urlc"
+ humidity="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"humidity\":\"*\([^\",}]*\).*/\1%/""
+ rain=""
+ dew_point=""
+ visibility=""
+ pressure="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"pressure\":\"*\([^\",}]*\).*/\1 hPa/""
+ uv_index=""
+ />
+
+ <data_day1 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\1/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_day2 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\2/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\2.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\2/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\2/""
+ />
+
+ <data_day3 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\3/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\3.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\3/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\3/""
+ />
+
+ <data_day4 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\4/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\4.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\4/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\4/""
+ />
+
+ <data_day5 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\5/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\5.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\5/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\5/""
+ />
+
+ <data_day6 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\6/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\6.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\6/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\6/""
+ />
+
+ <data_day7 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\7/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\7.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\7/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\7/""
+ />
+
+ <icon_transform
+ i1="01d" o1="32"
+ i2="02d" o2="34"
+ i3="03d" o3="30"
+ i4="04d" o4="26"
+ i5="09d" o5="12"
+ i6="10d" o6="39"
+ i7="11d" o7="37"
+ i8="13d" o8="15"
+ i9="50d" o9="20"
+ i10="01n" o10="31"
+ i11="02n" o11="33"
+ i12="03n" o12="29"
+ i13="04n" o13="27"
+ i14="09n" o14="12"
+ i15="10n" o15="45"
+ i16="11n" o16="47"
+ i17="13n" o17="15"
+ i18="50n" o18="20"
+ i19="" o19=""
+ i20="" o20=""
+ i21="" o21=""
+ i22="" o22=""
+ i23="" o23=""
+ i24="" o24=""
+ i25="" o25=""
+ i26="" o26=""
+ i27="" o27=""
+ i28="" o28=""
+ i29="" o29=""
+ i30="" o30=""
+ i31="" o31=""
+ i32="" o32=""
+ i33="" o33=""
+ i34="" o34=""
+ i35="" o35=""
+ i36="" o36=""
+ i37="" o37=""
+ i38="" o38=""
+ i39="" o39=""
+ i40="" o40=""
+ i41="" o41=""
+ i42="" o42=""
+ i43="" o43=""
+ i44="" o44=""
+ i45="" o45=""
+ i46="" o46=""
+ i47="" o47=""
+ i48="" o48=""
+ />
+
+ <wind_transform
+ i1="0" o1="N"
+ i2="1" o2="NNE"
+ i3="2" o3="NE"
+ i4="3" o4="ENE"
+ i5="4" o5="E"
+ i6="5" o6="SSE"
+ i7="6" o7="SE"
+ i8="7" o8="ESE"
+ i9="8" o9="S"
+ i10="15" o10="NNW"
+ i11="14" o11="NW"
+ i12="13" o12="WNW"
+ i13="12" o13="W"
+ i14="9" o14="SSW"
+ i15="10" o15="SW"
+ i16="11" o16="WSW"
+ i17="Var" o17="Var"
+ i18="Variable" o18="Var"
+ i19="Calm" o19="Calm"
+ i20="" o20=""
+ />
+</custom_weather>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/openweathermap_org_fahrenheit.xml new/cwp-1.12.0/data/openweathermap_org_fahrenheit.xml
--- old/cwp-1.11.1/data/openweathermap_org_fahrenheit.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/cwp-1.12.0/data/openweathermap_org_fahrenheit.xml 2014-11-22 10:03:27.000000000 +0100
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+
+<custom_weather>
+ <xml_file_version type="cwp" version="2014-11-22" name="openweathermap.org" search_page="http://www.openweathermap.org" example_zip="id=5506956 or q=Las Vegas,US" unit="F" />
+
+ <locale_settings locale="utf-8" encoding="utf8" />
+
+ <urlc urlc_prefix="http://api.openweathermap.org/data/2.5/weather?" urlc_suffix="&units=imperial" urlc_follow="" />
+
+ <url1 url1_prefix="http://api.openweathermap.org/data/2.5/forecast/daily?" url1_suffix="&cnt=7&units=imperial" url1_follow="" />
+
+ <url2 url2_prefix="" url2_suffix="" url2_follow="" />
+
+ <url3 url3_prefix="" url3_suffix="" url3_follow="" />
+
+ <url4 url4_prefix="" url4_suffix="" url4_follow="" />
+
+ <url5 url5_prefix="" url5_suffix="" url5_follow="" />
+
+ <url6 url6_prefix="" url6_suffix="" url6_follow="" />
+
+ <url7 url7_prefix="" url7_suffix="" url7_follow="" />
+
+ <data_location url="urlc"
+ location="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"name\":\"*\([^\",}]*\).*/\1/""
+ country="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"country\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_sun url="urlc"
+ sunrise="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunrise\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ sunset="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"sunset\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ />
+
+ <data_current_temperature url="urlc"
+ update_time="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%H:%M",$0); }'"
+ temperature="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"temp\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0*10+0.5)/10}'"
+ temperature_felt="echo -n"
+ />
+
+ <data_current_wind url="urlc"
+ wind_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\2/" | awk '{print int((($0+11.25)/22.5)%16)}'"
+ wind_speed="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",}]*\).*/\1 km\/h/""
+ wind="tr -d '\r' | tr -d '\n' | sed -e "s/.*wind.*\"speed\":\"*\([^\",]*\)[^{}]*deg\":\"*\([^\",}]*\).*/\1 km\/h at \2°/""
+ />
+
+ <data_current_icon url="urlc"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*/\1/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_current_additional url="urlc"
+ humidity="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"humidity\":\"*\([^\",}]*\).*/\1%/""
+ rain=""
+ dew_point=""
+ visibility=""
+ pressure="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"pressure\":\"*\([^\",}]*\).*/\1 hPa/""
+ uv_index=""
+ />
+
+ <data_day1 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\1/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\1/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\1.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\1/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\1/""
+ />
+
+ <data_day2 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\2/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\2/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\2.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\2/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\2/""
+ />
+
+ <data_day3 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\3/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\3/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\3.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\3/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\3/""
+ />
+
+ <data_day4 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\4/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\4/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\4.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\4/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\4/""
+ />
+
+ <data_day5 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\5/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\5/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\5.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\5/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\5/""
+ />
+
+ <data_day6 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\6/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\6/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\6.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\6/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\6/""
+ />
+
+ <data_day7 url="url1"
+ name="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*\"dt\":\"*\([^\",}]*\).*/\7/" | awk '{ print strftime("%d.%m.",$0); }'"
+ temperature_low="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*\"min\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
+ temperature_high="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*\"max\":\"*\([^\",}]*\).*/\7/" | awk '{print int($0+0.5)}'"
+ icon="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/http:\/\/openweathermap.org\/img\/w\/\7.png/""
+ icon_code="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*\"icon\":\"*\([^\",}]*\).*/\7/""
+ icon_text="tr -d '\r' | tr -d '\n' | sed -e "s/.*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*\"description\":\"*\([^\",}]*\).*/\7/""
+ />
+
+ <icon_transform
+ i1="01d" o1="32"
+ i2="02d" o2="34"
+ i3="03d" o3="30"
+ i4="04d" o4="26"
+ i5="09d" o5="12"
+ i6="10d" o6="39"
+ i7="11d" o7="37"
+ i8="13d" o8="15"
+ i9="50d" o9="20"
+ i10="01n" o10="31"
+ i11="02n" o11="33"
+ i12="03n" o12="29"
+ i13="04n" o13="27"
+ i14="09n" o14="12"
+ i15="10n" o15="45"
+ i16="11n" o16="47"
+ i17="13n" o17="15"
+ i18="50n" o18="20"
+ i19="" o19=""
+ i20="" o20=""
+ i21="" o21=""
+ i22="" o22=""
+ i23="" o23=""
+ i24="" o24=""
+ i25="" o25=""
+ i26="" o26=""
+ i27="" o27=""
+ i28="" o28=""
+ i29="" o29=""
+ i30="" o30=""
+ i31="" o31=""
+ i32="" o32=""
+ i33="" o33=""
+ i34="" o34=""
+ i35="" o35=""
+ i36="" o36=""
+ i37="" o37=""
+ i38="" o38=""
+ i39="" o39=""
+ i40="" o40=""
+ i41="" o41=""
+ i42="" o42=""
+ i43="" o43=""
+ i44="" o44=""
+ i45="" o45=""
+ i46="" o46=""
+ i47="" o47=""
+ i48="" o48=""
+ />
+
+ <wind_transform
+ i1="0" o1="N"
+ i2="1" o2="NNE"
+ i3="2" o3="NE"
+ i4="3" o4="ENE"
+ i5="4" o5="E"
+ i6="5" o6="SSE"
+ i7="6" o7="SE"
+ i8="7" o8="ESE"
+ i9="8" o9="S"
+ i10="15" o10="NNW"
+ i11="14" o11="NW"
+ i12="13" o12="WNW"
+ i13="12" o13="W"
+ i14="9" o14="SSW"
+ i15="10" o15="SW"
+ i16="11" o16="WSW"
+ i17="Var" o17="Var"
+ i18="Variable" o18="Var"
+ i19="Calm" o19="Calm"
+ i20="" o20=""
+ />
+</custom_weather>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/pogodynka_pl.xml new/cwp-1.12.0/data/pogodynka_pl.xml
--- old/cwp-1.11.1/data/pogodynka_pl.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/pogodynka_pl.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="pogodynka.pl" search_page="http://www.pogodynka.pl" example_zip="polska/warszawa_warszawa" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="pogodynka.pl" search_page="http://www.pogodynka.pl" example_zip="polska/warszawa_warszawa" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/satellite_images.xml new/cwp-1.12.0/data/satellite_images.xml
--- old/cwp-1.11.1/data/satellite_images.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/satellite_images.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp_satellite_images" version="2014-09-06" />
+ <xml_file_version type="cwp_satellite_images" version="2014-11-22" />
<!--Global-->
<image name="- - Global - -" url="" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/uk_weather_com.xml new/cwp-1.12.0/data/uk_weather_com.xml
--- old/cwp-1.11.1/data/uk_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/uk_weather_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="uk.weather.com" search_page="http://uk.weather.com" example_zip="London-UKXX0085" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="uk.weather.com" search_page="http://uk.weather.com" example_zip="London-UKXX0085" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/wetter_com.xml new/cwp-1.12.0/data/wetter_com.xml
--- old/cwp-1.11.1/data/wetter_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/wetter_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -2,7 +2,7 @@
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="wetter.com" search_page="http://www.wetter.com" example_zip="DE0006515" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="wetter.com" search_page="http://www.wetter.com" example_zip="DE0006515" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
<urlc urlc_prefix="http://www.wetter.com/wetter_aktuell/aktuelles_wetter/deutschland/" urlc_suffix=".html" urlc_follow="" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_accuweather_com_us_celsius.xml new/cwp-1.12.0/data/www_accuweather_com_us_celsius.xml
--- old/cwp-1.11.1/data/www_accuweather_com_us_celsius.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_accuweather_com_us_celsius.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.accuweather.com US" search_page="http://www.accuweather.com" example_zip="phoenix-az/85003/weather-forecast/346935" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.accuweather.com US" search_page="http://www.accuweather.com" example_zip="phoenix-az/85003/weather-forecast/346935" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_accuweather_com_us_fahrenheit.xml new/cwp-1.12.0/data/www_accuweather_com_us_fahrenheit.xml
--- old/cwp-1.11.1/data/www_accuweather_com_us_fahrenheit.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_accuweather_com_us_fahrenheit.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.accuweather.com US" search_page="http://www.accuweather.com" example_zip="phoenix-az/85003/weather-forecast/346935" unit="F" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.accuweather.com US" search_page="http://www.accuweather.com" example_zip="phoenix-az/85003/weather-forecast/346935" unit="F" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_accuweather_com_world_celsius.xml new/cwp-1.12.0/data/www_accuweather_com_world_celsius.xml
--- old/cwp-1.11.1/data/www_accuweather_com_world_celsius.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_accuweather_com_world_celsius.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.accuweather.com World" search_page="http://www.accuweather.com" example_zip="za/johannesburg/305448/weather-forecast/305448" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.accuweather.com World" search_page="http://www.accuweather.com" example_zip="za/johannesburg/305448/weather-forecast/305448" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_accuweather_com_world_fahrenheit.xml new/cwp-1.12.0/data/www_accuweather_com_world_fahrenheit.xml
--- old/cwp-1.11.1/data/www_accuweather_com_world_fahrenheit.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_accuweather_com_world_fahrenheit.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.accuweather.com World" search_page="http://www.accuweather.com" example_zip="za/johannesburg/305448/weather-forecast/305448" unit="F" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.accuweather.com World" search_page="http://www.accuweather.com" example_zip="za/johannesburg/305448/weather-forecast/305448" unit="F" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_gismeteo_com.xml new/cwp-1.12.0/data/www_gismeteo_com.xml
--- old/cwp-1.11.1/data/www_gismeteo_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_gismeteo_com.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.gismeteo.com" search_page="http://www.gismeteo.ru" example_zip="4944" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.gismeteo.com" search_page="http://www.gismeteo.ru" example_zip="4944" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_weather_com.cn.xml new/cwp-1.12.0/data/www_weather_com.cn.xml
--- old/cwp-1.11.1/data/www_weather_com.cn.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_weather_com.cn.xml 2014-11-22 10:03:27.000000000 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.weather.com.cn" search_page="http://www.weather.com.cn" example_zip="101010100" unit="C" />
+ <xml_file_version type="cwp" version="2014-11-22" name="www.weather.com.cn" search_page="http://www.weather.com.cn" example_zip="101010100" unit="C" />
<locale_settings locale="utf-8" encoding="utf8" />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/data/www_weather_com.xml new/cwp-1.12.0/data/www_weather_com.xml
--- old/cwp-1.11.1/data/www_weather_com.xml 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/data/www_weather_com.xml 1970-01-01 01:00:00.000000000 +0100
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-
-<custom_weather>
- <xml_file_version type="cwp" version="2014-09-06" name="www.weather.com" search_page="http://www.weather.com" example_zip="USDC0001" unit="F" />
-
- <locale_settings locale="utf-8" encoding="utf8" />
-
- <urlc urlc_prefix="http://www.weather.com/weather/right-now/" urlc_suffix="" urlc_follow="" />
-
- <url1 url1_prefix="http://www.weather.com/weather/tenday/" url1_suffix="" url1_follow="" />
-
- <url2 url2_prefix="http://www.weather.com/weather/today/" url2_suffix="" url2_follow="" />
-
- <url3 url3_prefix="" url3_suffix="" url3_follow="" />
-
- <url4 url4_prefix="" url4_suffix="" url4_follow="" />
-
- <url5 url5_prefix="" url5_suffix="" url5_follow="" />
-
- <url6 url6_prefix="" url6_suffix="" url6_follow="" />
-
- <url7 url7_prefix="" url7_suffix="" url7_follow="" />
-
- <data_location url="url1"
- location="grep \"city\" | sed -e "s/.*\"city\":\"\([^\"]*\)\".*/\1/""
- country="grep \"state\" | sed -e "s/.*\"state\":\"\([^\"]*\)\".*/\1/" | tr '[:lower:]' '[:upper:]'"
- />
-
- <data_sun url="urlc"
- sunrise="grep -A 1 Sunrise: | head -n 2 | tail -n 1 | sed -e "s/[^>]*>\([^<]*\).*/\1/""
- sunset="grep -A 1 Sunset: | head -n 2 | tail -n 1 | sed -e "s/[^>]*>\([^<]*\).*/\1/""
- />
-
- <data_current_temperature url="urlc"
- update_time="grep -A 18 Updated: | tr -d '\r' | tr -d '\n' | awk '{print}' | sed -e "s/<[^>]*>//g" | sed -e "s/.*Updated:.* \([0-9]*:*[0-9]*[ap]m\).*/\1/""
- temperature="grep \"realTemp\" | sed -e "s/.*\"realTemp\":\"*\([-0-9]*\).*/\1/""
- temperature_felt="grep feels-like-temperature-fahrenheit | sed -e "s/.*feels-like-temperature-fahrenheit[^>]*>\([-0-9]*\).*/\1/""
- />
-
- <data_current_wind url="urlc"
- wind_code="grep wx-wind-label | sed -e "s/<[^>]*>//g" | sed -e "s/\([^ ]*\).*/\1/""
- wind="grep wx-wind-label | sed -e "s/<[^>]*>//g""
- wind_speed="grep wx-wind-label | sed -e "s/<[^>]*>//g" | sed -e "s/[^ ]* at \([0-9C]\+.*\)/\1/""
- />
-
- <data_current_icon url="urlc"
- icon="grep wx-weather-icon\" | head -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wx-weather-icon\" | head -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\ *\" | sed -e "s/.*wx-phrase\s*\"[^>]*>\([^<]*\).*/\1/""
- />
-
- <data_current_additional url="urlc"
- humidity="grep \"relativeHumidity\" | sed -e "s/.*\"relativeHumidity\":\"*\([0-9]*\).*/\1 %/""
- rain="echo -n"
- dew_point="grep -A 5 Dew\ Point: | head -n 6 | tail -n 1 | sed -e "s/[^0-9]*\([0-9]\+\)&deg.*/\1/""
- visibility="grep -A 1 Visibility: | head -n 2 | tail -n 1 | sed -e "s/[^>]*>\([^<]*\).*/\1/""
- pressure="grep -A 1 barometric-pressure-incheshg | head -n 2 | tail -n 1 | sed -e "s/[^>]*>\([^<]*\).*/\1/""
- uv_index="grep -A 1 UV\ Index: | head -n 2 | tail -n 1 | sed -e "s/[^>]*>\([^<]*\).*/\1/""
- />
-
- <data_day1 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 1 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 1 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 1 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 1 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 1 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 1 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day2 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 2 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 2 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 2 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 2 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 2 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 2 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day3 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 3 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 3 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 3 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 3 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 3 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 3 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day4 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 4 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 4 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 4 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 4 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 4 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 4 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day5 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 5 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 5 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 5 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 5 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 5 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 5 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day6 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 6 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 6 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 6 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 6 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 6 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 6 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <data_day7 url="url1"
- name="grep -A5 wx-daypart\" | grep \<h3 | head -n 7 | tail -n 1 | sed -e "s/<[^>]*>//g""
- temperature_low="grep p\ class=\"wx-temp-alt\" | head -n 7 | tail -n 1 | grep wx-temp-alt\" | sed -e "s/.*wx-temp-alt\"> *\([-0-9]*\).*/\1/""
- temperature_high="grep p\ class=\"wx-temp\" | head -n 7 | tail -n 1 | sed -e "s/.*wx-temp\"> *\([-0-9]*\).*/\1/""
- icon="grep wxicon\/ | grep height=\"70 | head -n 7 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/""
- icon_code="grep wxicon\/ | grep height=\"70 | head -n 7 | tail -n 1 | sed -e "s/.*src=\"\([^\"]*\).*/\1/" | sed -e "s/.*\/\([0-9]*\)\.png/\1/""
- icon_text="grep wx-phrase\" | head -n 7 | tail -n 1 | sed -e "s/.*wx-phrase\">\([^<]*\).*/\1/""
- />
-
- <icon_transform i1="01" o1="01"
- i2="02" o2="02"
- i3="03" o3="03"
- i4="04" o4="04"
- i5="05" o5="05"
- i6="06" o6="06"
- i7="07" o7="07"
- i8="08" o8="08"
- i9="09" o9="09"
- i10="10" o10="10"
- i11="11" o11="11"
- i12="12" o12="12"
- i13="13" o13="13"
- i14="14" o14="14"
- i15="15" o15="15"
- i16="16" o16="16"
- i17="17" o17="17"
- i18="18" o18="18"
- i19="19" o19="19"
- i20="20" o20="20"
- i21="21" o21="21"
- i22="22" o22="22"
- i23="23" o23="23"
- i24="24" o24="24"
- i25="25" o25="25"
- i26="26" o26="26"
- i27="27" o27="27"
- i28="28" o28="28"
- i29="29" o29="29"
- i30="30" o30="30"
- i31="31" o31="31"
- i32="32" o32="32"
- i33="33" o33="33"
- i34="34" o34="34"
- i35="35" o35="35"
- i36="36" o36="36"
- i37="37" o37="37"
- i38="38" o38="38"
- i39="39" o39="39"
- i40="40" o40="40"
- i41="41" o41="41"
- i42="42" o42="42"
- i43="43" o43="43"
- i44="44" o44="44"
- i45="45" o45="45"
- i46="46" o46="46"
- i47="47" o47="47"
- i48="48" o48="48"
- />
-
- <wind_transform i1="N" o1="N"
- i2="NNE" o2="NNE"
- i3="NE" o3="NE"
- i4="ENE" o4="ENE"
- i5="E" o5="E"
- i6="SSE" o6="SSE"
- i7="SE" o7="SE"
- i8="ESE" o8="ESE"
- i9="S" o9="S"
- i10="NNW" o10="NNW"
- i11="NW" o11="NW"
- i12="WNW" o12="WNW"
- i13="W" o13="W"
- i14="SSW" o14="SSW"
- i15="SW" o15="SW"
- i16="WSW" o16="WSW"
- i17="Var" o17="Var"
- i18="Variable" o18="Var"
- i19="Calm" o19="Calm"
- i20="" o20=""
- />
-</custom_weather>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/plasma-applet-cwp.desktop new/cwp-1.12.0/plasma-applet-cwp.desktop
--- old/cwp-1.11.1/plasma-applet-cwp.desktop 2014-09-06 00:32:36.000000000 +0200
+++ new/cwp-1.12.0/plasma-applet-cwp.desktop 2014-11-22 10:03:27.000000000 +0100
@@ -30,7 +30,7 @@
X-KDE-PluginInfo-Author=Georg Hennig
X-KDE-PluginInfo-Email=georg.hennig(a)web.de
X-KDE-PluginInfo-Name=plasma_applet_cwp
-X-KDE-PluginInfo-Version=1.11.1
+X-KDE-PluginInfo-Version=1.12.0
X-KDE-PluginInfo-Website=http://www.kde-look.org/content/show.php/show.php?…
X-KDE-PluginInfo-Category=
X-KDE-PluginInfo-Depends=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/plasma-cwp.cpp new/cwp-1.12.0/plasma-cwp.cpp
--- old/cwp-1.11.1/plasma-cwp.cpp 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/plasma-cwp.cpp 2014-11-22 10:03:27.000000000 +0100
@@ -114,11 +114,11 @@
preferred_location_list.clear();
xml_data_file_list.clear();
- populateXmlDataFileList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/www_weather_com.xml" ) + "plasma-cwp" ) );
+ populateXmlDataFileList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/satellite_images.xml" ) + "plasma-cwp" ) );
populateXmlDataFileList( QDir( KStandardDirs::locateLocal( "data", "cwp/" ) ) );
satellite_images_list.clear();
- populateSatelliteImagesList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/www_weather_com.xml" ) + "plasma-cwp" ) );
+ populateSatelliteImagesList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/satellite_images.xml" ) + "plasma-cwp" ) );
populateSatelliteImagesList( QDir( KStandardDirs::locateLocal( "data", "cwp/" ) ) );
background_file_list.clear();
@@ -131,7 +131,7 @@
background_file_tmp.example_zip = "";
background_file_tmp.file_name = "";
background_file_list.append( background_file_tmp );
- populateBackgroundFileList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/www_weather_com.xml" ) + "plasma-cwp" ) );
+ populateBackgroundFileList( QDir( KGlobal::dirs()->findResourceDir( "data", "plasma-cwp/satellite_images.xml" ) + "plasma-cwp" ) );
populateBackgroundFileList( QDir( KStandardDirs::locateLocal( "data", "cwp/" ) ) );
if ( size().height() < 150. ) Plasma::ToolTipManager::self()->registerWidget( this );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cwp-1.11.1/version.h new/cwp-1.12.0/version.h
--- old/cwp-1.11.1/version.h 2014-09-06 00:32:37.000000000 +0200
+++ new/cwp-1.12.0/version.h 2014-11-22 10:03:27.000000000 +0100
@@ -20,7 +20,7 @@
#ifndef version_h
#define version_h
-#define VERSION "1.11.1"
+#define VERSION "1.12.0"
#define DATE "2009-2014"
#define AUTHOR "Georg Hennig"
#define NAME "Customizable Weather Plasmoid (CWP)"
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kradio for openSUSE:Factory checked in at 2015-02-03 11:40:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kradio (Old)
and /work/SRC/openSUSE:Factory/.kradio.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kradio"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kradio/kradio.changes 2014-01-29 07:15:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kradio.new/kradio.changes 2015-02-03 11:40:15.000000000 +0100
@@ -1,0 +2,32 @@
+Fri Jan 30 21:41:31 UTC 2015 - asterios.dramis(a)gmail.com
+
+- Update to version 4.0.8:
+ * updated Czech translation
+ * fixed handling of alsa devices without mixer elements
+ * enabled internet radio reconnect-watchdog with default timeout 4s
+ * fixed Qt include paths for Ubuntu
+ * fixed build dependencies in CMakeLists.txt and Debian/SuSE/Fedora build
+ scripts
+ * cleaned backlog of translation & preset emails
+ * suspend-on-sleep feature added
+ * fixed alarm time slip after suspend
+ * updated for recent libav/libffmpeg
+ * updated German translation
+ * QString -> char* conversion fixes
+ * various Build system fixes
+ * various misc / conformance fixes
+ * updated Italian translation
+ * MPRIS Plugin
+ * various build system fixes
+ * various misc/i18n-conformance improvements
+ * updated Russian translation
+ * fixed compilation problems in Serbian translation
+ * added more parts of Slovak translation
+ * added Serbian (Latin) translation
+ * fixed German translation for recent text string changes
+- Added new build requirement alsa-devel.
+- Added optional build requirement lame.
+- Removed explicitly_add_qtcore_includes.patch (fixed upstream).
+- Rebased suse_docdir.patch to apply cleanly.
+
+-------------------------------------------------------------------
Old:
----
explicitly_add_qtcore_includes.patch
kradio4-4.0.7.tar.bz2
New:
----
kradio4-4.0.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kradio.spec ++++++
--- /var/tmp/diff_new_pack.z5fK3h/_old 2015-02-03 11:40:17.000000000 +0100
+++ /var/tmp/diff_new_pack.z5fK3h/_new 2015-02-03 11:40:17.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kradio
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,10 @@
%bcond_with ffmpeg
+%bcond_with lame
Name: kradio
-Version: 4.0.7
+Version: 4.0.8
Release: 0
Summary: AM/FM Application for KDE 4
License: GPL-2.0+
@@ -28,9 +29,7 @@
Source: http://sourceforge.net/projects/kradio/files/kradio/%{version}/kradio4-%{ve…
# PATCH-FIX-OPENSUSE suse_docdir.patch -- Use openSUSE default doc directory
Patch0: suse_docdir.patch
-# PATCH-FIX-OPENSUSE explicitly_add_qtcore_includes.patch -- fixes build with newer kdelibs versions, as includes
-# are now prefered without qtmodule
-Patch1: explicitly_add_qtcore_includes.patch
+BuildRequires: alsa-devel
BuildRequires: boost-devel
BuildRequires: fdupes
BuildRequires: libkde4-devel
@@ -41,6 +40,9 @@
BuildRequires: libffmpeg-devel
BuildRequires: libmms-devel
%endif
+%if %{with lame}
+BuildRequires: libmp3lame-devel
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%kde4_runtime_requires
@@ -67,10 +69,13 @@
%prep
%setup -q -n kradio4-%{version}
%patch0 -p1
-%patch1 -p1
%build
+%if %{with ffmpeg}
%cmake_kde4 -d build
+%else
+%cmake_kde4 -d build -- -DWITH_FFMPEG=OFF
+%endif
%make_jobs
%install
@@ -80,10 +85,6 @@
%fdupes -s %{buildroot}
%find_lang kradio4 --all-name
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
%files -f kradio4.lang
%defattr(-,root,root,-)
%{_datadir}/pixmaps/kradio4.png
++++++ kradio4-4.0.7.tar.bz2 -> kradio4-4.0.8.tar.bz2 ++++++
++++ 74472 lines of diff (skipped)
++++++ suse_docdir.patch ++++++
--- /var/tmp/diff_new_pack.z5fK3h/_old 2015-02-03 11:40:18.000000000 +0100
+++ /var/tmp/diff_new_pack.z5fK3h/_new 2015-02-03 11:40:18.000000000 +0100
@@ -1,13 +1,12 @@
-Index: kradio4-4.0.0/CMakeLists.txt
-===================================================================
---- kradio4-4.0.0.orig/CMakeLists.txt
-+++ kradio4-4.0.0/CMakeLists.txt
-@@ -127,7 +127,7 @@ SET(documentation_files
+diff -Naur kradio4-4.0.8.orig/CMakeLists.txt kradio4-4.0.8/CMakeLists.txt
+--- kradio4-4.0.8.orig/CMakeLists.txt 2014-09-28 00:51:08.000000000 +0300
++++ kradio4-4.0.8/CMakeLists.txt 2015-01-30 23:24:19.598568581 +0200
+@@ -134,7 +134,7 @@
INSTALL(
FILES ${documentation_files}
-- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/kradio4/
-+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/packages/kradio/
+- DESTINATION ${SHARE_INSTALL_PREFIX}/doc/kradio4/
++ DESTINATION ${SHARE_INSTALL_PREFIX}/doc/packages/kradio/
)
INSTALL(
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package geary for openSUSE:Factory checked in at 2015-02-03 11:40:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/geary (Old)
and /work/SRC/openSUSE:Factory/.geary.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "geary"
Changes:
--------
--- /work/SRC/openSUSE:Factory/geary/geary.changes 2014-12-23 11:49:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.geary.new/geary.changes 2015-02-03 11:40:13.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Jan 2 14:50:56 UTC 2015 - zaitor(a)opensuse.org
+
+- Add geary-Off-by-one-heap-buffer-overflow.patch: Heap access
+ violation in random_string(). Needed to allocate space for
+ terminating NUL (bgo#741842).
+
+-------------------------------------------------------------------
New:
----
geary-Off-by-one-heap-buffer-overflow.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ geary.spec ++++++
--- /var/tmp/diff_new_pack.ClRRRH/_old 2015-02-03 11:40:15.000000000 +0100
+++ /var/tmp/diff_new_pack.ClRRRH/_new 2015-02-03 11:40:15.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package geary
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,6 +24,8 @@
Group: Productivity/Networking/Email/Clients
Url: http://yorba.org/geary
Source: http://download.gnome.org/sources/geary/0.8/%{name}-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM geary-Off-by-one-heap-buffer-overflow.patch bgo#741842 zaitor(a)opensuse.org -- Heap access violation in random_string()
+Patch0: geary-Off-by-one-heap-buffer-overflow.patch
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: intltool
@@ -57,6 +59,7 @@
%lang_package
%prep
%setup -q
+%patch0 -p1
%build
%cmake -DVALA_EXECUTABLE:FILEPATH=%{_bindir}/valac%{?vala_version_suffix} \
++++++ geary-Off-by-one-heap-buffer-overflow.patch ++++++
>From c2380abff29a7c5209c57d18bc90a960d79366ab Mon Sep 17 00:00:00 2001
From: Sergey Shnatsel Davidoff <sergey(a)elementaryos.org>
Date: Mon, 22 Dec 2014 12:28:13 -0800
Subject: Heap access violation in random_string(): Bug #741842
Needed to allocate space for terminating NUL.
diff --git a/src/client/util/util-random.vala b/src/client/util/util-random.vala
index e8939f4..2310185 100644
--- a/src/client/util/util-random.vala
+++ b/src/client/util/util-random.vala
@@ -7,9 +7,10 @@
private string random_string(int length) {
// No upper case letters, since request gets lower-cased.
string chars = "abcdefghijklmnopqrstuvwxyz";
- char[] random = new char[length];
+ char[] random = new char[length+1]; //leave room for terminating null
for (int i = 0; i < length; i++)
random[i] = chars[Random.int_range(0, chars.length)];
+ random[length] = '\0'; //make sure the string is null-terminated
return (string) random;
}
--
cgit v0.10.1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package grilo-plugins for openSUSE:Factory checked in at 2015-02-03 11:39:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grilo-plugins (Old)
and /work/SRC/openSUSE:Factory/.grilo-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grilo-plugins"
Changes:
--------
--- /work/SRC/openSUSE:Factory/grilo-plugins/grilo-plugins.changes 2014-10-14 07:11:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grilo-plugins.new/grilo-plugins.changes 2015-02-03 11:40:12.000000000 +0100
@@ -1,0 +2,6 @@
+Sat Jan 31 04:14:03 UTC 2015 - zaitor(a)opensuse.org
+
+- Disable make check for PPC64 and PPC64le arches (boo#915682).
+ Fixes build for PPC arches on a temporarly basis.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grilo-plugins.spec ++++++
--- /var/tmp/diff_new_pack.5YCBWh/_old 2015-02-03 11:40:13.000000000 +0100
+++ /var/tmp/diff_new_pack.5YCBWh/_new 2015-02-03 11:40:13.000000000 +0100
@@ -122,7 +122,10 @@
%find_lang %{name} %{?no_lang_C}
%check
+# Temp disable make check for PPC arches as they fail - boo#915682 filed.
+%ifnarch ppc64 || ppc64le
make check
+%endif
%clean
%{?buildroot:rm -rf %{buildroot}}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package sushi for openSUSE:Factory checked in at 2015-02-03 11:39:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sushi (Old)
and /work/SRC/openSUSE:Factory/.sushi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sushi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sushi/sushi.changes 2014-05-05 21:18:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sushi.new/sushi.changes 2015-02-03 11:40:10.000000000 +0100
@@ -1,0 +2,6 @@
+Sat Jan 31 04:20:57 UTC 2015 - zaitor(a)opensuse.org
+
+- Exclude unoconv BuildRequires on PPC arches as it is not
+ available there.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sushi.spec ++++++
--- /var/tmp/diff_new_pack.rvwH3o/_old 2015-02-03 11:40:11.000000000 +0100
+++ /var/tmp/diff_new_pack.rvwH3o/_new 2015-02-03 11:40:11.000000000 +0100
@@ -26,7 +26,9 @@
Source0: http://download.gnome.org/sources/sushi/3.12/%{name}-%{version}.tar.xz
BuildRequires: gobject-introspection-devel
BuildRequires: intltool
+%ifnarch ppc || ppc64 || ppc64le
BuildRequires: unoconv
+%endif
BuildRequires: pkgconfig(clutter-1.0) >= 1.11.4
BuildRequires: pkgconfig(clutter-gst-2.0)
BuildRequires: pkgconfig(clutter-gtk-1.0)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package liblxqt-mount-qt5 for openSUSE:Factory checked in at 2015-02-03 11:39:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liblxqt-mount-qt5 (Old)
and /work/SRC/openSUSE:Factory/.liblxqt-mount-qt5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liblxqt-mount-qt5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/liblxqt-mount-qt5/liblxqt-mount-qt5.changes 2014-11-05 16:27:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.liblxqt-mount-qt5.new/liblxqt-mount-qt5.changes 2015-02-03 11:40:09.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Jan 25 20:28:49 UTC 2015 - sfalken(a)opensuse.org
+
+- Added conditionals to enable building for Fedora
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ liblxqt-mount-qt5.spec ++++++
--- /var/tmp/diff_new_pack.AfhMhv/_old 2015-02-03 11:40:10.000000000 +0100
+++ /var/tmp/diff_new_pack.AfhMhv/_new 2015-02-03 11:40:10.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package liblxqt-mount
+# spec file for package liblxqt-mount-qt5
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,7 @@
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkg-config
+BuildRequires: pkgconfig(Qt5UiTools)
BuildRequires: pkgconfig(lxqt-qt5)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -54,11 +55,24 @@
%setup -q -n liblxqt-mount-%{version}
%build
-%cmake -DUSE_QT5=ON
+mkdir build
+pushd build
+cmake \
+ -DUSE_QT5=ON \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+%ifarch x86_64
+ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 \
+ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \
+ -DLIB_SUFFIX=64 \
+%endif
+ ..
%__make %{?_smp_mflags}
+popd
%install
-%cmake_install
+pushd build
+make DESTDIR=$RPM_BUILD_ROOT install
+popd
%post -n liblxqtmount-qt5-0 -p /sbin/ldconfig
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package pcmanfm-qt for openSUSE:Factory checked in at 2015-02-03 11:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pcmanfm-qt (Old)
and /work/SRC/openSUSE:Factory/.pcmanfm-qt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcmanfm-qt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pcmanfm-qt/pcmanfm-qt.changes 2014-11-04 17:28:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pcmanfm-qt.new/pcmanfm-qt.changes 2015-02-03 11:40:07.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Jan 26 00:50:16 UTC 2015 - sfalken(a)opensuse.org
+
+- Added conditionals to enable Fedora builds
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pcmanfm-qt.spec ++++++
--- /var/tmp/diff_new_pack.tAcd16/_old 2015-02-03 11:40:09.000000000 +0100
+++ /var/tmp/diff_new_pack.tAcd16/_new 2015-02-03 11:40:09.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package pcmanfm-qt
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -28,10 +28,10 @@
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5DBus)
-BuildRequires: libqt5-linguist-devel
-Buildrequires: pkgconfig(Qt5X11Extras)
+BuildRequires: pkgconfig(Qt5UiTools)
+BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0)
@@ -65,11 +65,19 @@
%setup -q
%build
-%cmake -DUSE_QT5=ON
-%__make
+mkdir build
+pushd build
+cmake \
+ -DUSE_QT5=ON \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ ..
+%__make %{?_smp_mflags}
+popd
%install
-%cmake_install
+pushd build
+make DESTDIR=$RPM_BUILD_ROOT install
+popd
%post
%desktop_database_post
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lxqt-globalkeys-qt5 for openSUSE:Factory checked in at 2015-02-03 11:39:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lxqt-globalkeys-qt5 (Old)
and /work/SRC/openSUSE:Factory/.lxqt-globalkeys-qt5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lxqt-globalkeys-qt5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lxqt-globalkeys-qt5/lxqt-globalkeys-qt5.changes 2014-11-06 16:50:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lxqt-globalkeys-qt5.new/lxqt-globalkeys-qt5.changes 2015-02-03 11:40:06.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Jan 25 23:31:22 UTC 2015 - sfalken(a)opensuse.org
+
+- Added conditionals to enable Fedora builds
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lxqt-globalkeys-qt5.spec ++++++
--- /var/tmp/diff_new_pack.gSqn2K/_old 2015-02-03 11:40:07.000000000 +0100
+++ /var/tmp/diff_new_pack.gSqn2K/_new 2015-02-03 11:40:07.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package lxqt-globalkeys
+# spec file for package lxqt-globalkeys-qt5
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,7 @@
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-c++
+BuildRequires: pkgconfig(Qt5UiTools)
BuildRequires: pkgconfig(lxqt-qt5) >= 0.8.0
Requires(pre): desktop-file-utils
Requires(post): desktop-file-utils
@@ -39,8 +40,8 @@
Summary: Development files for lxqt-globalkeys
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
-Requires: liblxqt-globalkeys-ui-qt5-0 = %{version}
Requires: liblxqt-globalkeys-qt5-0 = %{version}
+Requires: liblxqt-globalkeys-ui-qt5-0 = %{version}
Requires: pkg-config
%description devel
@@ -64,11 +65,24 @@
%setup -q -n lxqt-globalkeys-%{version}
%build
-%cmake -DUSE_QT5=ON
+mkdir build
+pushd build
+cmake \
+ -DUSE_QT5=ON \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+%ifarch x86_64
+ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 \
+ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \
+ -DLIB_SUFFIX=64 \
+%endif
+ ..
%__make %{?_smp_mflags}
+popd
%install
-%cmake_install
+pushd build
+make DESTDIR=$RPM_BUILD_ROOT install
+popd
%fdupes -s %{buildroot}/%{_datadir}/lxqt/lxqt-config-globalkeyshortcuts
%post
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0