From e687dbf155963e1931fd2f7ac58bd2f4cf862dca Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 4 Jul 2013 13:11:02 -0400 Subject: [PATCH 01/19] If the organizer's name is non-existent, use the email address --- UI/Scheduler/UIxComponentEditor.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/UI/Scheduler/UIxComponentEditor.m b/UI/Scheduler/UIxComponentEditor.m index 398c2cd15..9c3e7cbc5 100644 --- a/UI/Scheduler/UIxComponentEditor.m +++ b/UI/Scheduler/UIxComponentEditor.m @@ -872,10 +872,16 @@ iRANGE(2); - (NSString *) organizerName { NSDictionary *profile; + NSString *s; profile = [[[self organizerProfile] allValues] lastObject]; + + s = [profile objectForKey: @"name"]; - return [profile objectForKey: @"name"]; + if ([s length] == 0) + s = [profile objectForKey: @"email"]; + + return s; } - (NSString *) jsonOrganizer From b8e2255a071dcb2fd2172a73e95d38600d41c1bf Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 11 Jul 2013 13:46:38 -0400 Subject: [PATCH 02/19] Set the events/tasks list collapsable --- UI/Scheduler/UIxCalMainView.m | 28 ++++- UI/Scheduler/UIxCalView.m | 20 +++ UI/Scheduler/product.plist | 5 + UI/Templates/SchedulerUI/UIxCalDayView.wox | 102 +++++++--------- UI/Templates/SchedulerUI/UIxCalMainView.wox | 6 +- UI/Templates/SchedulerUI/UIxCalMonthView.wox | 121 ++++++++----------- UI/Templates/SchedulerUI/UIxCalWeekView.wox | 90 ++++++-------- UI/WebServerResources/SOGoTabsController.js | 1 + UI/WebServerResources/SchedulerUI.css | 88 ++++++-------- UI/WebServerResources/SchedulerUI.js | 38 +++++- 10 files changed, 255 insertions(+), 244 deletions(-) diff --git a/UI/Scheduler/UIxCalMainView.m b/UI/Scheduler/UIxCalMainView.m index a7f9222a1..ea93a63b9 100644 --- a/UI/Scheduler/UIxCalMainView.m +++ b/UI/Scheduler/UIxCalMainView.m @@ -214,8 +214,6 @@ - (BOOL) showCompletedTasks { - BOOL show; - [self _setupContext]; return [[us objectForKey: @"ShowCompletedTasks"] boolValue]; @@ -237,6 +235,32 @@ return [self responseWithStatus: 204]; } +- (WOResponse *) saveListStateAction +{ + WORequest *request; + NSString *state; + + [self _setupContext]; + request = [context request]; + + state = [request formValueForKey: @"state"]; + [moduleSettings setObject: state + forKey: @"ListState"]; + [us synchronize]; + + return [self responseWithStatus: 204]; +} + +- (NSString *) listStateStyle +{ + NSString *state; + + [self _setupContext]; + state = [moduleSettings objectForKey: @"ListState"]; + + return (state && [state compare: @"collapse"] == NSOrderedSame)? @"display: none;" : @""; +} + - (unsigned int) firstDayOfWeek { SOGoUserDefaults *ud; diff --git a/UI/Scheduler/UIxCalView.m b/UI/Scheduler/UIxCalView.m index 2ed982b00..bbf7b4608 100644 --- a/UI/Scheduler/UIxCalView.m +++ b/UI/Scheduler/UIxCalView.m @@ -343,6 +343,26 @@ } } +- (NSString *) collapseBtnClass +{ + NSString *module, *state; + NSMutableDictionary *moduleSettings; + SOGoUser *activeUser; + SOGoAppointmentFolders *clientObject; + SOGoUserSettings *us; + + activeUser = [context activeUser]; + clientObject = [self clientObject]; + + module = [clientObject nameInContainer]; + + us = [activeUser userSettings]; + moduleSettings = [us objectForKey: module]; + state = [moduleSettings objectForKey: @"ListState"]; + + return (state && [state compare: @"collapse"] == NSOrderedSame)? @"rise" : @"collapse"; +} + /* current day related */ - (void) setCurrentDay:(NSCalendarDate *) _day diff --git a/UI/Scheduler/product.plist b/UI/Scheduler/product.plist index c433d5f84..df8ad4852 100644 --- a/UI/Scheduler/product.plist +++ b/UI/Scheduler/product.plist @@ -55,6 +55,11 @@ pageName = "UIxCalMainView"; actionName = "saveSelectedList"; }; + saveListState = { + protectedBy = "View"; + pageName = "UIxCalMainView"; + actionName = "saveListState"; + }; dateselector = { protectedBy = "View"; pageName = "UIxCalDateSelector"; diff --git a/UI/Templates/SchedulerUI/UIxCalDayView.wox b/UI/Templates/SchedulerUI/UIxCalDayView.wox index f41be3a5d..388bd015e 100644 --- a/UI/Templates/SchedulerUI/UIxCalDayView.wox +++ b/UI/Templates/SchedulerUI/UIxCalDayView.wox @@ -1,63 +1,43 @@ - - + - - - - - -
- -
-
+ + + + + + + + + + + +
+ +
+
diff --git a/UI/Templates/SchedulerUI/UIxCalMainView.wox b/UI/Templates/SchedulerUI/UIxCalMainView.wox index 2b34302c6..9cb85f741 100644 --- a/UI/Templates/SchedulerUI/UIxCalMainView.wox +++ b/UI/Templates/SchedulerUI/UIxCalMainView.wox @@ -147,7 +147,7 @@
-
+
  • @@ -202,7 +202,7 @@
-
-
+
+
diff --git a/UI/Templates/SchedulerUI/UIxCalMonthView.wox b/UI/Templates/SchedulerUI/UIxCalMonthView.wox index f01954dcd..c1a47488a 100644 --- a/UI/Templates/SchedulerUI/UIxCalMonthView.wox +++ b/UI/Templates/SchedulerUI/UIxCalMonthView.wox @@ -1,77 +1,58 @@ - + - - - - - - -
-
-
-
+ + + + + + + + + + +
+
+
+
+ >
+ - +
-
- + diff --git a/UI/Templates/SchedulerUI/UIxCalWeekView.wox b/UI/Templates/SchedulerUI/UIxCalWeekView.wox index bcd628801..018be928f 100644 --- a/UI/Templates/SchedulerUI/UIxCalWeekView.wox +++ b/UI/Templates/SchedulerUI/UIxCalWeekView.wox @@ -1,63 +1,43 @@ + xmlns="http://www.w3.org/1999/xhtml" + xmlns:var="http://www.skyrix.com/od/binding" + xmlns:const="http://www.skyrix.com/od/constant" + xmlns:rsrc="OGo:url" + xmlns:label="OGo:label"> - - + - - - + + + + + + + + +
+ className="UIxCalDayTable" + startDate="startDate" + const:CSSClass="weekOverview" + const:numberOfDays="7" />
diff --git a/UI/WebServerResources/SOGoTabsController.js b/UI/WebServerResources/SOGoTabsController.js index d4d7f10bb..31c988823 100644 --- a/UI/WebServerResources/SOGoTabsController.js +++ b/UI/WebServerResources/SOGoTabsController.js @@ -67,6 +67,7 @@ SOGoTabsController.prototype = { attachToTabsContainer: function STC_attachToTabsContainer(container) { this.container = container; + container.controller = this; this.onTabMouseDownBound = this.onTabMouseDown.bindAsEventListener(this); this.onTabClickBound diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css index e09af2f73..1199a518c 100644 --- a/UI/WebServerResources/SchedulerUI.css +++ b/UI/WebServerResources/SchedulerUI.css @@ -319,23 +319,23 @@ SPAN.weeksHeader, SPAN.monthsHeader { display: block; white-space: nowrap; + text-align: center; background-color: #DFDFDF; overflow: hidden; width: 100%; margin: 0px; height: 3em; - padding: 2px 1.5em; + padding: 2px 0px; border-bottom: 1px solid #ccc; } SPAN.daysHeader SPAN, SPAN.weeksHeader SPAN, SPAN.monthsHeader SPAN -{ display: block; +{ font-size: large; margin: .1em; - float: left; - width: 18%; - padding: 0px; + padding: 6px 12px; text-align: center; + line-height: 1.5em; border: 1px solid transparent; vertical-align: top; } @@ -343,67 +343,51 @@ SPAN.daysHeader A, SPAN.weeksHeader A, SPAN.monthsHeader A { border: 1px solid transparent; - color: #000; line-height: 1.5em; - padding: 0px .5em; } + padding: 0px 0.7em; } -A.leftNavigationArrow, -A.rightNavigationArrow -{ border: 1px solid transparent; - padding: .5em; - text-align: center; - vertical-align: bottom; } - -A.leftNavigationArrow:hover, -A.rightNavigationArrow:hover, -SPAN.daysHeader A:hover, -SPAN.weeksHeader A:hover, -SPAN.monthsHeader A:hover +.day1 A:hover, +.week1 A:hover, +.month1 A:hover { border-top: 1px solid #fff; border-left: 1px solid #fff; border-bottom: 1px solid #828482; border-right: 1px solid #828482; } -A.leftNavigationArrow:active, -A.rightNavigationArrow:active, -SPAN.daysHeader A:active, -SPAN.weeksHeader A:active, -SPAN.monthsHeader A:active +.day1 A:active, +.week1 A:active, +.month1 A:active { border-top: 1px solid #828482; border-left: 1px solid #828482; border-bottom: 1px solid #fff; border-right: 1px solid #fff; } -SPAN.week2, SPAN.month2 -{ font-size: small; } - -SPAN.day2, SPAN.week1, SPAN.month1 -{ font-size: medium; } - -SPAN.day1, SPAN.week0, SPAN.month0 -{ font-size: large; } - -SPAN.day0 -{ font-size: x-large; } - -SPAN.day0, SPAN.week0, SPAN.month0 -{ border-top: 1px solid #909090 !important; - border-left: 1px solid #909090 !important; - border-bottom: 1px solid #FFFFFF !important; - border-right: 1px solid #FFFFFF !important; - background-color: #ddd; } - -A.leftNavigationArrow +#listCollapse { position: absolute; - display: block; - top: .5em; - left: .5em; } + top: .2em; + right: 0; + margin: 0.5em 1em; } -A.rightNavigationArrow -{ position: absolute; - display: block; - top: .5em; - right: .5em; } +#listCollapse img +{ position: absolute; } + +#listCollapse img.collapse +{ clip: rect(0 18px 18px 0); + left: 0; + top: 0; } + +#listCollapse img.collapse:hover +{ clip: rect(0 36px 18px 18px); + left: -18px; } + +#listCollapse img.rise +{ clip: rect(18px 18px 36px 0); + left: 0; + top: -18px; } + +#listCollapse img.rise:hover +{ clip: rect(18px 36px 36px 18px); + left: -18px; } DIV#calendarHeader, DIV#daysView diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index bd7ad3943..e518cd6c8 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -3205,6 +3205,11 @@ function deletePersonalCalendarCallback(http) { } function configureLists() { + // Move calendar view if lists are collapsed + if (!$("schedulerTabs").visible()) { + $('calendarView').setStyle({ top: '0' }).show(); + } + // TASK LIST var list = $("tasksList"); list.multiselect = true; @@ -3292,6 +3297,37 @@ function drawNowLine() { } } +function onListCollapse(event, element) { + var img = element.select('img').first(); + var tabs = $("schedulerTabs"); + var handle = $("rightDragHandle"); + var view = jQuery("#calendarView"); + var state = 'collapse'; + + if (tabs.visible()) { + img.removeClassName('collapse').addClassName('rise'); + handle.hide(); + view.animate({ top: '0' }, 200, function() { + tabs.hide(); + }); + } + else { + state = 'rise'; + img.removeClassName('rise').addClassName('collapse'); + tabs.show(); + tabs.controller.onWindowResize(); + view.animate({ top: handle.getStyle('top') }, 200, function() { + handle.show(); + }); + } + + var url = ApplicationBaseURL + "saveListState"; + var params = "state=" + state; + triggerAjaxRequest(url, null, null, params, + { "Content-type": "application/x-www-form-urlencoded" }); + +} + function onDocumentKeydown(event) { var target = Event.element(event); if (target.tagName != "INPUT") { @@ -3367,7 +3403,7 @@ function initScheduler() { // Calendar import form $("uploadCancel").observe("click", hideCalendarImport); $("uploadOK").observe("click", hideImportResults); - + $("calendarView").on("click", "#listCollapse", onListCollapse); Event.observe(document, "keydown", onDocumentKeydown); } From 33fd60efb335b180938492eddb75ab59591d4153 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 11 Jul 2013 13:50:44 -0400 Subject: [PATCH 03/19] Calendar: print gridlines to 15-minute intervals --- UI/Templates/SchedulerUI/UIxCalDayTable.wox | 5 ++++- UI/WebServerResources/SchedulerUI.css | 8 ++++++++ UI/WebServerResources/SchedulerUIDnD.js | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/UI/Templates/SchedulerUI/UIxCalDayTable.wox b/UI/Templates/SchedulerUI/UIxCalDayTable.wox index ff800438b..5bb9f63ee 100644 --- a/UI/Templates/SchedulerUI/UIxCalDayTable.wox +++ b/UI/Templates/SchedulerUI/UIxCalDayTable.wox @@ -45,7 +45,10 @@ >
-
+ + + +
diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css index 1199a518c..429dc2c57 100644 --- a/UI/WebServerResources/SchedulerUI.css +++ b/UI/WebServerResources/SchedulerUI.css @@ -579,6 +579,14 @@ DIV.daysViewFor7Days#daysView DIV.selectedDay.weekEndDay DIV.clickableHourCell, DIV.daysViewFor7Days#daysView DIV.selectedDay DIV.clickableHourCell.outOfDay { background-color: #f5dd92; } +.minutes15, .minutes30, .minutes45 +{ display: block; + height: 9px; + border-bottom: 1px dotted #eee; } + +.minutes30 +{ border-bottom: 1px dotted #ccc; } + DIV.weekOf4 { height: 25%; } diff --git a/UI/WebServerResources/SchedulerUIDnD.js b/UI/WebServerResources/SchedulerUIDnD.js index 452cff420..7e74d18f9 100644 --- a/UI/WebServerResources/SchedulerUIDnD.js +++ b/UI/WebServerResources/SchedulerUIDnD.js @@ -1007,6 +1007,10 @@ SOGoEventDragController.prototype = { onDragStart: function SEDC_onDragStart(event) { var target = getTarget(event); if (eventIsLeftClick(event) && (target.nodeType == 1)) { + if (target.hasClassName("minutes15") || + target.hasClassName("minutes30") || + target.hasClassName("minutes45")) + target = target.parentNode; if ((!this.eventCells && (target.hasClassName("clickableHourCell") || target.hasClassName("day")) From 03553980fd2abb2da397c0810fd8f6d70ba26d65 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 11 Jul 2013 13:55:03 -0400 Subject: [PATCH 04/19] Update NEWS file and add missing image --- NEWS | 13 +++++++++++++ UI/WebServerResources/collapse.png | Bin 0 -> 963 bytes 2 files changed, 13 insertions(+) create mode 100644 UI/WebServerResources/collapse.png diff --git a/NEWS b/NEWS index cc95fd884..703d71b7c 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +2.0.7 (2013-MM-DD) +------------------ + +New features + - print gridlines of calendar in 15-minute intervals + - allow the events/tasks lists to be collapsable + +Enhancements + - + +Bug fixes + - + 2.0.6b (2013-06-27) ------------------ diff --git a/UI/WebServerResources/collapse.png b/UI/WebServerResources/collapse.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb238216ba6d75c2f7065f88b6d872938493106 GIT binary patch literal 963 zcmV;!13dhRP)e z^AZZ)WSua0O$q5{2xJNEc$Jq3ycPR=y7%djJ0VB!=}r!mQ2fAw-uLc4_q|`bhcHy_ zb~_`4_!bc*gg9SZT>P7eShv1bt7Qzsh;$ssIX6x7fJ zRZ8vEYPB2yO!;_`nL$MF0LU25O=jKzkak^n0l+H&VCJIl#d3(~rc!EynbSnH0N~Y> z4_))Od0Q%#UPM8iPUn{Ac^f_&?0dm6O*7JIHk-E`$Jy|Q*8u;PjjL9x^<;m4|NE%z zqN-l6KWQ`?kSzP`S0n%V zyi!VbI-Tor1KGCyjG0Fq&-3KY&W_d@3FM#EddM-pQ%bGG3FAL2p-#Ww*E%DCR##Wg z0Nh9<61R2B^73-z>l`>UGcz{~!?>+mm|5#g=_bqN@<#w4!w%NzbmC;f=H}*Dr`c?V z208_hX6Agm-TpD^KuW0}hJK$0zlrFSnbQFB^?E(haU5sh5Yg!%5D~rczd;MkybuKq zXCtCNhQ@CI-1Cjt4iOEU;2C-d;LizyfSFw(#N%?g{2`bVLOdj*i5wzwiRf{)TKxd{ z?FRrH9UUc)kB{#vrLr-cbHgy+7mLN-=PP!1cayzd@2=;0v7BTw`My%Aj5uFS(eU7^ zW5iX*7P$~hYaQ(^OQ+Lo0J@r0KbOnpzv2V}0A^kzBCS)YRJ4vZP@zybNhA{Y z0jOY(h+3sm>DRbn0H9W@odCE`L>C;>G((-xhk9vg={0~~{9)I>Y7>`fngfT3y39P* z8T*#ya=9uIy-Xw$D}_Sg1`g&~V ls$ Date: Tue, 16 Jul 2013 11:31:08 -0400 Subject: [PATCH 05/19] Fix for bugs #2368 and #2369 --- SoObjects/Appointments/SOGoAptMailNotification.m | 7 ++++++- UI/MailPartViewers/UIxMailPartICalViewer.m | 3 ++- UI/MailerUI/UIxMailListActions.m | 4 ++-- UI/Templates/Appointments/SOGoAptMailInvitation.wox | 4 ++-- UI/WebServerResources/SchedulerUI.js | 4 ++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/SoObjects/Appointments/SOGoAptMailNotification.m b/SoObjects/Appointments/SOGoAptMailNotification.m index 026137cc0..0d0db981e 100644 --- a/SoObjects/Appointments/SOGoAptMailNotification.m +++ b/SoObjects/Appointments/SOGoAptMailNotification.m @@ -140,9 +140,14 @@ return newEndDate; } +- (NSString *) location +{ + return [[apt location] stringByEscapingHTMLString]; +} + - (NSString *) summary { - return [apt summary]; + return [[apt summary] stringByEscapingHTMLString]; } - (void) setOrganizerName: (NSString *) theString diff --git a/UI/MailPartViewers/UIxMailPartICalViewer.m b/UI/MailPartViewers/UIxMailPartICalViewer.m index 66259a2bf..f377234db 100644 --- a/UI/MailPartViewers/UIxMailPartICalViewer.m +++ b/UI/MailPartViewers/UIxMailPartICalViewer.m @@ -1,6 +1,7 @@ /* Copyright (C) 2004-2005 SKYRIX Software AG - + Copyright (C) 2006-2013 Inverse inc. + This file is part of SOGo. SOGo is free software; you can redistribute it and/or modify it under diff --git a/UI/MailerUI/UIxMailListActions.m b/UI/MailerUI/UIxMailListActions.m index e9142ede4..e766321e9 100644 --- a/UI/MailerUI/UIxMailListActions.m +++ b/UI/MailerUI/UIxMailListActions.m @@ -753,7 +753,7 @@ // To to = [[message objectForKey: @"envelope"] to]; if ([to count] > 0) - [msg addObject: [addressFormatter stringForArray: to]]; + [msg addObject: [[addressFormatter stringForArray: to] stringByEscapingHTMLString]]; else [msg addObject: @""]; @@ -778,7 +778,7 @@ // From from = [[message objectForKey: @"envelope"] from]; if ([from count] > 0) - [msg addObject: [addressFormatter stringForArray: from]]; + [msg addObject: [[addressFormatter stringForArray: from] stringByEscapingHTMLString]]; else [msg addObject: @""]; diff --git a/UI/Templates/Appointments/SOGoAptMailInvitation.wox b/UI/Templates/Appointments/SOGoAptMailInvitation.wox index b5af75331..8efa43197 100644 --- a/UI/Templates/Appointments/SOGoAptMailInvitation.wox +++ b/UI/Templates/Appointments/SOGoAptMailInvitation.wox @@ -24,9 +24,9 @@ h1, dd, .dl-list dt { margin-left: 130px; }
-
-
+
- diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index e518cd6c8..eecc04510 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -748,14 +748,14 @@ function onViewEventCallback(http) { para = $(paras[1]); if (data["calendar"].length) { // Remove owner email from calendar's name - para.down("SPAN", 1).update(data["calendar"].replace(/ \<.*\>/, "")); + para.down("SPAN", 1).update(data["calendar"].escapeHTML()); para.show(); } else para.hide(); para = $(paras[2]); if (data["location"].length) { - para.down("SPAN", 1).update(data["location"]); + para.down("SPAN", 1).update(data["location"].escapeHTML()); para.show(); } else para.hide(); From 16105d37b83a2632e5389407b783ef062939f9c6 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 16 Jul 2013 15:18:04 -0400 Subject: [PATCH 06/19] Properly handle RFC2231 everywhere --- SoObjects/Mailer/GNUmakefile | 1 + SoObjects/Mailer/NSDictionary+Mail.h | 34 ++++++++++++ SoObjects/Mailer/NSDictionary+Mail.m | 73 +++++++++++++++++++++++++ SoObjects/Mailer/SOGoMailBodyPart.m | 17 +----- SoObjects/Mailer/SOGoMailObject+Draft.m | 34 +----------- UI/MailPartViewers/UIxMailPartViewer.m | 46 ++++++---------- 6 files changed, 130 insertions(+), 75 deletions(-) create mode 100644 SoObjects/Mailer/NSDictionary+Mail.h create mode 100644 SoObjects/Mailer/NSDictionary+Mail.m diff --git a/SoObjects/Mailer/GNUmakefile b/SoObjects/Mailer/GNUmakefile index db5edc0b0..7934e878a 100644 --- a/SoObjects/Mailer/GNUmakefile +++ b/SoObjects/Mailer/GNUmakefile @@ -35,6 +35,7 @@ Mailer_OBJC_FILES += \ \ EOQualifier+MailDAV.m \ NSData+Mail.m \ + NSDictionary+Mail.m \ NSString+Mail.m \ SOGoUser+Mailer.m diff --git a/SoObjects/Mailer/NSDictionary+Mail.h b/SoObjects/Mailer/NSDictionary+Mail.h new file mode 100644 index 000000000..fceea68da --- /dev/null +++ b/SoObjects/Mailer/NSDictionary+Mail.h @@ -0,0 +1,34 @@ +/* NSDictionary+Mail.h - this file is part of SOGo + * + * Copyright (C) 2013 Inverse inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef NSDICTIONARY_MAIL_H +#define NSDICTIONARY_MAIL_H + +#import + +@class NSString; + +@interface NSDictionary (SOGoExtension) + +- (NSString *) filename; + +@end + +#endif /* NSDICTIONARY_MAIL_H */ diff --git a/SoObjects/Mailer/NSDictionary+Mail.m b/SoObjects/Mailer/NSDictionary+Mail.m new file mode 100644 index 000000000..74311f292 --- /dev/null +++ b/SoObjects/Mailer/NSDictionary+Mail.m @@ -0,0 +1,73 @@ +/* NSDictionary+Mail.m - this file is part of SOGo + * + * Copyright (C) 2013 Inverse inc. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#import +#import + +#import "NSDictionary+Mail.h" + +@implementation NSDictionary (SOGoExtension) + +- (NSString *) filename +{ + NSDictionary *parameters; + NSString *filename; + + filename = [[self objectForKey: @"parameterList"] + objectForKey: @"name"]; + + if (!filename) + { + parameters = [[self objectForKey: @"disposition"] + objectForKey: @"parameterList"]; + filename = [parameters objectForKey: @"filename"]; + + + // We might have something like filename*=UTF-8''foobar + // See RFC2231 for details. If it was folded before, it will + // be unfolded when we get here. + if (!filename) + { + filename = [parameters objectForKey: @"filename*"]; + + if (filename) + { + NSRange r; + + filename = [filename stringByUnescapingURL]; + + // We skip up to the language + r = [filename rangeOfString: @"'"]; + + if (r.length) + { + r = [filename rangeOfString: @"'" options: 0 range: NSMakeRange(r.location+1, [filename length]-r.location-1)]; + + if (r.length) + filename = [filename substringFromIndex: r.location+1]; + } + } + } + } + + return filename; +} + +@end diff --git a/SoObjects/Mailer/SOGoMailBodyPart.m b/SoObjects/Mailer/SOGoMailBodyPart.m index 975463d0e..2fb075f4c 100644 --- a/SoObjects/Mailer/SOGoMailBodyPart.m +++ b/SoObjects/Mailer/SOGoMailBodyPart.m @@ -38,6 +38,7 @@ #import +#import "NSDictionary+Mail.h" #import "SOGoMailObject.h" #import "SOGoMailManager.h" @@ -201,21 +202,9 @@ static BOOL debugOn = NO; - (NSString *) filename { - NSString *filename; - NSDictionary *parameters; - [self partInfo]; - - filename = [[partInfo objectForKey: @"parameterList"] - objectForKey: @"name"]; - if (!filename) - { - parameters = [[partInfo objectForKey: @"disposition"] - objectForKey: @"parameterList"]; - filename = [parameters objectForKey: @"filename"]; - } - - return filename; + + return [partInfo filename]; } /* We overwrite the super's class method in order to make sure diff --git a/SoObjects/Mailer/SOGoMailObject+Draft.m b/SoObjects/Mailer/SOGoMailObject+Draft.m index ff74c8e01..00f34be50 100644 --- a/SoObjects/Mailer/SOGoMailObject+Draft.m +++ b/SoObjects/Mailer/SOGoMailObject+Draft.m @@ -34,6 +34,7 @@ #import #import +#import "NSDictionary+Mail.h" #import "NSString+Mail.h" #import "SOGoMailForward.h" #import "SOGoMailObject+Draft.h" @@ -250,39 +251,10 @@ intoArray: (NSMutableArray *) keys withPath: (NSString *) path { - NSDictionary *disposition, *currentFile; NSString *filename, *mimeType; + NSDictionary *currentFile; - disposition = [part objectForKey: @"disposition"]; - filename = [[disposition objectForKey: @"parameterList"] - objectForKey: @"filename"]; - - // We might have something like filename*=UTF-8''foobar - // See RFC2231 for details. If it was folded before, it will - // be unfolded when we get here. - if (!filename) - { - filename = [[disposition objectForKey: @"parameterList"] - objectForKey: @"filename*"]; - - if (filename) - { - NSRange r; - - filename = [filename stringByUnescapingURL]; - - // We skip up to the language - r = [filename rangeOfString: @"'"]; - - if (r.length) - { - r = [filename rangeOfString: @"'" options: 0 range: NSMakeRange(r.location+1, [filename length]-r.location-1)]; - - if (r.length) - filename = [filename substringFromIndex: r.location+1]; - } - } - } + filename = [part filename]; mimeType = [NSString stringWithFormat: @"%@/%@", [part objectForKey: @"type"], diff --git a/UI/MailPartViewers/UIxMailPartViewer.m b/UI/MailPartViewers/UIxMailPartViewer.m index 2981875fd..51e8752a6 100644 --- a/UI/MailPartViewers/UIxMailPartViewer.m +++ b/UI/MailPartViewers/UIxMailPartViewer.m @@ -1,5 +1,5 @@ /* - Copyright (C) 2007-2009 Inverse inc. + Copyright (C) 2007-2013 Inverse inc. Copyright (C) 2004-2005 SKYRIX Software AG This file is part of SOGo. @@ -33,6 +33,7 @@ #import #import +#import #import #import "MailerUI/WOContext+UIxMailer.h" @@ -210,22 +211,7 @@ - (NSString *) filename { - NSDictionary *parameters; - NSString *filename; - - filename = nil; - parameters = [bodyInfo valueForKey: @"parameterList"]; - if (parameters) - filename = [parameters valueForKey: @"name"]; - - if (!filename) - { - parameters = [[bodyInfo valueForKey: @"disposition"] - valueForKey: @"parameterList"]; - filename = [parameters valueForKey: @"filename"]; - } - - return filename; + return [bodyInfo filename]; } - (NSString *) filenameForDisplay @@ -280,7 +266,7 @@ NSMutableString *filename; NSString *extension; - filename = [NSMutableString stringWithString: [bodyPart filename]]; + filename = [self filename]; if (![filename length]) [filename appendFormat: @"%@-%@", [self labelForKey: @"Untitled"], @@ -323,22 +309,22 @@ NSString *mimeImageFile, *mimeImageUrl; mimeImageFile = [NSString stringWithFormat: @"mime-%@-%@.png", - [bodyInfo objectForKey: @"type"], - [bodyInfo objectForKey: @"subtype"]]; + [bodyInfo objectForKey: @"type"], + [bodyInfo objectForKey: @"subtype"]]; mimeImageUrl = [self urlForResourceFilename: mimeImageFile]; - if ( [mimeImageUrl length] == 0 ) - { - mimeImageFile = [NSString stringWithFormat: @"mime-%@.png", - [bodyInfo objectForKey: @"type"]]; - mimeImageUrl = [self urlForResourceFilename: mimeImageFile]; - } + if ([mimeImageUrl length] == 0) + { + mimeImageFile = [NSString stringWithFormat: @"mime-%@.png", + [bodyInfo objectForKey: @"type"]]; + mimeImageUrl = [self urlForResourceFilename: mimeImageFile]; + } - if ( [mimeImageUrl length] == 0 ) - { - mimeImageUrl = [self urlForResourceFilename: @"mime-unknown.png"]; - } + if ([mimeImageUrl length] == 0) + { + mimeImageUrl = [self urlForResourceFilename: @"mime-unknown.png"]; + } return mimeImageUrl; } From 7dad5ad84ed5a59409ce7f0083e750ac079beb16 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 16 Jul 2013 15:20:26 -0400 Subject: [PATCH 07/19] Updated for v2.0.7 --- NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 703d71b7c..cdbbd4167 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,8 @@ Enhancements - Bug fixes - - + - properly handle RFC2231 everywhere + - fixed minor XSS issues 2.0.6b (2013-06-27) ------------------ From 249a1fcf14f80e1f7a612ae9faa710488e716140 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 17 Jul 2013 14:57:07 -0400 Subject: [PATCH 08/19] Bubble box of event should not overlap event cell --- NEWS | 2 +- UI/WebServerResources/SchedulerUI.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index cdbbd4167..0f9b37ee1 100644 --- a/NEWS +++ b/NEWS @@ -6,7 +6,7 @@ New features - allow the events/tasks lists to be collapsable Enhancements - - + - bubble box of events no longer overlaps the current event Bug fixes - properly handle RFC2231 everywhere diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index eecc04510..4ab06c930 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -723,9 +723,9 @@ function onViewEventCallback(http) { top -= cell.up("DIV.day").scrollTop; } - left = cellPosition[0] + cellDimensions["width"] - parseInt(cellDimensions["width"]/3); + left = cellPosition[0] + cellDimensions["width"] + 4; if (left + divDimensions["width"] > window.width()) { - left = cellPosition[0] - divDimensions["width"] + 10; + left = cellPosition[0] - divDimensions["width"]; div.removeClassName("left"); div.addClassName("right"); } From 19e542396bc32debab6f53b229166c57d05e4599 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 18 Jul 2013 10:25:39 -0400 Subject: [PATCH 09/19] Applied patch from bug #2360 --- UI/MailPartViewers/GNUmakefile | 18 ++++++++++++++++++ UI/MailPartViewers/GNUmakefile.preamble | 7 +++++++ UI/MailerUI/GNUmakefile | 1 + 3 files changed, 26 insertions(+) diff --git a/UI/MailPartViewers/GNUmakefile b/UI/MailPartViewers/GNUmakefile index 745914636..509121b74 100644 --- a/UI/MailPartViewers/GNUmakefile +++ b/UI/MailPartViewers/GNUmakefile @@ -26,6 +26,24 @@ MailPartViewers_OBJC_FILES += \ UIxMailPartICalViewer.m \ \ UIxMailPartICalActions.m \ + ../../SoObjects/Mailer/SOGoMailBodyPart.m \ + ../../SoObjects/Mailer/SOGoHTMLMailBodyPart.m \ + ../../SoObjects/Mailer/SOGoCalendarMailBodyPart.m \ + ../../SoObjects/Mailer/SOGoMailAccounts.m \ + ../../SoObjects/Mailer/SOGoMailBaseObject.m \ + ../../SoObjects/Mailer/SOGoMailAccount.m \ + ../../SoObjects/Mailer/SOGoMailNamespace.m \ + ../../SoObjects/Mailer/SOGoDraftsFolder.m \ + ../../SoObjects/Mailer/SOGoSentFolder.m \ + ../../SoObjects/Mailer/SOGoTrashFolder.m \ + ../../SoObjects/Mailer/SOGoMailFolder.m \ + ../../SoObjects/Mailer/SOGoDraftObject.m \ + ../../SoObjects/Mailer/SOGoMailObject.m \ + ../../SoObjects/Appointments/SOGoEMailAlarmsManager.m \ + ../../SoObjects/Appointments/SOGoAppointmentObject.m \ + ../../SoObjects/Appointments/SOGoComponentOccurence.m \ + ../../SoObjects/Appointments/SOGoAppointmentOccurence.m \ + ../../SoObjects/Appointments/SOGoCalendarComponent.m MailPartViewers_RESOURCE_FILES += \ product.plist \ diff --git a/UI/MailPartViewers/GNUmakefile.preamble b/UI/MailPartViewers/GNUmakefile.preamble index 545cdf46b..15440fbdd 100644 --- a/UI/MailPartViewers/GNUmakefile.preamble +++ b/UI/MailPartViewers/GNUmakefile.preamble @@ -2,3 +2,10 @@ ifeq ($(HAS_LIBRARY_ssl),yes) ADDITIONAL_CPPFLAGS += -DHAVE_OPENSSL=1 BUNDLE_LIBS += -lcrypto endif + +ADDITIONAL_CPPFLAGS += \ + -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \ + -DUIX_MAILER_MAJOR_VERSION="@\"$(MAJOR_VERSION)\"" \ + -DUIX_MAILER_MINOR_VERSION="@\"$(MINOR_VERSION)\"" \ + -DUIX_MAILER_SUBMINOR_VERSION="@\"$(SUBMINOR_VERSION)\"" + diff --git a/UI/MailerUI/GNUmakefile b/UI/MailerUI/GNUmakefile index dc1fdb9cb..b1932214d 100644 --- a/UI/MailerUI/GNUmakefile +++ b/UI/MailerUI/GNUmakefile @@ -32,6 +32,7 @@ MailerUI_OBJC_FILES += \ UIxMailWindowCloser.m \ \ UIxMailUserRightsEditor.m \ + ../MailPartViewers/UIxMailRenderingContext.m \ UIxMailUserDelegationEditor.m \ # UIxMailEditorAction.m \ # UIxMailReplyAction.m \ From 048bae2fc510f0cdd39b07d23bb23cf492001921 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 18 Jul 2013 10:52:37 -0400 Subject: [PATCH 10/19] Applied patch from bug #2235 --- SOPE/GDLContentStore/EOQualifier+GCS.m | 24 ++++++++++-------------- SOPE/GDLContentStore/GCSFolder.m | 12 ++++-------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/SOPE/GDLContentStore/EOQualifier+GCS.m b/SOPE/GDLContentStore/EOQualifier+GCS.m index 255525ed7..15d54a9d6 100644 --- a/SOPE/GDLContentStore/EOQualifier+GCS.m +++ b/SOPE/GDLContentStore/EOQualifier+GCS.m @@ -27,10 +27,6 @@ #import "EOQualifier+GCS.h" -#if __GNU_LIBOBJC__ >= 20100911 -# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__) -#endif - @implementation EOQualifier(GCS) - (void)_appendAndQualifier:(EOAndQualifier *)_q @@ -92,21 +88,21 @@ val = [_q value]; if (val && [val isNotNull]) { - if (sel_eq(op, EOQualifierOperatorEqual)) + if (sel_isEqual(op, EOQualifierOperatorEqual)) qOperator = @"="; - else if (sel_eq(op, EOQualifierOperatorNotEqual)) + else if (sel_isEqual(op, EOQualifierOperatorNotEqual)) qOperator = @"!="; - else if (sel_eq(op, EOQualifierOperatorLessThan)) + else if (sel_isEqual(op, EOQualifierOperatorLessThan)) qOperator = @"<"; - else if (sel_eq(op, EOQualifierOperatorGreaterThan)) + else if (sel_isEqual(op, EOQualifierOperatorGreaterThan)) qOperator = @">"; - else if (sel_eq(op, EOQualifierOperatorLessThanOrEqualTo)) + else if (sel_isEqual(op, EOQualifierOperatorLessThanOrEqualTo)) qOperator = @"<="; - else if (sel_eq(op, EOQualifierOperatorGreaterThanOrEqualTo)) + else if (sel_isEqual(op, EOQualifierOperatorGreaterThanOrEqualTo)) qOperator = @">="; - else if (sel_eq(op, EOQualifierOperatorLike)) + else if (sel_isEqual(op, EOQualifierOperatorLike)) qOperator = @"LIKE"; - else if (sel_eq(op, EOQualifierOperatorCaseInsensitiveLike)) { + else if (sel_isEqual(op, EOQualifierOperatorCaseInsensitiveLike)) { isCI = YES; qOperator = @"LIKE"; } @@ -128,11 +124,11 @@ } } else { - if (sel_eq(op, EOQualifierOperatorEqual)) { + if (sel_isEqual(op, EOQualifierOperatorEqual)) { qOperator = @"IS"; qValue = @"NULL"; } - else if (sel_eq(op, EOQualifierOperatorNotEqual)) { + else if (sel_isEqual(op, EOQualifierOperatorNotEqual)) { qOperator = @"IS NOT"; qValue = @"NULL"; } diff --git a/SOPE/GDLContentStore/GCSFolder.m b/SOPE/GDLContentStore/GCSFolder.m index af49f91ce..8002b67cb 100644 --- a/SOPE/GDLContentStore/GCSFolder.m +++ b/SOPE/GDLContentStore/GCSFolder.m @@ -44,10 +44,6 @@ #import "EOQualifier+GCS.h" #import "GCSStringFormatter.h" -#if __GNU_LIBOBJC__ >= 20100911 -# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__) -#endif - typedef enum { noTableRequired = 0, quickTableRequired = 1, @@ -395,20 +391,20 @@ static GCSStringFormatter *stringFormatter = nil; if (i > 0) [sql appendString:@", "]; - if (sel_eq(sel, EOCompareAscending)) { + if (sel_isEqual(sel, EOCompareAscending)) { [sql appendString:column]; [sql appendString:@" ASC"]; } - else if (sel_eq(sel, EOCompareDescending)) { + else if (sel_isEqual(sel, EOCompareDescending)) { [sql appendString:column]; [sql appendString:@" DESC"]; } - else if (sel_eq(sel, EOCompareCaseInsensitiveAscending)) { + else if (sel_isEqual(sel, EOCompareCaseInsensitiveAscending)) { [sql appendString:@"UPPER("]; [sql appendString:column]; [sql appendString:@") ASC"]; } - else if (sel_eq(sel, EOCompareCaseInsensitiveDescending)) { + else if (sel_isEqual(sel, EOCompareCaseInsensitiveDescending)) { [sql appendString:@"UPPER("]; [sql appendString:column]; [sql appendString:@") DESC"]; From b85ed0db1c1bf37d0f1ec870c8c0a88566954ec6 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 18 Jul 2013 11:32:29 -0400 Subject: [PATCH 11/19] Fix blur of active element on click on a draggable This bug has yet to be officially part of jQuery UI, therefore this commit updates jquery-ui to version 1.10.3 patched with commit fcd1caf: https://github.com/jquery/jquery-ui/commit/fcd1cafac8afe3a947676ec018e844eeada5b9de --- NEWS | 1 + UI/WebServerResources/jquery-ui.js | 1903 +++++++++++++++++----------- 2 files changed, 1157 insertions(+), 747 deletions(-) mode change 100644 => 100755 UI/WebServerResources/jquery-ui.js diff --git a/NEWS b/NEWS index 0f9b37ee1..2a276dbea 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ Enhancements Bug fixes - properly handle RFC2231 everywhere - fixed minor XSS issues + - fixed jquery-ui not bluring the active element when clicking on a draggable 2.0.6b (2013-06-27) ------------------ diff --git a/UI/WebServerResources/jquery-ui.js b/UI/WebServerResources/jquery-ui.js old mode 100644 new mode 100755 index bc4c2f2be..96f078011 --- a/UI/WebServerResources/jquery-ui.js +++ b/UI/WebServerResources/jquery-ui.js @@ -1,43 +1,29 @@ -/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ +/*! jQuery UI - v1.10.3 - 2013-07-18 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + (function( $, undefined ) { -// prevent duplicate loading -// this is only a problem because we proxy existing functions -// and we don't want to double proxy them +var uuid = 0, + runiqueId = /^ui-id-\d+$/; + +// $.ui might exist from components with no dependencies, e.g., $.ui.position $.ui = $.ui || {}; -if ( $.ui.version ) { - return; -} $.extend( $.ui, { - version: "1.8.18", + version: "1.10.3", keyCode: { - ALT: 18, BACKSPACE: 8, - CAPS_LOCK: 20, COMMA: 188, - COMMAND: 91, - COMMAND_LEFT: 91, // COMMAND - COMMAND_RIGHT: 93, - CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, - INSERT: 45, LEFT: 37, - MENU: 93, // COMMAND_RIGHT NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, @@ -48,46 +34,43 @@ $.extend( $.ui, { PAGE_UP: 33, PERIOD: 190, RIGHT: 39, - SHIFT: 16, SPACE: 32, TAB: 9, - UP: 38, - WINDOWS: 91 // COMMAND + UP: 38 } }); // plugins $.fn.extend({ - propAttr: $.fn.prop || $.fn.attr, - - _focus: $.fn.focus, - focus: function( delay, fn ) { - return typeof delay === "number" ? - this.each(function() { - var elem = this; - setTimeout(function() { - $( elem ).focus(); - if ( fn ) { - fn.call( elem ); - } - }, delay ); - }) : - this._focus.apply( this, arguments ); - }, + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), scrollParent: function() { var scrollParent; - if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) { + if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { scrollParent = this.parents().filter(function() { - return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); }).eq(0); } else { scrollParent = this.parents().filter(function() { - return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1)); + return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); }).eq(0); } - return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent; + return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent; }, zIndex: function( zIndex ) { @@ -119,95 +102,63 @@ $.fn.extend({ return 0; }, - disableSelection: function() { - return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + - ".ui-disableSelection", function( event ) { - event.preventDefault(); - }); + uniqueId: function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + (++uuid); + } + }); }, - enableSelection: function() { - return this.unbind( ".ui-disableSelection" ); - } -}); - -$.each( [ "Width", "Height" ], function( i, name ) { - var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], - type = name.toLowerCase(), - orig = { - innerWidth: $.fn.innerWidth, - innerHeight: $.fn.innerHeight, - outerWidth: $.fn.outerWidth, - outerHeight: $.fn.outerHeight - }; - - function reduce( elem, size, border, margin ) { - $.each( side, function() { - size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0; - if ( border ) { - size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0; - } - if ( margin ) { - size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0; + removeUniqueId: function() { + return this.each(function() { + if ( runiqueId.test( this.id ) ) { + $( this ).removeAttr( "id" ); } }); - return size; } - - $.fn[ "inner" + name ] = function( size ) { - if ( size === undefined ) { - return orig[ "inner" + name ].call( this ); - } - - return this.each(function() { - $( this ).css( type, reduce( this, size ) + "px" ); - }); - }; - - $.fn[ "outer" + name] = function( size, margin ) { - if ( typeof size !== "number" ) { - return orig[ "outer" + name ].call( this, size ); - } - - return this.each(function() { - $( this).css( type, reduce( this, size, true, margin ) + "px" ); - }); - }; }); // selectors function focusable( element, isTabIndexNotNaN ) { - var nodeName = element.nodeName.toLowerCase(); + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); if ( "area" === nodeName ) { - var map = element.parentNode, - mapName = map.name, - img; + map = element.parentNode; + mapName = map.name; if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { return false; } img = $( "img[usemap=#" + mapName + "]" )[0]; return !!img && visible( img ); } - return ( /input|select|textarea|button|object/.test( nodeName ) - ? !element.disabled - : "a" == nodeName - ? element.href || isTabIndexNotNaN - : isTabIndexNotNaN) + return ( /input|select|textarea|button|object/.test( nodeName ) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && // the element and all of its ancestors must be visible - && visible( element ); + visible( element ); } function visible( element ) { - return !$( element ).parents().andSelf().filter(function() { - return $.curCSS( this, "visibility" ) === "hidden" || - $.expr.filters.hidden( this ); - }).length; + return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function() { + return $.css( this, "visibility" ) === "hidden"; + }).length; } $.extend( $.expr[ ":" ], { - data: function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, + data: $.expr.createPseudo ? + $.expr.createPseudo(function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + }) : + // support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, focusable: function( element ) { return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); @@ -220,82 +171,137 @@ $.extend( $.expr[ ":" ], { } }); -// support -$(function() { - var body = document.body, - div = body.appendChild( div = document.createElement( "div" ) ); +// support: jQuery <1.8 +if ( !$( "" ).outerWidth( 1 ).jquery ) { + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; - // access offsetHeight before setting the style to prevent a layout bug - // in IE 9 which causes the elemnt to continue to take up space even - // after it is removed from the DOM (#8026) - div.offsetHeight; + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + }); + return size; + } - $.extend( div.style, { - minHeight: "100px", - height: "auto", - padding: 0, - borderWidth: 0 + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; }); +} - $.support.minHeight = div.offsetHeight === 100; - $.support.selectstart = "onselectstart" in div; +// support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} - // set display to none to avoid a layout bug in IE - // http://dev.jquery.com/ticket/4014 - body.removeChild( div ).style.display = "none"; -}); +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { + $.fn.removeData = (function( removeData ) { + return function( key ) { + if ( arguments.length ) { + return removeData.call( this, $.camelCase( key ) ); + } else { + return removeData.call( this ); + } + }; + })( $.fn.removeData ); +} // deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +$.support.selectstart = "onselectstart" in document.createElement( "div" ); +$.fn.extend({ + disableSelection: function() { + return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }, + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + } +}); + $.extend( $.ui, { - // $.ui.plugin is deprecated. Use the proxy pattern instead. + // $.ui.plugin is deprecated. Use $.widget() extensions instead. plugin: { add: function( module, option, set ) { - var proto = $.ui[ module ].prototype; - for ( var i in set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { proto.plugins[ i ] = proto.plugins[ i ] || []; proto.plugins[ i ].push( [ option, set[ i ] ] ); } }, call: function( instance, name, args ) { - var set = instance.plugins[ name ]; - if ( !set || !instance.element[ 0 ].parentNode ) { + var i, + set = instance.plugins[ name ]; + if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) { return; } - - for ( var i = 0; i < set.length; i++ ) { + + for ( i = 0; i < set.length; i++ ) { if ( instance.options[ set[ i ][ 0 ] ] ) { set[ i ][ 1 ].apply( instance.element, args ); } } } }, - - // will be deprecated when we switch to jQuery 1.4 - use jQuery.contains() - contains: function( a, b ) { - return document.compareDocumentPosition ? - a.compareDocumentPosition( b ) & 16 : - a !== b && a.contains( b ); - }, - + // only used by resizable hasScroll: function( el, a ) { - + //If overflow is hidden, the element might have extra content, but the user wants to hide it if ( $( el ).css( "overflow" ) === "hidden") { return false; } - + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", has = false; - + if ( el[ scroll ] > 0 ) { return true; } - + // TODO: determine which cases actually cause this to happen // if the element doesn't have the scroll set, see if it's possible to // set the scroll @@ -303,65 +309,32 @@ $.extend( $.ui, { has = ( el[ scroll ] > 0 ); el[ scroll ] = 0; return has; - }, - - // these are odd functions, fix the API or move into individual plugins - isOverAxis: function( x, reference, size ) { - //Determines when x coordinate is over "b" element axis - return ( x > reference ) && ( x < ( reference + size ) ); - }, - isOver: function( y, x, top, left, height, width ) { - //Determines when x, y coordinates is over "b" element - return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width ); } }); })( jQuery ); -/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ (function( $, undefined ) { -// jQuery 1.4+ -if ( $.cleanData ) { - var _cleanData = $.cleanData; - $.cleanData = function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - try { - $( elem ).triggerHandler( "remove" ); - // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} - } - _cleanData( elems ); - }; -} else { - var _remove = $.fn.remove; - $.fn.remove = function( selector, keepData ) { - return this.each(function() { - if ( !keepData ) { - if ( !selector || $.filter( selector, [ this ] ).length ) { - $( "*", this ).add( [ this ] ).each(function() { - try { - $( this ).triggerHandler( "remove" ); - // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} - }); - } - } - return _remove.call( $(this), selector, keepData ); - }); - }; -} +var uuid = 0, + slice = Array.prototype.slice, + _cleanData = $.cleanData; +$.cleanData = function( elems ) { + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + try { + $( elem ).triggerHandler( "remove" ); + // http://bugs.jquery.com/ticket/8235 + } catch( e ) {} + } + _cleanData( elems ); +}; $.widget = function( name, base, prototype ) { - var namespace = name.split( "." )[ 0 ], - fullName; + var fullName, existingConstructor, constructor, basePrototype, + // proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype = {}, + namespace = name.split( "." )[ 0 ]; + name = name.split( "." )[ 1 ]; fullName = namespace + "-" + name; @@ -371,81 +344,167 @@ $.widget = function( name, base, prototype ) { } // create selector for plugin - $.expr[ ":" ][ fullName ] = function( elem ) { - return !!$.data( elem, name ); + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); }; $[ namespace ] = $[ namespace ] || {}; - $[ namespace ][ name ] = function( options, element ) { + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + // allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) if ( arguments.length ) { this._createWidget( options, element ); } }; + // extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + // copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + // track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + }); - var basePrototype = new base(); + basePrototype = new base(); // we need to make the options hash a property directly on the new instance // otherwise we'll modify the options hash on the prototype that we're // inheriting from -// $.each( basePrototype, function( key, val ) { -// if ( $.isPlainObject(val) ) { -// basePrototype[ key ] = $.extend( {}, val ); -// } -// }); - basePrototype.options = $.extend( true, {}, basePrototype.options ); - $[ namespace ][ name ].prototype = $.extend( true, basePrototype, { + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = (function() { + var _super = function() { + return base.prototype[ prop ].apply( this, arguments ); + }, + _superApply = function( args ) { + return base.prototype[ prop ].apply( this, args ); + }; + return function() { + var __super = this._super, + __superApply = this._superApply, + returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + })(); + }); + constructor.prototype = $.widget.extend( basePrototype, { + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name + }, proxiedPrototype, { + constructor: constructor, namespace: namespace, widgetName: name, - widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name, - widgetBaseClass: fullName - }, prototype ); + widgetFullName: fullName + }); - $.widget.bridge( name, $[ namespace ][ name ] ); + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); + }); + // remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); +}; + +$.widget.extend = function( target ) { + var input = slice.call( arguments, 1 ), + inputIndex = 0, + inputLength = input.length, + key, + value; + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; }; $.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; $.fn[ name ] = function( options ) { var isMethodCall = typeof options === "string", - args = Array.prototype.slice.call( arguments, 1 ), + args = slice.call( arguments, 1 ), returnValue = this; // allow multiple hashes to be passed on init options = !isMethodCall && args.length ? - $.extend.apply( null, [ true, options ].concat(args) ) : + $.widget.extend.apply( null, [ options ].concat(args) ) : options; - // prevent calls to internal methods - if ( isMethodCall && options.charAt( 0 ) === "_" ) { - return returnValue; - } - if ( isMethodCall ) { this.each(function() { - var instance = $.data( this, name ), - methodValue = instance && $.isFunction( instance[options] ) ? - instance[ options ].apply( instance, args ) : - instance; - // TODO: add this back in 1.9 and use $.error() (see #5972) -// if ( !instance ) { -// throw "cannot call methods on " + name + " prior to initialization; " + -// "attempted to call method '" + options + "'"; -// } -// if ( !$.isFunction( instance[options] ) ) { -// throw "no such method '" + options + "' for " + name + " widget instance"; -// } -// var methodValue = instance[ options ].apply( instance, args ); + var methodValue, + instance = $.data( this, fullName ); + if ( !instance ) { + return $.error( "cannot call methods on " + name + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + " widget instance" ); + } + methodValue = instance[ options ].apply( instance, args ); if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue; + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; return false; } }); } else { this.each(function() { - var instance = $.data( this, name ); + var instance = $.data( this, fullName ); if ( instance ) { instance.option( options || {} )._init(); } else { - $.data( this, name, new object( options, this ) ); + $.data( this, fullName, new object( options, this ) ); } }); } @@ -454,74 +513,123 @@ $.widget.bridge = function( name, object ) { }; }; -$.Widget = function( options, element ) { - // allow instantiation without initializing for simple inheritance - if ( arguments.length ) { - this._createWidget( options, element ); - } -}; +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; $.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", + defaultElement: "
", options: { - disabled: false + disabled: false, + + // callbacks + create: null }, _createWidget: function( options, element ) { - // $.widget.bridge stores the plugin instance, but we do it anyway - // so that it's stored even before the _create function runs - $.data( element, this.widgetName, this ); + element = $( element || this.defaultElement || this )[ 0 ]; this.element = $( element ); - this.options = $.extend( true, {}, + this.uuid = uuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + this.options = $.widget.extend( {}, this.options, this._getCreateOptions(), options ); - var self = this; - this.element.bind( "remove." + this.widgetName, function() { - self.destroy(); - }); + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + }); + this.document = $( element.style ? + // element within the document + element.ownerDocument : + // element is window or document + element.document || element ); + this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); + } this._create(); - this._trigger( "create" ); + this._trigger( "create", null, this._getCreateEventData() ); this._init(); }, - _getCreateOptions: function() { - return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ]; - }, - _create: function() {}, - _init: function() {}, + _getCreateOptions: $.noop, + _getCreateEventData: $.noop, + _create: $.noop, + _init: $.noop, destroy: function() { + this._destroy(); + // we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() this.element - .unbind( "." + this.widgetName ) - .removeData( this.widgetName ); + .unbind( this.eventNamespace ) + // 1.9 BC for #7810 + // TODO remove dual storage + .removeData( this.widgetName ) + .removeData( this.widgetFullName ) + // support: jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData( $.camelCase( this.widgetFullName ) ); this.widget() - .unbind( "." + this.widgetName ) + .unbind( this.eventNamespace ) .removeAttr( "aria-disabled" ) .removeClass( - this.widgetBaseClass + "-disabled " + + this.widgetFullName + "-disabled " + "ui-state-disabled" ); + + // clean up events and states + this.bindings.unbind( this.eventNamespace ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); }, + _destroy: $.noop, widget: function() { return this.element; }, option: function( key, value ) { - var options = key; + var options = key, + parts, + curOption, + i; if ( arguments.length === 0 ) { // don't return a reference to the internal hash - return $.extend( {}, this.options ); + return $.widget.extend( {}, this.options ); } - if (typeof key === "string" ) { - if ( value === undefined ) { - return this.options[ key ]; - } + if ( typeof key === "string" ) { + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } options = {}; - options[ key ] = value; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( value === undefined ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( value === undefined ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } } this._setOptions( options ); @@ -529,10 +637,11 @@ $.Widget.prototype = { return this; }, _setOptions: function( options ) { - var self = this; - $.each( options, function( key, value ) { - self._setOption( key, value ); - }); + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } return this; }, @@ -541,10 +650,10 @@ $.Widget.prototype = { if ( key === "disabled" ) { this.widget() - [ value ? "addClass" : "removeClass"]( - this.widgetBaseClass + "-disabled" + " " + - "ui-state-disabled" ) + .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) .attr( "aria-disabled", value ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); } return this; @@ -557,6 +666,97 @@ $.Widget.prototype = { return this._setOption( "disabled", true ); }, + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement, + instance = this; + + // no suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // no element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + // accept selectors, DOM elements + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + // allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^(\w+)\s*(.*)$/ ), + eventName = match[1] + instance.eventNamespace, + selector = match[2]; + if ( selector ) { + delegateElement.delegate( selector, eventName, handlerProxy ); + } else { + element.bind( eventName, handlerProxy ); + } + }); + }, + + _off: function( element, eventName ) { + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; + element.unbind( eventName ).undelegate( eventName ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + $( event.currentTarget ).addClass( "ui-state-hover" ); + }, + mouseleave: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-hover" ); + } + }); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + $( event.currentTarget ).addClass( "ui-state-focus" ); + }, + focusout: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-focus" ); + } + }); + }, + _trigger: function( type, event, data ) { var prop, orig, callback = this.options[ type ]; @@ -581,49 +781,73 @@ $.Widget.prototype = { } this.element.trigger( event, data ); - - return !( $.isFunction(callback) && - callback.call( this.element[0], event, data ) === false || + return !( $.isFunction( callback ) && + callback.apply( this.element[0], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } }; +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + var hasOptions, + effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + if ( options.delay ) { + element.delay( options.delay ); + } + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue(function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + }); + } + }; +}); + })( jQuery ); -/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ (function( $, undefined ) { var mouseHandled = false; -$( document ).mouseup( function( e ) { +$( document ).mouseup( function() { mouseHandled = false; }); $.widget("ui.mouse", { + version: "1.10.3", options: { - cancel: ':input,option', + cancel: "input,textarea,button,select,option", distance: 1, delay: 0 }, _mouseInit: function() { - var self = this; + var that = this; this.element - .bind('mousedown.'+this.widgetName, function(event) { - return self._mouseDown(event); + .bind("mousedown."+this.widgetName, function(event) { + return that._mouseDown(event); }) - .bind('click.'+this.widgetName, function(event) { - if (true === $.data(event.target, self.widgetName + '.preventClickEvent')) { - $.removeData(event.target, self.widgetName + '.preventClickEvent'); + .bind("click."+this.widgetName, function(event) { + if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { + $.removeData(event.target, that.widgetName + ".preventClickEvent"); event.stopImmediatePropagation(); return false; } @@ -635,23 +859,28 @@ $.widget("ui.mouse", { // TODO: make sure destroying one instance of mouse doesn't mess with // other instances of mouse _mouseDestroy: function() { - this.element.unbind('.'+this.widgetName); + this.element.unbind("."+this.widgetName); + if ( this._mouseMoveDelegate ) { + $(document) + .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup."+this.widgetName, this._mouseUpDelegate); + } }, _mouseDown: function(event) { // don't let more than one widget handle mouseStart - if( mouseHandled ) { return }; + if( mouseHandled ) { return; } // we may have missed mouseup (out of window) (this._mouseStarted && this._mouseUp(event)); this._mouseDownEvent = event; - var self = this, - btnIsLeft = (event.which == 1), + var that = this, + btnIsLeft = (event.which === 1), // event.target.nodeName works around a bug in IE 8 with // disabled inputs (#7620) - elIsCancel = (typeof this.options.cancel == "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { return true; } @@ -659,7 +888,7 @@ $.widget("ui.mouse", { this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) { this._mouseDelayTimer = setTimeout(function() { - self.mouseDelayMet = true; + that.mouseDelayMet = true; }, this.options.delay); } @@ -672,30 +901,30 @@ $.widget("ui.mouse", { } // Click event may never have fired (Gecko & Opera) - if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) { - $.removeData(event.target, this.widgetName + '.preventClickEvent'); + if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { + $.removeData(event.target, this.widgetName + ".preventClickEvent"); } // these delegates are required to keep context this._mouseMoveDelegate = function(event) { - return self._mouseMove(event); + return that._mouseMove(event); }; this._mouseUpDelegate = function(event) { - return self._mouseUp(event); + return that._mouseUp(event); }; $(document) - .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) - .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); + .bind("mousemove."+this.widgetName, this._mouseMoveDelegate) + .bind("mouseup."+this.widgetName, this._mouseUpDelegate); event.preventDefault(); - + mouseHandled = true; return true; }, _mouseMove: function(event) { // IE mouseup check - mouseup happened when mouse was out of window - if ($.browser.msie && !(document.documentMode >= 9) && !event.button) { + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { return this._mouseUp(event); } @@ -715,14 +944,14 @@ $.widget("ui.mouse", { _mouseUp: function(event) { $(document) - .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) - .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); + .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup."+this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) { this._mouseStarted = false; - if (event.target == this._mouseDownEvent.target) { - $.data(event.target, this.widgetName + '.preventClickEvent', true); + if (event.target === this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + ".preventClickEvent", true); } this._mouseStop(event); @@ -739,35 +968,22 @@ $.widget("ui.mouse", { ); }, - _mouseDelayMet: function(event) { + _mouseDelayMet: function(/* event */) { return this.mouseDelayMet; }, // These are placeholder methods, to be overriden by extending plugin - _mouseStart: function(event) {}, - _mouseDrag: function(event) {}, - _mouseStop: function(event) {}, - _mouseCapture: function(event) { return true; } + _mouseStart: function(/* event */) {}, + _mouseDrag: function(/* event */) {}, + _mouseStop: function(/* event */) {}, + _mouseCapture: function(/* event */) { return true; } }); })(jQuery); -/* - * jQuery UI Draggable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ (function( $, undefined ) { $.widget("ui.draggable", $.ui.mouse, { + version: "1.10.3", widgetEventPrefix: "drag", options: { addClasses: true, @@ -793,58 +1009,61 @@ $.widget("ui.draggable", $.ui.mouse, { snapMode: "both", snapTolerance: 20, stack: false, - zIndex: false + zIndex: false, + + // callbacks + drag: null, + start: null, + stop: null }, _create: function() { - if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) - this.element[0].style.position = 'relative'; - - (this.options.addClasses && this.element.addClass("ui-draggable")); - (this.options.disabled && this.element.addClass("ui-draggable-disabled")); + if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) { + this.element[0].style.position = "relative"; + } + if (this.options.addClasses){ + this.element.addClass("ui-draggable"); + } + if (this.options.disabled){ + this.element.addClass("ui-draggable-disabled"); + } this._mouseInit(); }, - destroy: function() { - if(!this.element.data('draggable')) return; - this.element - .removeData("draggable") - .unbind(".draggable") - .removeClass("ui-draggable" - + " ui-draggable-dragging" - + " ui-draggable-disabled"); + _destroy: function() { + this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ); this._mouseDestroy(); - - return this; }, _mouseCapture: function(event) { var o = this.options; + $( document.activeElement ).blur(); + // among others, prevent a drag on a resizable-handle - if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle')) + if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { return false; + } //Quit if we're not on a valid handle this.handle = this._getHandle(event); - if (!this.handle) + if (!this.handle) { return false; - - if ( o.iframeFix ) { - $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { - $('
') - .css({ - width: this.offsetWidth+"px", height: this.offsetHeight+"px", - position: "absolute", opacity: "0.001", zIndex: 1000 - }) - .css($(this).offset()) - .appendTo("body"); - }); } + $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { + $("
") + .css({ + width: this.offsetWidth+"px", height: this.offsetHeight+"px", + position: "absolute", opacity: "0.001", zIndex: 1000 + }) + .css($(this).offset()) + .appendTo("body"); + }); + return true; }, @@ -856,12 +1075,15 @@ $.widget("ui.draggable", $.ui.mouse, { //Create and append the visible helper this.helper = this._createHelper(event); + this.helper.addClass("ui-draggable-dragging"); + //Cache the helper size this._cacheHelperProportions(); //If ddmanager is used for droppables, set the global draggable - if($.ui.ddmanager) + if($.ui.ddmanager) { $.ui.ddmanager.current = this; + } /* * - Position generation - @@ -872,8 +1094,10 @@ $.widget("ui.draggable", $.ui.mouse, { this._cacheMargins(); //Store the helper's css position - this.cssPosition = this.helper.css("position"); + this.cssPosition = this.helper.css( "position" ); this.scrollParent = this.helper.scrollParent(); + this.offsetParent = this.helper.offsetParent(); + this.offsetParentCssPosition = this.offsetParent.css( "position" ); //The element's absolute position on the page minus margins this.offset = this.positionAbs = this.element.offset(); @@ -882,6 +1106,9 @@ $.widget("ui.draggable", $.ui.mouse, { left: this.offset.left - this.margins.left }; + //Reset scroll cache + this.offset.scroll = false; + $.extend(this.offset, { click: { //Where the click happened, relative to the element left: event.pageX - this.offset.left, @@ -896,12 +1123,11 @@ $.widget("ui.draggable", $.ui.mouse, { this.originalPageX = event.pageX; this.originalPageY = event.pageY; - //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); //Set a containment if given in the options - if(o.containment) - this._setContainment(); + this._setContainment(); //Trigger event + callbacks if(this._trigger("start", event) === false) { @@ -913,19 +1139,26 @@ $.widget("ui.draggable", $.ui.mouse, { this._cacheHelperProportions(); //Prepare the droppable offsets - if ($.ui.ddmanager && !o.dropBehaviour) + if ($.ui.ddmanager && !o.dropBehaviour) { $.ui.ddmanager.prepareOffsets(this, event); + } + - this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position - + //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003) - if ( $.ui.ddmanager ) $.ui.ddmanager.dragStart(this, event); - + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStart(this, event); + } + return true; }, _mouseDrag: function(event, noPropagation) { + // reset any necessary cached properties (see #5009) + if ( this.offsetParentCssPosition === "fixed" ) { + this.offset.parent = this._getParentOffset(); + } //Compute the helpers position this.position = this._generatePosition(event); @@ -934,16 +1167,22 @@ $.widget("ui.draggable", $.ui.mouse, { //Call plugins and callbacks and use the resulting position if something is returned if (!noPropagation) { var ui = this._uiHash(); - if(this._trigger('drag', event, ui) === false) { + if(this._trigger("drag", event, ui) === false) { this._mouseUp({}); return false; } this.position = ui.position; } - if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; - if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; - if($.ui.ddmanager) $.ui.ddmanager.drag(this, event); + if(!this.options.axis || this.options.axis !== "y") { + this.helper[0].style.left = this.position.left+"px"; + } + if(!this.options.axis || this.options.axis !== "x") { + this.helper[0].style.top = this.position.top+"px"; + } + if($.ui.ddmanager) { + $.ui.ddmanager.drag(this, event); + } return false; }, @@ -951,25 +1190,27 @@ $.widget("ui.draggable", $.ui.mouse, { _mouseStop: function(event) { //If we are using droppables, inform the manager about the drop - var dropped = false; - if ($.ui.ddmanager && !this.options.dropBehaviour) + var that = this, + dropped = false; + if ($.ui.ddmanager && !this.options.dropBehaviour) { dropped = $.ui.ddmanager.drop(this, event); + } //if a drop comes from outside (a sortable) if(this.dropped) { dropped = this.dropped; this.dropped = false; } - - //if the original element is removed, don't bother to continue if helper is set to "original" - if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") - return false; - if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { - var self = this; + //if the original element is no longer in the DOM don't bother to continue (see #8269) + if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) { + return false; + } + + if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { - if(self._trigger("stop", event) !== false) { - self._clear(); + if(that._trigger("stop", event) !== false) { + that._clear(); } }); } else { @@ -980,78 +1221,73 @@ $.widget("ui.draggable", $.ui.mouse, { return false; }, - + _mouseUp: function(event) { - if (this.options.iframeFix === true) { - $("div.ui-draggable-iframeFix").each(function() { - this.parentNode.removeChild(this); - }); //Remove frame helpers - } - + //Remove frame helpers + $("div.ui-draggable-iframeFix").each(function() { + this.parentNode.removeChild(this); + }); + //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003) - if( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event); - + if( $.ui.ddmanager ) { + $.ui.ddmanager.dragStop(this, event); + } + return $.ui.mouse.prototype._mouseUp.call(this, event); }, - + cancel: function() { - + if(this.helper.is(".ui-draggable-dragging")) { this._mouseUp({}); } else { this._clear(); } - + return this; - + }, _getHandle: function(event) { - - var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false; - $(this.options.handle, this.element) - .find("*") - .andSelf() - .each(function() { - if(this == event.target) handle = true; - }); - - return handle; - + return this.options.handle ? + !!$( event.target ).closest( this.element.find( this.options.handle ) ).length : + true; }, _createHelper: function(event) { - var o = this.options; - var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element); + var o = this.options, + helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element); - if(!helper.parents('body').length) - helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo)); + if(!helper.parents("body").length) { + helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo)); + } - if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) + if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) { helper.css("position", "absolute"); + } return helper; }, _adjustOffsetFromHelper: function(obj) { - if (typeof obj == 'string') { - obj = obj.split(' '); + if (typeof obj === "string") { + obj = obj.split(" "); } if ($.isArray(obj)) { obj = {left: +obj[0], top: +obj[1] || 0}; } - if ('left' in obj) { + if ("left" in obj) { this.offset.click.left = obj.left + this.margins.left; } - if ('right' in obj) { + if ("right" in obj) { this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; } - if ('top' in obj) { + if ("top" in obj) { this.offset.click.top = obj.top + this.margins.top; } - if ('bottom' in obj) { + if ("bottom" in obj) { this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; } }, @@ -1059,21 +1295,23 @@ $.widget("ui.draggable", $.ui.mouse, { _getParentOffset: function() { //Get the offsetParent and cache its position - this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); // This is a special case where we need to modify a offset calculated on start, since the following happened: // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag - if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) { + if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) { po.left += this.scrollParent.scrollLeft(); po.top += this.scrollParent.scrollTop(); } - if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information - || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix + //This needs to be actually done for all browsers, since pageX/pageY includes this information + //Ugly IE fix + if((this.offsetParent[0] === document.body) || + (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { po = { top: 0, left: 0 }; + } return { top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), @@ -1084,7 +1322,7 @@ $.widget("ui.draggable", $.ui.mouse, { _getRelativeOffset: function() { - if(this.cssPosition == "relative") { + if(this.cssPosition === "relative") { var p = this.element.position(); return { top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), @@ -1114,53 +1352,87 @@ $.widget("ui.draggable", $.ui.mouse, { _setContainment: function() { - var o = this.options; - if(o.containment == 'parent') o.containment = this.helper[0].parentNode; - if(o.containment == 'document' || o.containment == 'window') this.containment = [ - o.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, - o.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, - (o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left, - (o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top - ]; + var over, c, ce, + o = this.options; - if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) { - var c = $(o.containment); - var ce = c[0]; if(!ce) return; - var co = c.offset(); - var over = ($(ce).css("overflow") != 'hidden'); - - this.containment = [ - (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0), - (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0), - (over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, - (over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom - ]; - this.relative_container = c; - - } else if(o.containment.constructor == Array) { - this.containment = o.containment; + if ( !o.containment ) { + this.containment = null; + return; } + if ( o.containment === "window" ) { + this.containment = [ + $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, + $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, + $( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left, + $( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment === "document") { + this.containment = [ + 0, + 0, + $( document ).width() - this.helperProportions.width - this.margins.left, + ( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment.constructor === Array ) { + this.containment = o.containment; + return; + } + + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + + c = $( o.containment ); + ce = c[ 0 ]; + + if( !ce ) { + return; + } + + over = c.css( "overflow" ) !== "hidden"; + + this.containment = [ + ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), + ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) , + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right, + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top - this.margins.bottom + ]; + this.relative_container = c; }, _convertPositionTo: function(d, pos) { - if(!pos) pos = this.position; - var mod = d == "absolute" ? 1 : -1; - var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + if(!pos) { + pos = this.position; + } + + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent; + + //Cache the scroll + if (!this.offset.scroll) { + this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()}; + } return { top: ( - pos.top // The absolute mouse position - + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent - + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) - - ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) + pos.top + // The absolute mouse position + this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod ) ), left: ( - pos.left // The absolute mouse position - + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent - + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) - - ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) + pos.left + // The absolute mouse position + this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod ) ) }; @@ -1168,60 +1440,77 @@ $.widget("ui.draggable", $.ui.mouse, { _generatePosition: function(event) { - var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); - var pageX = event.pageX; - var pageY = event.pageY; + var containment, co, top, left, + o = this.options, + scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent, + pageX = event.pageX, + pageY = event.pageY; + + //Cache the scroll + if (!this.offset.scroll) { + this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()}; + } /* * - Position constraining - * Constrain the position to a mix of grid, containment. */ - if(this.originalPosition) { //If we are not dragging yet, we won't check for options - var containment; - if(this.containment) { - if (this.relative_container){ - var co = this.relative_container.offset(); - containment = [ this.containment[0] + co.left, - this.containment[1] + co.top, - this.containment[2] + co.left, - this.containment[3] + co.top ]; - } - else { - containment = this.containment; - } + // If we are not dragging yet, we won't check for options + if ( this.originalPosition ) { + if ( this.containment ) { + if ( this.relative_container ){ + co = this.relative_container.offset(); + containment = [ + this.containment[ 0 ] + co.left, + this.containment[ 1 ] + co.top, + this.containment[ 2 ] + co.left, + this.containment[ 3 ] + co.top + ]; + } + else { + containment = this.containment; + } - if(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left; - if(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top; - if(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left; - if(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top; + if(event.pageX - this.offset.click.left < containment[0]) { + pageX = containment[0] + this.offset.click.left; + } + if(event.pageY - this.offset.click.top < containment[1]) { + pageY = containment[1] + this.offset.click.top; + } + if(event.pageX - this.offset.click.left > containment[2]) { + pageX = containment[2] + this.offset.click.left; + } + if(event.pageY - this.offset.click.top > containment[3]) { + pageY = containment[3] + this.offset.click.top; + } } if(o.grid) { //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950) - var top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY; - pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY; + pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; - var left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX; - pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX; + pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; } } return { top: ( - pageY // The absolute mouse position - - this.offset.click.top // Click offset (relative to the element) - - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent - - this.offset.parent.top // The offsetParent's offset without borders (offset + border) - + ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) + pageY - // The absolute mouse position + this.offset.click.top - // Click offset (relative to the element) + this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.top + // The offsetParent's offset without borders (offset + border) + ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) ), left: ( - pageX // The absolute mouse position - - this.offset.click.left // Click offset (relative to the element) - - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent - - this.offset.parent.left // The offsetParent's offset without borders (offset + border) - + ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) + pageX - // The absolute mouse position + this.offset.click.left - // Click offset (relative to the element) + this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.left + // The offsetParent's offset without borders (offset + border) + ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) ) }; @@ -1229,8 +1518,9 @@ $.widget("ui.draggable", $.ui.mouse, { _clear: function() { this.helper.removeClass("ui-draggable-dragging"); - if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove(); - //if($.ui.ddmanager) $.ui.ddmanager.current = null; + if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) { + this.helper.remove(); + } this.helper = null; this.cancelHelperRemoval = false; }, @@ -1240,13 +1530,16 @@ $.widget("ui.draggable", $.ui.mouse, { _trigger: function(type, event, ui) { ui = ui || this._uiHash(); $.ui.plugin.call(this, type, [event, ui]); - if(type == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins + //The absolute position has to be recalculated after plugins + if(type === "drag") { + this.positionAbs = this._convertPositionTo("absolute"); + } return $.Widget.prototype._trigger.call(this, type, event, ui); }, plugins: {}, - _uiHash: function(event) { + _uiHash: function() { return { helper: this.helper, position: this.position, @@ -1257,18 +1550,14 @@ $.widget("ui.draggable", $.ui.mouse, { }); -$.extend($.ui.draggable, { - version: "1.8.18" -}); - $.ui.plugin.add("draggable", "connectToSortable", { start: function(event, ui) { - var inst = $(this).data("draggable"), o = inst.options, + var inst = $(this).data("ui-draggable"), o = inst.options, uiSortable = $.extend({}, ui, { item: inst.element }); inst.sortables = []; $(o.connectToSortable).each(function() { - var sortable = $.data(this, 'sortable'); + var sortable = $.data(this, "ui-sortable"); if (sortable && !sortable.options.disabled) { inst.sortables.push({ instance: sortable, @@ -1283,7 +1572,7 @@ $.ui.plugin.add("draggable", "connectToSortable", { stop: function(event, ui) { //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper - var inst = $(this).data("draggable"), + var inst = $(this).data("ui-draggable"), uiSortable = $.extend({}, ui, { item: inst.element }); $.each(inst.sortables, function() { @@ -1294,8 +1583,10 @@ $.ui.plugin.add("draggable", "connectToSortable", { inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) - //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: 'valid/invalid' - if(this.shouldRevert) this.instance.options.revert = true; + //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid" + if(this.shouldRevert) { + this.instance.options.revert = this.shouldRevert; + } //Trigger the stop of the sortable this.instance._mouseStop(event); @@ -1303,8 +1594,9 @@ $.ui.plugin.add("draggable", "connectToSortable", { this.instance.options.helper = this.instance.options._helper; //If the helper has been the original item, restore properties in the sortable - if(inst.options.helper == 'original') - this.instance.currentItem.css({ top: 'auto', left: 'auto' }); + if(inst.options.helper === "original") { + this.instance.currentItem.css({ top: "auto", left: "auto" }); + } } else { this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance @@ -1316,26 +1608,36 @@ $.ui.plugin.add("draggable", "connectToSortable", { }, drag: function(event, ui) { - var inst = $(this).data("draggable"), self = this; + var inst = $(this).data("ui-draggable"), that = this; - var checkPos = function(o) { - var dyClick = this.offset.click.top, dxClick = this.offset.click.left; - var helperTop = this.positionAbs.top, helperLeft = this.positionAbs.left; - var itemHeight = o.height, itemWidth = o.width; - var itemTop = o.top, itemLeft = o.left; + $.each(inst.sortables, function() { - return $.ui.isOver(helperTop + dyClick, helperLeft + dxClick, itemTop, itemLeft, itemHeight, itemWidth); - }; + var innermostIntersecting = false, + thisSortable = this; - $.each(inst.sortables, function(i) { - //Copy over some variables to allow calling the sortable's native _intersectsWith this.instance.positionAbs = inst.positionAbs; this.instance.helperProportions = inst.helperProportions; this.instance.offset.click = inst.offset.click; - - if(this.instance._intersectsWith(this.instance.containerCache)) { + if(this.instance._intersectsWith(this.instance.containerCache)) { + innermostIntersecting = true; + $.each(inst.sortables, function () { + this.instance.positionAbs = inst.positionAbs; + this.instance.helperProportions = inst.helperProportions; + this.instance.offset.click = inst.offset.click; + if (this !== thisSortable && + this.instance._intersectsWith(this.instance.containerCache) && + $.contains(thisSortable.instance.element[0], this.instance.element[0]) + ) { + innermostIntersecting = false; + } + return innermostIntersecting; + }); + } + + + if(innermostIntersecting) { //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once if(!this.instance.isOver) { @@ -1343,7 +1645,7 @@ $.ui.plugin.add("draggable", "connectToSortable", { //Now we fake the start of dragging for the sortable instance, //by cloning the list group item, appending it to the sortable and using it as inst.currentItem //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) - this.instance.currentItem = $(self).clone().removeAttr('id').appendTo(this.instance.element).data("sortable-item", true); + this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true); this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it this.instance.options.helper = function() { return ui.helper[0]; }; @@ -1366,7 +1668,9 @@ $.ui.plugin.add("draggable", "connectToSortable", { } //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable - if(this.instance.currentItem) this.instance._mouseDrag(event); + if(this.instance.currentItem) { + this.instance._mouseDrag(event); + } } else { @@ -1376,25 +1680,27 @@ $.ui.plugin.add("draggable", "connectToSortable", { this.instance.isOver = 0; this.instance.cancelHelperRemoval = true; - + //Prevent reverting on this forced stop this.instance.options.revert = false; - + // The out event needs to be triggered independently - this.instance._trigger('out', event, this.instance._uiHash(this.instance)); - + this.instance._trigger("out", event, this.instance._uiHash(this.instance)); + this.instance._mouseStop(event, true); this.instance.options.helper = this.instance.options._helper; //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size this.instance.currentItem.remove(); - if(this.instance.placeholder) this.instance.placeholder.remove(); + if(this.instance.placeholder) { + this.instance.placeholder.remove(); + } inst._trigger("fromSortable", event); inst.dropped = false; //draggable revert needs that } - }; + } }); @@ -1402,212 +1708,255 @@ $.ui.plugin.add("draggable", "connectToSortable", { }); $.ui.plugin.add("draggable", "cursor", { - start: function(event, ui) { - var t = $('body'), o = $(this).data('draggable').options; - if (t.css("cursor")) o._cursor = t.css("cursor"); + start: function() { + var t = $("body"), o = $(this).data("ui-draggable").options; + if (t.css("cursor")) { + o._cursor = t.css("cursor"); + } t.css("cursor", o.cursor); }, - stop: function(event, ui) { - var o = $(this).data('draggable').options; - if (o._cursor) $('body').css("cursor", o._cursor); + stop: function() { + var o = $(this).data("ui-draggable").options; + if (o._cursor) { + $("body").css("cursor", o._cursor); + } } }); $.ui.plugin.add("draggable", "opacity", { start: function(event, ui) { - var t = $(ui.helper), o = $(this).data('draggable').options; - if(t.css("opacity")) o._opacity = t.css("opacity"); - t.css('opacity', o.opacity); + var t = $(ui.helper), o = $(this).data("ui-draggable").options; + if(t.css("opacity")) { + o._opacity = t.css("opacity"); + } + t.css("opacity", o.opacity); }, stop: function(event, ui) { - var o = $(this).data('draggable').options; - if(o._opacity) $(ui.helper).css('opacity', o._opacity); + var o = $(this).data("ui-draggable").options; + if(o._opacity) { + $(ui.helper).css("opacity", o._opacity); + } } }); $.ui.plugin.add("draggable", "scroll", { - start: function(event, ui) { - var i = $(this).data("draggable"); - if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') i.overflowOffset = i.scrollParent.offset(); + start: function() { + var i = $(this).data("ui-draggable"); + if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") { + i.overflowOffset = i.scrollParent.offset(); + } }, - drag: function(event, ui) { + drag: function( event ) { - var i = $(this).data("draggable"), o = i.options, scrolled = false; + var i = $(this).data("ui-draggable"), o = i.options, scrolled = false; - if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') { + if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") { - if(!o.axis || o.axis != 'x') { - if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) + if(!o.axis || o.axis !== "x") { + if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed; - else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) + } else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) { i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed; + } } - if(!o.axis || o.axis != 'y') { - if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) + if(!o.axis || o.axis !== "y") { + if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed; - else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) + } else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) { i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed; + } } } else { - if(!o.axis || o.axis != 'x') { - if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) + if(!o.axis || o.axis !== "x") { + if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) { scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); - else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) + } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) { scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + } } - if(!o.axis || o.axis != 'y') { - if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) + if(!o.axis || o.axis !== "y") { + if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) { scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); - else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) { scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + } } } - if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) + if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { $.ui.ddmanager.prepareOffsets(i, event); + } } }); $.ui.plugin.add("draggable", "snap", { - start: function(event, ui) { + start: function() { + + var i = $(this).data("ui-draggable"), + o = i.options; - var i = $(this).data("draggable"), o = i.options; i.snapElements = []; - $(o.snap.constructor != String ? ( o.snap.items || ':data(draggable)' ) : o.snap).each(function() { - var $t = $(this); var $o = $t.offset(); - if(this != i.element[0]) i.snapElements.push({ - item: this, - width: $t.outerWidth(), height: $t.outerHeight(), - top: $o.top, left: $o.left - }); + $(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() { + var $t = $(this), + $o = $t.offset(); + if(this !== i.element[0]) { + i.snapElements.push({ + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + }); + } }); }, drag: function(event, ui) { - var inst = $(this).data("draggable"), o = inst.options; - var d = o.snapTolerance; - - var x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, + var ts, bs, ls, rs, l, r, t, b, i, first, + inst = $(this).data("ui-draggable"), + o = inst.options, + d = o.snapTolerance, + x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; - for (var i = inst.snapElements.length - 1; i >= 0; i--){ + for (i = inst.snapElements.length - 1; i >= 0; i--){ - var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width, - t = inst.snapElements[i].top, b = t + inst.snapElements[i].height; + l = inst.snapElements[i].left; + r = l + inst.snapElements[i].width; + t = inst.snapElements[i].top; + b = t + inst.snapElements[i].height; - //Yes, I know, this is insane ;) - if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) { - if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); + if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) { + if(inst.snapElements[i].snapping) { + (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); + } inst.snapElements[i].snapping = false; continue; } - if(o.snapMode != 'inner') { - var ts = Math.abs(t - y2) <= d; - var bs = Math.abs(b - y1) <= d; - var ls = Math.abs(l - x2) <= d; - var rs = Math.abs(r - x1) <= d; - if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top; - if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top; - if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left; - if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left; + if(o.snapMode !== "inner") { + ts = Math.abs(t - y2) <= d; + bs = Math.abs(b - y1) <= d; + ls = Math.abs(l - x2) <= d; + rs = Math.abs(r - x1) <= d; + if(ts) { + ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top; + } + if(bs) { + ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top; + } + if(ls) { + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left; + } + if(rs) { + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left; + } } - var first = (ts || bs || ls || rs); + first = (ts || bs || ls || rs); - if(o.snapMode != 'outer') { - var ts = Math.abs(t - y1) <= d; - var bs = Math.abs(b - y2) <= d; - var ls = Math.abs(l - x1) <= d; - var rs = Math.abs(r - x2) <= d; - if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top; - if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top; - if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left; - if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left; + if(o.snapMode !== "outer") { + ts = Math.abs(t - y1) <= d; + bs = Math.abs(b - y2) <= d; + ls = Math.abs(l - x1) <= d; + rs = Math.abs(r - x2) <= d; + if(ts) { + ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top; + } + if(bs) { + ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top; + } + if(ls) { + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left; + } + if(rs) { + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left; + } } - if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) + if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) { (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); + } inst.snapElements[i].snapping = (ts || bs || ls || rs || first); - }; + } } }); $.ui.plugin.add("draggable", "stack", { - start: function(event, ui) { + start: function() { + var min, + o = this.data("ui-draggable").options, + group = $.makeArray($(o.stack)).sort(function(a,b) { + return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0); + }); - var o = $(this).data("draggable").options; - - var group = $.makeArray($(o.stack)).sort(function(a,b) { - return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0); - }); if (!group.length) { return; } - - var min = parseInt(group[0].style.zIndex) || 0; + + min = parseInt($(group[0]).css("zIndex"), 10) || 0; $(group).each(function(i) { - this.style.zIndex = min + i; + $(this).css("zIndex", min + i); }); - - this[0].style.zIndex = min + group.length; - + this.css("zIndex", (min + group.length)); } }); $.ui.plugin.add("draggable", "zIndex", { start: function(event, ui) { - var t = $(ui.helper), o = $(this).data("draggable").options; - if(t.css("zIndex")) o._zIndex = t.css("zIndex"); - t.css('zIndex', o.zIndex); + var t = $(ui.helper), o = $(this).data("ui-draggable").options; + if(t.css("zIndex")) { + o._zIndex = t.css("zIndex"); + } + t.css("zIndex", o.zIndex); }, stop: function(event, ui) { - var o = $(this).data("draggable").options; - if(o._zIndex) $(ui.helper).css('zIndex', o._zIndex); + var o = $(this).data("ui-draggable").options; + if(o._zIndex) { + $(ui.helper).css("zIndex", o._zIndex); + } } }); })(jQuery); -/* - * jQuery UI Droppable 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Droppables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - * jquery.ui.mouse.js - * jquery.ui.draggable.js - */ (function( $, undefined ) { +function isOverAxis( x, reference, size ) { + return ( x > reference ) && ( x < ( reference + size ) ); +} + $.widget("ui.droppable", { + version: "1.10.3", widgetEventPrefix: "drop", options: { - accept: '*', + accept: "*", activeClass: false, addClasses: true, greedy: false, hoverClass: false, - scope: 'default', - tolerance: 'intersect' + scope: "default", + tolerance: "intersect", + + // callbacks + activate: null, + deactivate: null, + drop: null, + out: null, + over: null }, _create: function() { - var o = this.options, accept = o.accept; - this.isover = 0; this.isout = 1; + var o = this.options, + accept = o.accept; + + this.isover = false; + this.isout = true; this.accept = $.isFunction(accept) ? accept : function(d) { return d.is(accept); @@ -1624,23 +1973,22 @@ $.widget("ui.droppable", { }, - destroy: function() { - var drop = $.ui.ddmanager.droppables[this.options.scope]; - for ( var i = 0; i < drop.length; i++ ) - if ( drop[i] == this ) + _destroy: function() { + var i = 0, + drop = $.ui.ddmanager.droppables[this.options.scope]; + + for ( ; i < drop.length; i++ ) { + if ( drop[i] === this ) { drop.splice(i, 1); + } + } - this.element - .removeClass("ui-droppable ui-droppable-disabled") - .removeData("droppable") - .unbind(".droppable"); - - return this; + this.element.removeClass("ui-droppable ui-droppable-disabled"); }, _setOption: function(key, value) { - if(key == 'accept') { + if(key === "accept") { this.accept = $.isFunction(value) ? value : function(d) { return d.is(value); }; @@ -1650,24 +1998,38 @@ $.widget("ui.droppable", { _activate: function(event) { var draggable = $.ui.ddmanager.current; - if(this.options.activeClass) this.element.addClass(this.options.activeClass); - (draggable && this._trigger('activate', event, this.ui(draggable))); + if(this.options.activeClass) { + this.element.addClass(this.options.activeClass); + } + if(draggable){ + this._trigger("activate", event, this.ui(draggable)); + } }, _deactivate: function(event) { var draggable = $.ui.ddmanager.current; - if(this.options.activeClass) this.element.removeClass(this.options.activeClass); - (draggable && this._trigger('deactivate', event, this.ui(draggable))); + if(this.options.activeClass) { + this.element.removeClass(this.options.activeClass); + } + if(draggable){ + this._trigger("deactivate", event, this.ui(draggable)); + } }, _over: function(event) { var draggable = $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + // Bail if draggable and droppable are same element + if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { + return; + } if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { - if(this.options.hoverClass) this.element.addClass(this.options.hoverClass); - this._trigger('over', event, this.ui(draggable)); + if(this.options.hoverClass) { + this.element.addClass(this.options.hoverClass); + } + this._trigger("over", event, this.ui(draggable)); } }, @@ -1675,37 +2037,53 @@ $.widget("ui.droppable", { _out: function(event) { var draggable = $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + // Bail if draggable and droppable are same element + if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { + return; + } if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { - if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass); - this._trigger('out', event, this.ui(draggable)); + if(this.options.hoverClass) { + this.element.removeClass(this.options.hoverClass); + } + this._trigger("out", event, this.ui(draggable)); } }, _drop: function(event,custom) { - var draggable = custom || $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element + var draggable = custom || $.ui.ddmanager.current, + childrenIntersection = false; - var childrenIntersection = false; - this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { - var inst = $.data(this, 'droppable'); + // Bail if draggable and droppable are same element + if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { + return false; + } + + this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() { + var inst = $.data(this, "ui-droppable"); if( - inst.options.greedy - && !inst.options.disabled - && inst.options.scope == draggable.options.scope - && inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) - && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance) + inst.options.greedy && + !inst.options.disabled && + inst.options.scope === draggable.options.scope && + inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) && + $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance) ) { childrenIntersection = true; return false; } }); - if(childrenIntersection) return false; + if(childrenIntersection) { + return false; + } if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { - if(this.options.activeClass) this.element.removeClass(this.options.activeClass); - if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass); - this._trigger('drop', event, this.ui(draggable)); + if(this.options.activeClass) { + this.element.removeClass(this.options.activeClass); + } + if(this.options.hoverClass) { + this.element.removeClass(this.options.hoverClass); + } + this._trigger("drop", event, this.ui(draggable)); return this.element; } @@ -1724,50 +2102,42 @@ $.widget("ui.droppable", { }); -$.extend($.ui.droppable, { - version: "1.8.18" -}); - $.ui.intersect = function(draggable, droppable, toleranceMode) { - if (!droppable.offset) return false; + if (!droppable.offset) { + return false; + } - var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, - y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height; - var l = droppable.offset.left, r = l + droppable.proportions.width, + var draggableLeft, draggableTop, + x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, + y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height, + l = droppable.offset.left, r = l + droppable.proportions.width, t = droppable.offset.top, b = t + droppable.proportions.height; switch (toleranceMode) { - case 'fit': - return (l <= x1 && x2 <= r - && t <= y1 && y2 <= b); - break; - case 'intersect': - return (l < x1 + (draggable.helperProportions.width / 2) // Right Half - && x2 - (draggable.helperProportions.width / 2) < r // Left Half - && t < y1 + (draggable.helperProportions.height / 2) // Bottom Half - && y2 - (draggable.helperProportions.height / 2) < b ); // Top Half - break; - case 'pointer': - var draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left), - draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top), - isOver = $.ui.isOver(draggableTop, draggableLeft, t, l, droppable.proportions.height, droppable.proportions.width); - return isOver; - break; - case 'touch': + case "fit": + return (l <= x1 && x2 <= r && t <= y1 && y2 <= b); + case "intersect": + return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half + x2 - (draggable.helperProportions.width / 2) < r && // Left Half + t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half + y2 - (draggable.helperProportions.height / 2) < b ); // Top Half + case "pointer": + draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left); + draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top); + return isOverAxis( draggableTop, t, droppable.proportions.height ) && isOverAxis( draggableLeft, l, droppable.proportions.width ); + case "touch": return ( - (y1 >= t && y1 <= b) || // Top edge touching - (y2 >= t && y2 <= b) || // Bottom edge touching - (y1 < t && y2 > b) // Surrounded vertically - ) && ( - (x1 >= l && x1 <= r) || // Left edge touching - (x2 >= l && x2 <= r) || // Right edge touching - (x1 < l && x2 > r) // Surrounded horizontally - ); - break; + (y1 >= t && y1 <= b) || // Top edge touching + (y2 >= t && y2 <= b) || // Bottom edge touching + (y1 < t && y2 > b) // Surrounded vertically + ) && ( + (x1 >= l && x1 <= r) || // Left edge touching + (x2 >= l && x2 <= r) || // Right edge touching + (x1 < l && x2 > r) // Surrounded horizontally + ); default: return false; - break; } }; @@ -1777,20 +2147,38 @@ $.ui.intersect = function(draggable, droppable, toleranceMode) { */ $.ui.ddmanager = { current: null, - droppables: { 'default': [] }, + droppables: { "default": [] }, prepareOffsets: function(t, event) { - var m = $.ui.ddmanager.droppables[t.options.scope] || []; - var type = event ? event.type : null; // workaround for #2317 - var list = (t.currentItem || t.element).find(":data(droppable)").andSelf(); + var i, j, + m = $.ui.ddmanager.droppables[t.options.scope] || [], + type = event ? event.type : null, // workaround for #2317 + list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack(); - droppablesLoop: for (var i = 0; i < m.length; i++) { + droppablesLoop: for (i = 0; i < m.length; i++) { - if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) continue; //No disabled and non-accepted - for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item - m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue + //No disabled and non-accepted + if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) { + continue; + } - if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables + // Filter out elements in the current dragged item + for (j=0; j < list.length; j++) { + if(list[j] === m[i].element[0]) { + m[i].proportions.height = 0; + continue droppablesLoop; + } + } + + m[i].visible = m[i].element.css("display") !== "none"; + if(!m[i].visible) { + continue; + } + + //Activate the droppable if used directly from draggables + if(type === "mousedown") { + m[i]._activate.call(m[i], event); + } m[i].offset = m[i].element.offset(); m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; @@ -1801,14 +2189,19 @@ $.ui.ddmanager = { drop: function(draggable, event) { var dropped = false; - $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() { + // Create a copy of the droppables in case the list changes during the drop (#9116) + $.each(($.ui.ddmanager.droppables[draggable.options.scope] || []).slice(), function() { - if(!this.options) return; - if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) + if(!this.options) { + return; + } + if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) { dropped = this._drop.call(this, event) || dropped; + } if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { - this.isout = 1; this.isover = 0; + this.isout = true; + this.isover = false; this._deactivate.call(this, event); } @@ -1818,56 +2211,72 @@ $.ui.ddmanager = { }, dragStart: function( draggable, event ) { //Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003) - draggable.element.parents( ":not(body,html)" ).bind( "scroll.droppable", function() { - if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event ); + draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() { + if( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } }); }, drag: function(draggable, event) { //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. - if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event); + if(draggable.options.refreshPositions) { + $.ui.ddmanager.prepareOffsets(draggable, event); + } //Run through all droppables and check their positions based on specific tolerance options $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() { - if(this.options.disabled || this.greedyChild || !this.visible) return; - var intersects = $.ui.intersect(draggable, this, this.options.tolerance); + if(this.options.disabled || this.greedyChild || !this.visible) { + return; + } - var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null); - if(!c) return; + var parentInstance, scope, parent, + intersects = $.ui.intersect(draggable, this, this.options.tolerance), + c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null); + if(!c) { + return; + } - var parentInstance; if (this.options.greedy) { - var parent = this.element.parents(':data(droppable):eq(0)'); + // find droppable parents with same scope + scope = this.options.scope; + parent = this.element.parents(":data(ui-droppable)").filter(function () { + return $.data(this, "ui-droppable").options.scope === scope; + }); + if (parent.length) { - parentInstance = $.data(parent[0], 'droppable'); - parentInstance.greedyChild = (c == 'isover' ? 1 : 0); + parentInstance = $.data(parent[0], "ui-droppable"); + parentInstance.greedyChild = (c === "isover"); } } // we just moved into a greedy child - if (parentInstance && c == 'isover') { - parentInstance['isover'] = 0; - parentInstance['isout'] = 1; + if (parentInstance && c === "isover") { + parentInstance.isover = false; + parentInstance.isout = true; parentInstance._out.call(parentInstance, event); } - this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0; - this[c == "isover" ? "_over" : "_out"].call(this, event); + this[c] = true; + this[c === "isout" ? "isover" : "isout"] = false; + this[c === "isover" ? "_over" : "_out"].call(this, event); // we just moved out of a greedy child - if (parentInstance && c == 'isout') { - parentInstance['isout'] = 0; - parentInstance['isover'] = 1; + if (parentInstance && c === "isout") { + parentInstance.isout = false; + parentInstance.isover = true; parentInstance._over.call(parentInstance, event); } }); }, dragStop: function( draggable, event ) { - draggable.element.parents( ":not(body,html)" ).unbind( "scroll.droppable" ); + draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" ); //Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003) - if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event ); + if( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } } }; From 256b679798404db77fa85b53df6bcf815c8e4007 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 18 Jul 2013 11:46:49 -0400 Subject: [PATCH 12/19] Bug fix for #2366 --- NEWS | 3 ++- SoObjects/Mailer/SOGoMailBaseObject.m | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2a276dbea..428ae0ae2 100644 --- a/NEWS +++ b/NEWS @@ -4,9 +4,10 @@ New features - print gridlines of calendar in 15-minute intervals - allow the events/tasks lists to be collapsable - + Enhancements - bubble box of events no longer overlaps the current event + - now pass the x-originating-ip using the IMAP ID extension Bug fixes - properly handle RFC2231 everywhere diff --git a/SoObjects/Mailer/SOGoMailBaseObject.m b/SoObjects/Mailer/SOGoMailBaseObject.m index 7053b19f7..62f3da511 100644 --- a/SoObjects/Mailer/SOGoMailBaseObject.m +++ b/SoObjects/Mailer/SOGoMailBaseObject.m @@ -151,6 +151,22 @@ static BOOL debugOn = YES; newConnection = (NGImap4Connection *) [NSNull null]; [self errorWithFormat:@"Could not connect IMAP4"]; } + else + { + // If the server has the ID capability (RFC 2971), we set the x-originating-ip + // accordingly for the IMAP connection. + NSString *remoteHost; + + remoteHost = [[context request] headerForKey: @"x-webobjects-remote-host"]; + + if (remoteHost) + { + if ([[[[newConnection client] capability] objectForKey: @"capability"] containsObject: @"id"]) + { + [[newConnection client] processCommand: [NSString stringWithFormat: @"ID (\"x-originating-ip\" \"%@\")", remoteHost]]; + } + } + } return newConnection; } From e24c20c48af0e5eadcb4f8a8683bae15e22ae100 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Fri, 19 Jul 2013 10:11:08 -0400 Subject: [PATCH 13/19] Reverted patch --- SOPE/GDLContentStore/EOQualifier+GCS.m | 24 ++++++++++++++---------- SOPE/GDLContentStore/GCSFolder.m | 12 ++++++++---- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/SOPE/GDLContentStore/EOQualifier+GCS.m b/SOPE/GDLContentStore/EOQualifier+GCS.m index 15d54a9d6..255525ed7 100644 --- a/SOPE/GDLContentStore/EOQualifier+GCS.m +++ b/SOPE/GDLContentStore/EOQualifier+GCS.m @@ -27,6 +27,10 @@ #import "EOQualifier+GCS.h" +#if __GNU_LIBOBJC__ >= 20100911 +# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__) +#endif + @implementation EOQualifier(GCS) - (void)_appendAndQualifier:(EOAndQualifier *)_q @@ -88,21 +92,21 @@ val = [_q value]; if (val && [val isNotNull]) { - if (sel_isEqual(op, EOQualifierOperatorEqual)) + if (sel_eq(op, EOQualifierOperatorEqual)) qOperator = @"="; - else if (sel_isEqual(op, EOQualifierOperatorNotEqual)) + else if (sel_eq(op, EOQualifierOperatorNotEqual)) qOperator = @"!="; - else if (sel_isEqual(op, EOQualifierOperatorLessThan)) + else if (sel_eq(op, EOQualifierOperatorLessThan)) qOperator = @"<"; - else if (sel_isEqual(op, EOQualifierOperatorGreaterThan)) + else if (sel_eq(op, EOQualifierOperatorGreaterThan)) qOperator = @">"; - else if (sel_isEqual(op, EOQualifierOperatorLessThanOrEqualTo)) + else if (sel_eq(op, EOQualifierOperatorLessThanOrEqualTo)) qOperator = @"<="; - else if (sel_isEqual(op, EOQualifierOperatorGreaterThanOrEqualTo)) + else if (sel_eq(op, EOQualifierOperatorGreaterThanOrEqualTo)) qOperator = @">="; - else if (sel_isEqual(op, EOQualifierOperatorLike)) + else if (sel_eq(op, EOQualifierOperatorLike)) qOperator = @"LIKE"; - else if (sel_isEqual(op, EOQualifierOperatorCaseInsensitiveLike)) { + else if (sel_eq(op, EOQualifierOperatorCaseInsensitiveLike)) { isCI = YES; qOperator = @"LIKE"; } @@ -124,11 +128,11 @@ } } else { - if (sel_isEqual(op, EOQualifierOperatorEqual)) { + if (sel_eq(op, EOQualifierOperatorEqual)) { qOperator = @"IS"; qValue = @"NULL"; } - else if (sel_isEqual(op, EOQualifierOperatorNotEqual)) { + else if (sel_eq(op, EOQualifierOperatorNotEqual)) { qOperator = @"IS NOT"; qValue = @"NULL"; } diff --git a/SOPE/GDLContentStore/GCSFolder.m b/SOPE/GDLContentStore/GCSFolder.m index 8002b67cb..af49f91ce 100644 --- a/SOPE/GDLContentStore/GCSFolder.m +++ b/SOPE/GDLContentStore/GCSFolder.m @@ -44,6 +44,10 @@ #import "EOQualifier+GCS.h" #import "GCSStringFormatter.h" +#if __GNU_LIBOBJC__ >= 20100911 +# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__) +#endif + typedef enum { noTableRequired = 0, quickTableRequired = 1, @@ -391,20 +395,20 @@ static GCSStringFormatter *stringFormatter = nil; if (i > 0) [sql appendString:@", "]; - if (sel_isEqual(sel, EOCompareAscending)) { + if (sel_eq(sel, EOCompareAscending)) { [sql appendString:column]; [sql appendString:@" ASC"]; } - else if (sel_isEqual(sel, EOCompareDescending)) { + else if (sel_eq(sel, EOCompareDescending)) { [sql appendString:column]; [sql appendString:@" DESC"]; } - else if (sel_isEqual(sel, EOCompareCaseInsensitiveAscending)) { + else if (sel_eq(sel, EOCompareCaseInsensitiveAscending)) { [sql appendString:@"UPPER("]; [sql appendString:column]; [sql appendString:@") ASC"]; } - else if (sel_isEqual(sel, EOCompareCaseInsensitiveDescending)) { + else if (sel_eq(sel, EOCompareCaseInsensitiveDescending)) { [sql appendString:@"UPPER("]; [sql appendString:column]; [sql appendString:@") DESC"]; From 0069a4200b1d087c9d931289cd57746aaa4e23bd Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 10:43:21 -0400 Subject: [PATCH 14/19] Handle possible jQuery error with DnD of contacts --- UI/WebServerResources/ContactsUI.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/UI/WebServerResources/ContactsUI.js b/UI/WebServerResources/ContactsUI.js index b83f8a00d..b2ef19b4c 100644 --- a/UI/WebServerResources/ContactsUI.js +++ b/UI/WebServerResources/ContactsUI.js @@ -1502,18 +1502,18 @@ function unsetCategoryOnNode(contactNode, category) { function configureDraggables() { if ($("contactFolders")) { var rows = jQuery("tr.vcard"); - rows.draggable("destroy"); + try { rows.draggable("destroy"); } catch (e) {} rows.draggable({ - helper: function (event) { return '
'; }, - start: startDragging, - drag: whileDragging, - stop: stopDragging, - appendTo: 'body', - cursorAt: { right: 25 }, - scroll: false, - distance: 4, - zIndex: 20 - }); + helper: function (event) { return '
'; }, + start: startDragging, + drag: whileDragging, + stop: stopDragging, + appendTo: 'body', + cursorAt: { right: 25 }, + scroll: false, + distance: 4, + zIndex: 20 + }); } } From 6cef5245e10515b1199102cf2c19d48364862027 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 11:27:17 -0400 Subject: [PATCH 15/19] Bump version to 2.0.7 --- NEWS | 4 ++-- Version | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 428ae0ae2..4870d0f4c 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -2.0.7 (2013-MM-DD) +2.0.7 (2013-07-19) ------------------ New features @@ -7,7 +7,7 @@ New features Enhancements - bubble box of events no longer overlaps the current event - - now pass the x-originating-ip using the IMAP ID extension + - now pass the x-originating-ip using the IMAP ID extension (#2366) Bug fixes - properly handle RFC2231 everywhere diff --git a/Version b/Version index 67a949875..56f4d1e6b 100644 --- a/Version +++ b/Version @@ -4,4 +4,4 @@ MAJOR_VERSION=2 MINOR_VERSION=0 -SUBMINOR_VERSION=6b +SUBMINOR_VERSION=7 From 1c82af8842ac78b70d8e40a4d78e866522adf139 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 11:29:10 -0400 Subject: [PATCH 16/19] Updated pt_BR, cs, nl, de, pl and ru translations --- .tx/config | 2 +- NEWS | 1 + .../German.lproj/Localizable.strings | 6 +++--- UI/MainUI/Czech.lproj/Localizable.strings | 2 +- UI/MainUI/German.lproj/Localizable.strings | 8 ++++---- .../German.lproj/Localizable.strings | 16 ++++++++-------- .../Russian.lproj/Localizable.strings | 7 +++++++ .../Localizable.strings | 5 +++++ UI/Scheduler/Czech.lproj/Localizable.strings | 5 +++++ UI/Scheduler/Dutch.lproj/Localizable.strings | 5 +++++ UI/Scheduler/German.lproj/Localizable.strings | 5 +++++ UI/Scheduler/Polish.lproj/Localizable.strings | 5 +++++ UI/Scheduler/Russian.lproj/Localizable.strings | 5 +++++ 13 files changed, 55 insertions(+), 17 deletions(-) diff --git a/.tx/config b/.tx/config index a782bec99..d71bb5355 100644 --- a/.tx/config +++ b/.tx/config @@ -1,5 +1,5 @@ [main] -host = https://www.transifex.net +host = https://www.transifex.com [sogo.ui-mailerui] source_file = UI/MailerUI/English.lproj/Localizable.strings diff --git a/NEWS b/NEWS index 4870d0f4c..3866b8770 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ New features Enhancements - bubble box of events no longer overlaps the current event - now pass the x-originating-ip using the IMAP ID extension (#2366) + - updated BrazilianPortuguese, Czech, Dutch, German, Polish and Russian translations Bug fixes - properly handle RFC2231 everywhere diff --git a/SoObjects/Appointments/German.lproj/Localizable.strings b/SoObjects/Appointments/German.lproj/Localizable.strings index 2acd882bb..4cd49d8c5 100644 --- a/SoObjects/Appointments/German.lproj/Localizable.strings +++ b/SoObjects/Appointments/German.lproj/Localizable.strings @@ -27,13 +27,13 @@ vtodo_class2 = "(Vertrauliche Aufgabe)"; /* Invitation */ "Event Invitation: \"%{Summary}\"" = "Termineinladung: \"%{Summary}\""; "(sent by %{SentBy}) " = "(gesendet von %{SentBy}) "; -"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" = "%{Organizer} %{SentByText} Hat Sie eingeladen zu %{Summary}.\n\nBeginn: %{StartDate}\nEnde: %{EndDate}\nBeschreibung: %{Description}"; +"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" = "%{Organizer} %{SentByText} Hat Sie eingeladen zu \"%{Summary}\".\n\nBeginn: %{StartDate}\nEnde: %{EndDate}\nBeschreibung: %{Description}"; "%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} hat Sie eingeladen zu \"%{Summary}\".\n\nBeginn: %{StartDate} um %{StartTime}\nEnde: %{EndDate} um %{EndTime}\nBeschreibung: %{Description}"; /* Deletion */ "Event Cancelled: \"%{Summary}\"" = "Termin abgesagt: \"%{Summary}\""; "%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" -= "%{Organizer} %{SentByText} hat den folgenden Termin abgesagt: %{Summary}.\n\nBeginn: %{StartDate}\nEnde: %{EndDate}\nBeschreibung: %{Description}"; += "%{Organizer} %{SentByText} hat den folgenden Termin abgesagt: \"%{Summary}\".\n\nBeginn: %{StartDate}\nEnde: %{EndDate}\nBeschreibung: %{Description}"; "%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} hat diesen Termin abgesagt: \"%{Summary}\".\n\nBeginn: %{StartDate} um %{StartTime}\nEnde: %{EndDate} um %{EndTime}\nBeschreibung: %{Description}"; @@ -45,7 +45,7 @@ vtodo_class2 = "(Vertrauliche Aufgabe)"; "The following parameters have changed in the \"%{Summary}\" meeting:" = "Folgendes wurde am Termin \"%{Summary}\" geändert:"; "Please accept or decline those changes." -= "Bitte akzeptieren Sie diese Änderung oder lehnen Sie ab."; += "Bitte akzeptieren Sie diese Änderung oder lehnen Sie diese ab."; /* Reply */ "Accepted invitation: \"%{Summary}\"" = "Einladung zugestimmt: \"%{Summary}\""; diff --git a/UI/MainUI/Czech.lproj/Localizable.strings b/UI/MainUI/Czech.lproj/Localizable.strings index b97493efe..9342a11b0 100644 --- a/UI/MainUI/Czech.lproj/Localizable.strings +++ b/UI/MainUI/Czech.lproj/Localizable.strings @@ -44,7 +44,7 @@ "Welsh" = "Cymraeg"; "About" = "O aplikaci"; -"AboutBox" = "SOGo je plně vybavený groupwarový server vyvíjený Inverse, který je zaměřený na jednoduchost a škálovatelnost.

⏎ SOGo poskytuje bohaté webové prostředí založené na technologii AJAX a podporuje i mnoho kalendářových klientů pracujících se standardními protokoly CalDAV a CardDAV.

⏎ SOGo je distribuováno pod licencí
GNU GPL verze 2 nebo novější a některé části jsou distribuovány pod licencí GNU LGPL verze 2. Toto je svobodný software: můžete ho svobodně měnit a šířit dále. Neexistuje ŽÁDNÁ ZÁRUKA v rozsahu upraveném zákonem.

⏎ \nRůzné možnosti podpory naleznete na této stránce."; +"AboutBox" = "SOGo je plně vybavený groupwarový server vyvíjený Inverse, který je zaměřený na jednoduchost a škálovatelnost.

\nSOGo poskytuje bohaté webové prostředí založené na technologii AJAX a podporuje i mnoho kalendářových klientů pracujících se standardními protokoly CalDAV a CardDAV.

\nSOGo je distribuováno pod licencí GNU GPL verze 2 nebo novější a některé části jsou distribuovány pod licencí GNU LGPL verze 2. Toto je svobodný software: můžete ho svobodně měnit a šířit dále. Neexistuje ŽÁDNÁ ZÁRUKA v rozsahu upraveném zákonem.

\nRůzné možnosti podpory naleznete na této stránce."; "Your account was locked due to too many failed attempts." = "Váš účet byl zablokován z důvodu mnoha neúspěšných pokusů o přihlášení."; "Your account was locked due to an expired password." = "Váš účet byl zablokován z důvodu expirovaného hesla."; diff --git a/UI/MainUI/German.lproj/Localizable.strings b/UI/MainUI/German.lproj/Localizable.strings index 43d7cd413..69b74ca8d 100644 --- a/UI/MainUI/German.lproj/Localizable.strings +++ b/UI/MainUI/German.lproj/Localizable.strings @@ -10,15 +10,15 @@ "Connect" = "Anmelden"; "Wrong username or password." = "Falscher Benutzername oder falsches Passwort"; -"cookiesNotEnabled" = "Verbindung zu SOGo ist nicht möglich, da Cookies in Ihrem Browser deaktiviert sind. Bitte aktivieren Sie Cookies in Ihrem Browser."; +"cookiesNotEnabled" = "Anmeldung an SOGo ist nicht möglich, da Cookies in Ihrem Browser deaktiviert sind. Bitte aktivieren Sie Cookies in Ihrem Browser und versuchen Sie es erneut."; -"browserNotCompatible" = "Wir haben festgestellt, dass Ihre Browserversion im Moment nicht von SOGo unterstützt wird. Klicken Sie unten auf den Link, um die aktuelle Version Ihres Browsers zu installieren."; +"browserNotCompatible" = "Wir haben festgestellt, dass Ihre Browserversion im Moment nicht von SOGo unterstützt wird. Wir empfehlen Firefox zu verwenden. Klicken Sie unten auf den Link, um die aktuelle Version dieses Browsers zu installieren."; "alternativeBrowsers" = "Sie können auch die folgenden Browser benutzen"; "alternativeBrowserSafari" = "Sie können auch Safari benutzen."; "Download" = "Herunterladen"; "Language:" = "Sprache:"; -"choose" = "Auswählen"; +"choose" = "Auswählen ..."; "Arabic" = "العربية"; "Catalan" = "Català"; "Czech" = "Česky"; @@ -46,7 +46,7 @@ "About" = "Über"; "AboutBox" = "Entwickelt von Inverse. SOGo ist ein vollständiger Groupware-Server mit Fokus auf Skalierbarkeit und Unkompliziertheit.

\nSOGo bietet ein umfangreiches, auf AJAX basierendes Web-Interface. Durch die Verwendung von Protokollstandards wie etwa CalDAV und CardDAV werden verschiedene native Clients unterstützt.

\nSOGo wird unter der GNU GPLv2 oder höher, Teile unter der GNU LGPLv2 angeboten. Dies ist freie Software: Sie haben die Freiheit sie zu verändern und erneut zu verbreiten. Es besteht KEINE GEWÄHRLEISTUNG, soweit dies gesetzlich zulässig ist.

\nAuf dieser Seite (in englischer Sprache) können Sie sich über weitere Support-Möglichkeiten informieren."; -"Your account was locked due to too many failed attempts." = "Ihr Konto wurde wegen zu vieler fehlgeschlagener Versuche gesperrt."; +"Your account was locked due to too many failed attempts." = "Ihr Konto wurde wegen zu vieler fehlgeschlagener Anmeldeversuche gesperrt."; "Your account was locked due to an expired password." = "Ihr Konto wurde wegen eines abgelaufenen Passwortes gesperrt."; "Login failed due to unhandled error case: " = "Die Anmeldung ist aufgrund eines unbehandelten Fehlers fehlgeschlagen: "; "Change your Password" = "Bitte Passwort ändern"; diff --git a/UI/PreferencesUI/German.lproj/Localizable.strings b/UI/PreferencesUI/German.lproj/Localizable.strings index 4e6bd1618..ce5de69ce 100644 --- a/UI/PreferencesUI/German.lproj/Localizable.strings +++ b/UI/PreferencesUI/German.lproj/Localizable.strings @@ -18,7 +18,7 @@ "Delete" = "Löschen"; /* contacts categories */ -"contacts_category_labels" = "Geschäftspartner, Familie, Freund, Kollegin, Konkurrenten, Kunden, Lieferant, Presse, VIP"; +"contacts_category_labels" = "Familie, Freund, Geschäftspartner, Kollegin, Konkurrenten, Kunden, Lieferant, Presse, VIP"; /* vacation (auto-reply) */ "Enable vacation auto reply" = "Automatische Abwesenheitsnachricht aktivieren"; @@ -36,7 +36,7 @@ /* forward messages */ "Forward incoming messages" = "Ankommende Nachrichten weiterleiten"; -"Keep a copy" = "Kopie behalten"; +"Keep a copy" = "Eine Kopie behalten"; "Please specify an address to which you want to forward your messages." = "Bitte Adresse angeben, an die Ihre Nachrichten weitergeleitet werden sollen."; @@ -96,12 +96,12 @@ "Day start time must be prior to day end time." = "Der Tagesanfang muss vor dem Tagesende liegen."; "Show time as busy outside working hours" = "Zeiten außerhalb der Arbeitszeit als belegt anzeigen"; "First week of year :" = "Erste Woche des Jahres:"; -"Enable reminders for Calendar items" = "Terminerinnerung aktivieren"; +"Enable reminders for Calendar items" = "Termin- und Aufgabenerinnerungen aktivieren"; "Play a sound when a reminder comes due" = "Akustisches Signal zur Terminerinnerung"; "Default reminder :" = "Standard Terminerinnerung:"; -"firstWeekOfYear_January1" = "Beginnt am 1.Januar"; +"firstWeekOfYear_January1" = "Beginnt am 1. Januar"; "firstWeekOfYear_First4DayWeek" = "Erste 4 Tage Woche"; "firstWeekOfYear_FirstFullWeek" = "Erste ganze Woche"; @@ -168,7 +168,7 @@ "Email:" = "E-Mail-Adresse:"; "Reply To Email:" = "\"Antworten An\" E-Mail-Adresse (Reply-To):"; "Signature:" = "Signatur:"; -"(Click to create)" = "(Klick zum Erstellen)"; +"(Click to create)" = "(Zum Erstellen klicken)"; "Signature" = "Signatur"; "Please enter your signature below:" = "Bitte fügen Sie die Signatur hier ein:"; @@ -193,17 +193,17 @@ /* Event+task categories */ "category_none" = "Keine"; -"calendar_category_labels" = "Jubiläum,Geburtstag,Geschäft,Anrufe,Klienten,Konkurrenz,Kunde,Favoriten,Fortsetzung,Geschenke,Ferien,Ideen,Besprechung,Fragen,Verschiedenes,Persönlich,Projekte,Feiertag,Status,Lieferanten,Reise,Urlaub"; +"calendar_category_labels" = "Anrufe,Besprechung,Favoriten,Feiertag,Ferien,Fortsetzung,Fragen,Geburtstag,Geschäft,Geschenke,Ideen,Jubiläum,Klienten,Konkurrenz,Kunde,Lieferanten,Persönlich,Projekte,Reise,Status,Urlaub,Verschiedenes"; /* Default module */ "Calendar" = "Kalender"; "Contacts" = "Adressbuch"; -"Mail" = "Mail"; +"Mail" = "E-Mail"; "Last" = "Zuletzt benutztes"; "Default module :" = "Vorgegebenes Modul:"; "Language :" = "Sprache :"; -"choose" = "Auswählen"; +"choose" = "Auswählen ..."; "Arabic" = "العربية"; "Catalan" = "Català"; "Czech" = "Česky"; diff --git a/UI/PreferencesUI/Russian.lproj/Localizable.strings b/UI/PreferencesUI/Russian.lproj/Localizable.strings index e3700265a..2b64bb9e9 100644 --- a/UI/PreferencesUI/Russian.lproj/Localizable.strings +++ b/UI/PreferencesUI/Russian.lproj/Localizable.strings @@ -141,6 +141,7 @@ "messageforward_inline" = "В теле письма"; "messageforward_attached" = "Приложенным файлом"; +"When replying to a message:" = "При ответе на сообщение:"; "replyplacement_above" = "Начинать мой ответ над цитируемым текстом"; "replyplacement_below" = "Начинать мой ответ под цитируемым текстом"; "And place my signature" = "И поместить мою подпись"; @@ -149,12 +150,17 @@ "Compose messages in" = "Compose messages in"; "composemessagestype_html" = "HTML"; "composemessagestype_text" = "Plain text"; +"Display remote inline images" = "Показать встроенные изображения из сети"; +"displayremoteinlineimages_never" = "Никогда"; +"displayremoteinlineimages_always" = "Всегда"; /* IMAP Accounts */ "New Mail Account" = "New Mail Account"; "Server Name:" = "Server Name:"; "Port:" = "Port:"; +"Encryption:" = "Шифрование:"; +"None" = "Нет"; "User Name:" = "User Name:"; "Password:" = "Пароль:"; @@ -247,6 +253,7 @@ "match any of the following rules:" = "отвечают любому из следующих правил:"; "match all messages" = "все сообщения"; "Perform these actions:" = "Произвести следующие действия:"; +"Untitled Filter" = "Фильтр без названия"; "Subject" = "Subject"; "From" = "From"; diff --git a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings index 4570f0b29..73e31e23a 100644 --- a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Lembrete:"; "General:" = "Geral:"; "Reply:" = "Responder:"; +"Created by:" = "Criado por:"; + "Target:" = "Marca:"; @@ -373,6 +375,9 @@ "Show Time as Free" = "Exibir Hora como Livre"; +/* email notifications */ +"Send Appointment Notifications" = "Enviar Notificações de Apontamento"; + /* validation errors */ validate_notitle = "Nenhum título informado, continue?"; diff --git a/UI/Scheduler/Czech.lproj/Localizable.strings b/UI/Scheduler/Czech.lproj/Localizable.strings index 4a0d83b91..b64e18b5d 100644 --- a/UI/Scheduler/Czech.lproj/Localizable.strings +++ b/UI/Scheduler/Czech.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Připomenutí:"; "General:" = "Obecný:"; "Reply:" = "Odpověď:"; +"Created by:" = "Vytvořeno:"; + "Target:" = "Vložte adresu webové stránky nebo dokumentu."; @@ -373,6 +375,9 @@ "Show Time as Free" = "Čas zobrazit jako volný"; +/* email notifications */ +"Send Appointment Notifications" = "Poslat připomenutí"; + /* validation errors */ validate_notitle = "Název nebyl nastaven, pokračovat?"; diff --git a/UI/Scheduler/Dutch.lproj/Localizable.strings b/UI/Scheduler/Dutch.lproj/Localizable.strings index bfdaff361..6c0695653 100644 --- a/UI/Scheduler/Dutch.lproj/Localizable.strings +++ b/UI/Scheduler/Dutch.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Alarm:"; "General:" = "Algemeen:"; "Reply:" = "Antwoord:"; +"Created by:" = "Aangemaakt door:"; + "Target:" = "Bestemming:"; @@ -373,6 +375,9 @@ "Show Time as Free" = "Toon tijd als vrij"; +/* email notifications */ +"Send Appointment Notifications" = "Stuur afspraakmeldingen"; + /* validation errors */ validate_notitle = "U heeft geen titel opgegeven. Wilt u doorgaan?"; diff --git a/UI/Scheduler/German.lproj/Localizable.strings b/UI/Scheduler/German.lproj/Localizable.strings index 4db805264..06f2c7bea 100644 --- a/UI/Scheduler/German.lproj/Localizable.strings +++ b/UI/Scheduler/German.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Erinnerung:"; "General:" = "Generell:"; "Reply:" = "Antwort:"; +"Created by:" = "Erstellt von:"; + "Target:" = "Ziel:"; @@ -373,6 +375,9 @@ "Show Time as Free" = "Zeige Zeit als Verfügbar"; +/* email notifications */ +"Send Appointment Notifications" = "Verabredungsbenachrichtigungen senden"; + /* validation errors */ validate_notitle = "Sie haben keinen Titel eingegeben. Wollen Sie trotzdem fortfahren?"; diff --git a/UI/Scheduler/Polish.lproj/Localizable.strings b/UI/Scheduler/Polish.lproj/Localizable.strings index 3ebae4b95..27c84e918 100644 --- a/UI/Scheduler/Polish.lproj/Localizable.strings +++ b/UI/Scheduler/Polish.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Przypomnienie:"; "General:" = "Ogólne:"; "Reply:" = "Odpowiedź:"; +"Created by:" = "Stworzone przez:"; + "Target:" = "Cel:"; @@ -373,6 +375,9 @@ "Show Time as Free" = "Pokaż czas jako wolny"; +/* email notifications */ +"Send Appointment Notifications" = "Wyślij powiadomienia o spotkaniu"; + /* validation errors */ validate_notitle = "Nie podano tytułu, kontynuować?"; diff --git a/UI/Scheduler/Russian.lproj/Localizable.strings b/UI/Scheduler/Russian.lproj/Localizable.strings index a3375a778..8dec3259c 100644 --- a/UI/Scheduler/Russian.lproj/Localizable.strings +++ b/UI/Scheduler/Russian.lproj/Localizable.strings @@ -179,6 +179,8 @@ "Reminder:" = "Напоминание:"; "General:" = "Общее:"; "Reply:" = "Ответ:"; +"Created by:" = "Создано:"; + "Target:" = "Цель:"; @@ -373,6 +375,9 @@ "Show Time as Free" = "Отображать время как свободное"; +/* email notifications */ +"Send Appointment Notifications" = "Отправлять напоминания о встречах"; + /* validation errors */ validate_notitle = "Нет названия. Продолжить?"; From 12b7fea82543c105a39854eb4bc3f9e68cc080e7 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 13:37:13 -0400 Subject: [PATCH 17/19] Documentation - bump version to 2.0.7 --- Documentation/SOGo Installation Guide.odt | Bin 162084 -> 157352 bytes .../SOGo Mobile Devices Configuration.odt | Bin 20481 -> 20446 bytes ...SOGo Mozilla Thunderbird Configuration.odt | Bin 20950 -> 20965 bytes ...Native Microsoft Outlook Configuration.odt | Bin 30898 -> 30902 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 69c779982db027bafb0fe5f9eee76bb3a657583e..6419ee0089d3c58588c60030caa53e51caa8f625 100644 GIT binary patch literal 157352 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�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

!Hm```Uc3UO3cFI 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 Ls1XIctIdA_zi-?X literal 162084 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

0s_m#5P( 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 Gg#I7@2bxa+ diff --git a/Documentation/SOGo Mobile Devices Configuration.odt b/Documentation/SOGo Mobile Devices Configuration.odt index 652d8dc6ca73d664b00741d9b1ebe3a5fa29d157..72f703344b9014cf1708861c3ab444cc6ec0f254 100644 GIT binary patch delta 11136 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 ACIA2c delta 11122 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 delta 18232 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 Yvje4>mU&OU=q*0^e4qfEm@h~j0B5m<_y7O^ diff --git a/Documentation/SOGo Native Microsoft Outlook Configuration.odt b/Documentation/SOGo Native Microsoft Outlook Configuration.odt index 78b6c68753798b063d00e7d17de9a00ea1eeb9a1..9bb9d126ac69b463437eeb10e757b8b9e431349a 100644 GIT binary patch delta 28143 zcmZ6yQ;aTL)3w{SR(rK=+qP}nw(hoVcdxc>+qP}n_@D31KHAAlDjC-0-ML#CMOM(7h(831D$7L}f4c~sFhQGkH1eo-LyeO$wFD{xzJejut+JP%9iaS+4>|z1m&TG4ZFUUU zT6&N_!Hcn^6dGiB6F#HXB}^oN&a9xOdK+o(wj+~r0E3T4z$M}nq~<2;VqY556H}71 z6(i;g%e?}LCT987JC}l;?_&2i6*fU(8tiJt3XQ92j0V)-^-Zr{$1*;+z$gcRO-C=h zzjn;s@c>gi)Z@SRmy(a<>HBr(9(Dtq75!|RKj63W!4f$Ls*u`fMEe~FM5o+=8Ctx< zr9x3C9CRQkJL)s5+ab(sIA%{mw`P#M!Mp`s`k-S#uxfl)x3*vl*j}7?e$v?Ijyu2o z0_trp&b5GE+Bl`PhAo7g0pQb7ww%C8=+ zV_z29ZNS~#Xrvrkkqb3$94inVsg9Q~_)$q5F7r&5yX%qu4XFgFe%^N(pR%bFgs+DE zzH2!p^Wpz07sYPBV~&1-6r`~sp_;t{h`)e=fP%q*{uBPsB~VaM|L2mVXb>vEg!%-j zj1Z)RrKO~SKb!L>*%i1Cu{CcZ&fcy&sc>eXWVtP`=|P;XWwZJ0Ix9Oq8)2^pL^%j* zYw<;=)Hz6Sm>)rEYq5Rfk7?u6zwcRiI`jZYTKsMfuz&Pu7P4_=uwJ@lYEGXmsM7O7 zB_PYlG+@gMda%SupQ~E6d3Krr^YIjT#Gyr7%VO6hs7Vf6~_*pJv?vCtqbgHs_vm zLK>IMYbn0QxPV%9OSjt0RrO_`7JlJ6onpEUH`Q{p=uwxDOX#;`lR0h1dN9{LgV?cv z2qo=F%!YT&@S36KK<}sh{XvMYLycndbl_%9z;~q!9N>uq7!S0&!<@*hOWNyryg${8C!FYR zG@#Vj(@UO{XDu6$S^utL%p!({8IFd}<;}vpcE)IqR~7&1pm7?xHpLE3eA78quSY`) zd>3oUMy~S00GGi*m@{!Y1kSpA!Z#sYKnsVY8~LV;AL5q4y8>z}B-#`;ZgbWrnwHv| zj0p>vBEeRSb0c5hKo+>4`M}92DLlUOCrp~$laNB)H^l-l&3Mx&8OP(9qNG%c4gNXv za(O^*4{~}-P&koqjkIf%q95EXiV#4aA*ukBaMSDXY%usD_}~YZE7(mW3UWvo|0*_6 zI4NgCTu@8QD*~e&Y9N``wN`j4*14Ph8e^VcXQ||#N(^l&w1|G>(q+G`<9}QH@DE$f z*2RuNgO>x^^ex$tk5Y8F99WqXvi3fx`wXqMH9%zg;EwjGJN;Sx{So z%XXO|iET-0OMJe!5pEzyBL=+N=kuPf%a5~!(Q^RY$!-L&T+$7>1xYdjvoTR?DCX%S ziV{XkhD_~+$-~QutE~z(tCyJNQpydzrDFL^{TuV@kHVG3p_WqZ7)|rxM3VhG$XQ{JUB-gk++3Rlp&Q;}Y)_mvWECH?@ z>zG|&kwqLdVjJjwk9{#bf9D}I=(ar0>D6&%Y(lJDiFWU7;`A=%$igJTiO5j;Neh7Z zi_W~s4kjZ)J+hbr$wQS*~rK^hY3S>O8Z z5F7|7mF)lb1PCRSL*W9}oem`u_dfl=)l9cjIj6I@D3&FdsfwATxuuG=R9*~~jhT?3 z63@VZQ9+QBnp>>DAs_2LIc(W#Ke4|lpGhxo{s4nX#KYYwsLGn+s}lK#-#NVA-BI)W z+~@Jh`&?!WZ@~sV2Dufw8r1he>(XQ9;QRRaXy4*~Ee-=dM;!nhPdIKTp>kY?f=ccK z1OWi;Ij%kPgX?!eEJ*Wz)4YD@YbYbL$fq>X8u?l|=lXf`8VAtwW<8G19~$;Kb+Zwc z#$PRSD|qQ~GWeI(+iSU*Y$Nu-Jb$k(5Ls>xwjkn-=Gl(OS$T_T8 zi|0*@*K7kGOE%hhxw&lTwh(nmz8J;z^7`#^N$+rwhtqC_+bX+q8b(1 zFqps^NgObgpbeHINhUC)01*wY#X_^G0tPvzA-HL9GKI>del|I>pNHdE`{mNYHCJhV zaEA_AjgPv!i&?xZKUanLqsqSrF0q6XG&R;j_~%Z}ra^9%5xXXnm>MJ)5BC(CVWEat zeIy3AiBKka#OU5{6EEfKn*YKApPtieQ{CD8G}(bHeFp+I`j!n{042?IFpnM&>s8!G zM{~F{uNyP+nXVV);X?*wG3X+Is5qC z#|hn;#nIkl@AL7Wk-Kf>$wCl1ph9UrFAqJMhons}Z}V&%IvC-nJ`wIzSp(2Y>PL+( zV`Zg3-l}m!zO1jY0rz`-R4x&_E8;XjT>c!H!E{kU1LO&590c`YJLV@fpl80AYjSIJ zz+zqNziVc~n|7FxO^tc@Javi}oA-QzSu~)w4enJw;mGzzX^J9Ul$USovAl^=V!m0f z-3W(hVLh$B@pgi1lz(-*wIfzAQ`ITeDuon6HIPWf5(%=iwWvuxrzZ$f!YS$v!`kV*44EkQs@bCpZ| zn64v#G?TTj0X8(yCMKgV6fK4IUciWRi$eSt1G{{*#Bmsg-x_HvbrF%~HZ$n*i`pswj0B*t#t;>@$n^v~|(?c(l)Vk((9+sr` zv7Q{czn>6>JQp1e2vW~+nvF>1_hqhoRDa-53N-;*#t59!m zzU>#klFpOL8@+^v1S)?7xA?vAq)|lm&Qvzl=*ty7Js{0r?U<&uJFRCn zKSe)%u(J-^4&fFi?MHgX!mzZOsW8p`gNN>FA#1P`8vKQ!FeJv~IJzkSfKYOLI1t;; zeFmRyyIi!AU~9P0NpdkDX5$Y?)dhRU!*H9uhS>Q>d*62UQ9DAN5(FO?Wp_I*rn8^N zfJXHBV8BD?)vxaoyR38gIVjYeu>*B-B{88n#ryh|zib8I9v$32m!2)z zaMJ;KF8AHyE;mwC-87LF!+GKwbxZkEY1?2*%r&D}%&E5dkopjKA3o?|7;Dmc+M*FL z{wwFx&)jB`B&zrv-HWqXD^57tKLB0gj5F06lc9fLgBe!;DjXgb+;no*K>wcK6&8Up zYFK4^7JDmt3d!i4s7?zoS89a$_3$;=r>tb=&+!1pGXV|$5#t*K?WvzexmKLgxn89( zqnYzV{8F*!Zy-m(W=E>e{P2_501HYnW!zm#f2$=lsf3B61;*0 zb>p=6&N(AK>C7R#iq95PyBj!%empV>VHgMLm+7QT_@=)Hrk?=rkO;=YDFEt9Z6;|` z&qw_LM(kzMCJA!jXX2k=KBZ_U7+oDc?Dct_aAE9Zg#uX@;4x1e1<^pB9@RcjaEM1l zpO-10;q{}$)*)#hIe`WFoafs!=JOi#Qr1Rdf;rKg(z?PxuBAEr14)%Evud(3_}YKo zcuZ&;<)Gb{{!V}}Nrby=;I5KB&RliMOSc=8b#`8y&>nob3~hWM3?Etp6NSx)z zxdp>QXC?HBnpUjQ?Lwn7?V%ylsBEWV<LHZ%3AuhWnd8!)P<^L|YK85ITwgbGbE0zlWk01VzTjJoU>1bDs zM(!+ytTxO7zQxB3U^PtUlOKHZUROt9n zdE4>ge7w~V7lRSNC1Mrfh~>LJ{3eppt*VL9TQ05?(U!JqFy5Rm<#xiYIm7EF>(Oaz zaH~uJb2|4OuqOE`WrlEwB5KJ$z@!BW%J34fR0>_Nn61QcGYfhQQWb2Uj5 zPP*iD;Bns24uNbsIBlk(O~2bAytx`v=+A4|>A4ZpI1F;{SR6 z)u_zsyLiL5G=#3j?$1LD?E_Z{V4+T}7-xSCvwqE$JKtHP-SoE68_i01$T73aI%oB| z9(=bg**<&biu#oCKISU~8_+LE+qK{#rvMg}Om3g0RBgjUXq28sk05$TIc3F3CasvI zNpkODS2$Q$Gc35zu1E~&h4KZsRtRg!V-kRpbwY*eEr_a>kFA*)YPvMz1x-WvQj zeAY4HdFF{3zn0fx6)>e_=(_Z6PQuZr6V;u;O~9njMkyjmO^<~0tcp=CbMZAGi*W~o z8cvO-wb1fwfs87V!?oU1WQ28vCupJc(37+1qf{cC^pSK#95gXy#T@|d;!t#=7?keC zWtLxX3d-nB3yRKfm!h(o{u1KT^R*bPru&$8UW&@-7ITV=pU(v) zQ{}aVCr_(UnMxR5g7|jd2MLWw%!Y-i5P$5>k6%zF^i08>*I+YWwS< zjuGcG#Vbd%Z7;!(buYdGNnZS0t0H!rz4ZXsEep+BzpqQcQ?LBr&w%f@)!y!s06v5T z0?BH((s`~T#G3##q-<|)%n$>1^% z8I+*p3=ble20X+Pt%JQ#s&Pk}QFky^}+RXI*O>P>L2-_(SZ3mddqT>6a zOG%cN_R-@SXXd!1_F+5B;t6kG_3j9Tt!6Xf$eIy}`fPbdI%Y#sdM&pY}bV)=iL0K1!iI(Z#i+#k;^%tK=`}J`$L1P(mOEAmDkm^B1+cb7v-jN+l za+F>q9yZH(@PyM+ZKB0U)rT}F_HBsLpHJn>7$y4JwKP8X!40 zu|YtGWRVOABgm{_@fzPC0^`bU2jk%u7SQ9w9Df!NxCa@P;MdT~oL?v);IEX{ECE8P zjut~uMv9YGpp*(%PZ&0pd``Wo^QG?_Xt=?q7mhO1P+yd;l}8j_7?75l5n%|B>Wk!( z&QKFXCOJkYc598z@ANUg)!pq{G5-#s))|2Q_IsLFaF2I_-ze2d2kF9N8j2g2}ka^k zzIO!m1@=N5`zWnQxeXTyiHHfdR!#?oYZ!U6EjLp46rswwp9V&az-BU48-arm0pt~p z7%xU4v*NUAR<|QlfXQYCd@OMjDl**+dO{7huhOC`z!wGQ)BYaWGw8ugV5+39$S7!p zb^e?c^UeW(sqAfbues;n2i1iSW(PPDLgf&OJs*U;wZDwT{S((NvnE^Hb8maP$W9Y$ z&dRX)Ejj%`Y>`Z$UsZXTIgDI--x1#5N-4k$_06e*6=B2%^zTmur@mJ zbQ{ys)nH4z*}h`0<5D=mWU7OLdih!@UZU?E+SxN!D2CjDcaj;%W0=H{pRM0M0ozbk z=2NTGE^N#TcI%*>*1kkLt#eT|t&_Meb^Rh#p;S75PFq6ds#Zb;T-qmbCjL&jUk#y;p+(#eA| zF!!4GC*)MxIv&S?d_Psj>H@!_-WLi%d(}Xk2HCJcV-HZX@-<@C`o4ovktUgwn)i>9 z4j!<|be*tVp$ulMm^(M4NIq34OcTv4sV>xy2TOzHtLi@iKKwwRgi`o#tjJ6rAp?Uz zsq*iRMh6@vnxc;a#1{bgogLiWP#o($5$YFeP2v{U)FOO`m~jfR>Pw^qZMFvjRb5m% zT?Qt9DG*WMghCOtOoLXXg!f?)MDj2)95r{7*_Wnn;2gcAqjb)U&!9XXVk?550aI7h zHt<@L4RHXP)=fWOnhVOo#x;P=l%hbD`+%a%zavdZ3i9vst^sJs_c+x6iA%w2?sp;= z&;>*$bJj!yU$t^5=BVmXS{$KT2SYR+@a&@rPH&qBVh2C4#AT&JPYRnfVlzt?Yi@@` zs2uVVWjQUI4E`%Iu9S>G1n%{Nt8_FQwnT!8V#?w=iwx|9ZA|b6`g-ekKXX7Tl|n>U6;;q_W*?7$q&Fa?L=w z3xM}iVZiM)L>XO_FM5OUqL3^ppFW-M74XrK1RWaYLJK1@NR7*K9rfV0hwzPGd=4Su zgG7n+2t?wCwCGB19&^vz1>ZjWSZ9C;`}|?37xTXZKm)o3zVhWTS|r#-rVB!`D{Z^m zE6Au}r=Wro0>Fe5viO(L%98Wuy!LRIu|Olx$9*xwzOk;)r=!Y-1ao7Q z?!M4;69AI^k?(H~)_dObH3L-^%bs~%5aMNLI z%omCRuM@}`91basHWLNc@l-KQgO3VCzzbyu9>!54bU~1YGbz_F_-hXm*l$uo8zF6r zW!^VuTt{86o%+(y+y|d7zMX2(O>Gl*PIed#H}1DzmxVf=9Aa3 zCJcZht^?!H8$`g~BX5yAGD1WZC8`6Xm+C3vMiq!2`_}yED1uD}pT!HeY=CE9WgN2* zLjrP8h{;%TIAQG;ymnJW$EwNv!N_q~bc4dwdF^u+R{OGpi+ z{x&6`Rxkwg9={O4>7tjx=D0p5=c^H;90`y&P<97aVmwzb@tuL}M?}oT_;p?!@z{91 zxTzlXNn?_lq4jjb0r+;y*0S3_>E#$y&hVjoAEw>X<96g5Su-TG?`{d^^?vigC)MWc zWh-e~)i~FrqyPLj@!hd!N2e(}&`7%hYe9Hm33ar+4MIWS1gc|fY-T(z2>-G5_X2c3 zC*Pz@m)Ct{x!r7S0&fVY>0UgXY<)bs0xI#E!Bc^^G3sZf|J<4QK>EiC=YoA;Ue8Dt zg8$my<~t+a%YH1lZ98xt+A9#*$7wOe&(4eNv|%Tg{7yFATN8G;`}BD3dwc-ac{0*t z3B7oUi5LQQZh(Aue78_MAsqv(`Ah{m5H_`S83~^(Cf6_zUq3HmFdap*AIF4E zM{|w`3b#|PLZZ-TNC9r>bg=>#FRMi3@}}d>VcA`)Ai|)|AUO~ktY0>$tt_^&+4N#K z3HOVzO8Jr-&Vt?I5P-dr4v^U^N&PGYY;A%L9P0eiTTWl9M1F3zC;-{QUB|XkqR82B z_{RyGY1(s!2_5M;+d}eY%y|#O=jmuo-ryjcUGspYP+pJu-gD9LUWhbQia?_B(6Vfa zmnCtlKgj^`%kd|x=}n>iW){G_ZFRIJTu!85zmah7R(Vj~bpT{U3dpDh3&^-$BN!A3 z-t;(#b`OuS+5kHTQ22Pn{671+e)}K*7RMFxF0ve<)RQ?RmN$KZU#{R z3k!)q)zFn`iC11ag^DJn-fwWeQ-F7WBN&>Yj=A@N3Ux}}6P|Hx{*RHjkNWZtp>IkM zEXotbxbO$U^K?Q%3ZUh%j^baq8J=w+;l1+)c0*e%5YDUfAJPi+6fyOXG0Y?5^J)Pb zi%fq7WdTWp@e?_@c&_=Szs#p7S8?MUG{MSqgU~efhNmt3&F1NpQzxHKfiVNTBp8n6 zo$yENfg9%EoU^=;*dR6*30(cfCw1c5DpoYq5urIMlZSGPw5&um~bKs zXKTTg{{5YyN86>hnC5I<8;y*j157Q39dq?7U%_-+@}kv{#ZrILFP=t$EZrbuxn(v; zV#P8?xOM?bhcU)dY0>pl4$7fy&f_aFPO3uXst#Bd`G`3YnQDt8QKDNe=TCH}ZrZuS zajvoC>%Wm$Du5lzAgpT0;>t}v(FxNIMACbxE^|@N4DAkx*@w$Ic z!UiGB#Pk8G4@#AM=0?rcWABT$TN7dSs47G*5+xTCkL=uhwvCoZCd>0HDX0TmLIMH- zOtYh^b7V3SQcQp5V~gv$K`{Vv$*RR#!M9B%n)E&XSAKE2^lK>q+C+%L|GiEe_9+8pdbl3s>5IL?S?i%O<%BZV)LeO zZ0vuI;D)Jt#vLQ?agNieLQ~u!6(6sUZ+kz`Uj&e*gkB2C*Y+YN zl``Zp?ZIE*4>b!vS4_-0v8>NC3YOdR%E%QnRRFZo6+&tYE4D3934aHmL@RHOG&xu- z@}aj6?`t)={&mw5@Gsb3OFprF4-R0oO>?IgX(+a8Uc?N^ErYe^P7|11x_4rgvV0i% z&>(P)B{f%qNNCW;{TRp|bscsf5A%;|t_p|AUjcE@vAuX3BkrQ{{rsJwj>Xw-G}Y4m z8xF84qF9t7i&3dopP)yhiHkHNeXc_SP%so!Ar+m66~)?~FYJn%#!5lrORJ=3w*Mge z3q4TJ8!BKMN@78SgILhBMq8aE7u6O~ThQwbQ64Y4H#05OH9I^>eC`mm7`r@_QNVr# zH1L%2$P|>zr1zPOx?DlGH;^%xEd}fao&c1`K2*mW`c!rN#UB!8d<*bJHcf~7hB}zO zZyCWJq5Nw!5qKn4XsV3Q@qlUA(9jt{TlU!+3C{!S!!6wr>1HaVlVLG9RG38h8l**t zo<+VghzGO;;Bn7}71TV_2Y;L8#>u1-NYQu)sxoezZV31>k z8dSzC3wW`pWpfuksXpK^p1`=5AObiX3gw9(3Sjjy2f=ue+<=d>6Mx4_3dsN3^_u9h0nG36UB zktv&G>PO8#=;puMjLK>l$PS4oDQ{l?J^0b6p?SD%1XHE(bv3n8oANm}&ILG!ozY3~ z5<%JfBz1?8iW;3$Axs+Nx6wnXlUwK%yNt6_2|KfLQu>2 z(5638sgi!9)1}H&NT+zFZw9;yRV4H5KtlLK-4RvJK{~5yeDwC}mJJcP?HGY93H6f| zNX|!elc{{Hakml7RAnc%)~rs92XTk(ZToeuQZ=h$0dLM|pGDce>Y*D;q8}LbA)p)H z*RA=(&kx3&a(59Fqi{(r(>N5-(1?-0Qbo`ds?ul~GnPi+0+98`n*os(8_EHT0_kZh zpt`+x_!)X1`-Jc(v7?gk>Be5tIH3`de96FK%oce^+LMuSv9f$zOz&q5yF9DZv#?<+ z4MO1gD#m0}A~~cMeN)u-@9(KQAY~V>jAQR%pO>AL_Vl+qy7t?JG3EpeSiW>Gg+d^` zb2F{DLJ~(_I3F?y4FHFOah4?SoD%&bJ{b-qHmv9&MQe=Fre_&aM>jc;U`r`hN2S@M z(VyY|%7%2$ax9msIH^Cp$61ll54FPwNFx3MRtAGw40KmIj)?G-P zvz3L`DeDF#6|O5@`wf>YM~y>PcO_@aU-f?J(TeYDf$o(~TMPQJwr`!!!MQFaKir04YPOmNj!-rEF96}Yqy;Ri!D>B~dJ~Ou=5!_JoJuDS z68LJT4se$=?QwWODs6{Xp4wVfQLWQc-^Of)(y2fQ&8DC)igf*j9OmH98At@Yg~FHH zFVmPd@kM0)O^Ay!ShUD=7v`b`@e?n1Id@c8GcJys6t_W!-wanZu&A6ACv!EajDomS z9szl=Gz98u<$wQD4m`413V~^#hh@;^YZZ9E1F!^N)x>l5n(#5}WR}=KBha*VB6z>$ zbBVgko_QSC!;t!{l19>r5ou9=!h>)~L4R%Z& z?_9v}@o{kczPsDskB-bJ38F5#4f`i!oCFP~l|$e6$h+~*)D$8KbTIq2-=O~`2iU<^ zwE4#!$5`kwz%h#2PkGXNk=Y&W)iZL|F6!9!3K02gw zmYxoSi=zC`*oewSMkXXS;9$ct%fV{1PvxvhHoCDT!f}PI-(wT(&=w`SRhD6gt)D~G zx3wOmsw36&48aY9s2q7+-`vCoIqHvzrElR=-lOp zIE(1`^=AY0;}u&`d*Xuu$7r>}q*xRU#}H)nGee+sN0%$$XSsFNo^MC*cg8D9=6!n9 z5Bhr(q?h~?xV96d>ykew1yIN#Gt11YqyCkf(S|hV^?aWd=N^ZDiC?2fY~`(L*gN|; zrkjt>6sK<~Z@`vm;J`IZ)mYvt;lEzwlPsX{{?7qd-*nFg>yfbo&d(PJ3RZ#_ot6wY zfv6IRIv&2-1nZ<#fwo9CAE%X1{)>5bIAk`-uG7_NjqBn$wsU*&X8(RaAv2oq$M#d; zGXI9urU7J4&YU#^5Ad%QQQh~_cU%!QK_3w|4W^l}6{`csQG4Q8Hy)+-gHdS3soIO7N?WY$xtKyDTB>8zGcIn_%D3MI^;}hzN8KwSp zJLsS=Hx&5b_~{ zTC#tiEXTyRt^jD-UyczH3Zcr1%amifIaUZ4+E}?$EGD>ZcAT*OvAq7*wy?c&b9c0Y zM@Y1n^#(8<&2>eY8O=;LLMxb4A?aRKmxwg0EUy5Mf&p714vH6M&E9k!8_3F926lYW z98GOZaZ>L)M{TV#P$oGdcT_CELI{ z1tp+wnzVXqMraV=w3UJO{*4V#AI(N`5)0B7g=t4Y421y5UIto@)J)u+X5!ko$(g@e z0+bm=wYtZm5dkhh9(?z@{OopqrV-nQ!2T4M?I({-Ea~nlYz86mbCWc7sSL4c!#(7w z6bcd~3V?$CU?N_m0eZttMo&XS;#?})3sc?No!Sma3>8lMq(#d~v1qe#4mhq+*Wp5X zmNJs8t*(s&x54ZJh>KL+*tMq&#P6Q325LZ75TSz`^Qeh%B2iE#Moc)>K4N zk&#r1aa1yHpJ^T;VbXUKH8PJ4##MJxQ3cxrhuDUD55+JNY6bLo#Rh`2Rf-ZIV4_Kb zLsv#@QuRu-vEoutf^bO@ixSC-bQP)<4(ut~W==7IM)8!E=ItXA&KQtrgUQCvN=?8N zNB}Y9zpgma2#H>Zzd6N1BJh|5zod zUC^r%jhl2CLEdxb^1%x;q^jK@p;_H?90KHxwiU+-Hz=B&03E~hJJN0LUF+3K-BdDS z$(7}!a)T*Ry~d{Qp|lyPA9Aub0i*6m18qU_DV0Xn;$n)q7_#2OVk&mN{+u*+{W#A} z13E3RvdHpk>r`(-4c1w(5jzbtohkv_4EaBEnt{a=r_C$i?2@(4V87ga=Qz##d4TG} zq{BrfcFEGjtRm_<29mV8D)kx9GmirzF|+RP@2t)kR7~9Zm|;-t1t>N1UUCmsJpx=P zjqzObQ|F(byy@QGQoU(}c&jL?*%z^R-EG~TUOIn5x-(FtIm%Ub_wNJ03f($Nt7CM9jU)ZLPK0KC8SDSx8Ra9gudUjk5y^hmh0{buH3{`)d1JsT-oqw>vpjh%3#X7_Jmxn2XvAH{>5!W@ z36(f$@g^r%GE#AtWVp;c(P)WTlJO#=2=iHnVTZZjqgE<%z5}U>qx%bu5u+iMVguo_ zpTn(P1589$m3SeDL-((8ZPbHvUbl%G9zq!RtzV$%R|%a&ia~PpEFfm^as!A3ATnhC zePsO=u>0+njH!Rdv5PU{$}f&r_3@4eyho6H>*mhk6Bg|#GOn&)ZdJ#Es}gz|<)uFE z2)ma20j!7AZ5Mv3`sXW&HPnv2Q(<8GQ1}7wl?44$m}wYxv{6f2YFrsZ80uS2XO1LD z|KiD};i>?|H3l+k0N_Sqc55cFU8xU8ro%Jgu@-IQ^u%^QL=z?(!Rji+f;N}M0amWF z9LVl?>%4K9ym1}mI&8p(P+W!AMob?Qp`jz+&e-?gCXU7z;xx1;R8Z}{G~qi#_}l%x zZFiU=FH$wD;v$-F9N$UIAj3)DX*|o2 zZ-}bcsout*bopW>a{hx>ZurFOWI&=Fe2k~VO)}-Ar+xH0Byol0q}V0^Ehqxm;$%<2 zWgq$FPsD;%`>(pMBFcpU!8M6yqmVj8YgzYUwl6yx#F_g5VC&k4yyoIyw|?k7R%Ruz zxy6kA+)efZ8sG}Q)MAIR%yw`cXkW57I5(HgiDMM$PWhA(R=-i2Blg+0YQes7Fgb)r zL2*9oIXT5(6aMZ%-hix$mR)Ae%%@`$DS5%~Okxcj3!2vXxb@R(9Y9EgF% zu**emddiC)fez3+q-2!V+qY9HeMbko{xa}AIqc950qk}$9g=3q);(%f$pvj1-C0SX z8&ttUp!HWB@bzMaVLCI~Cd$*7>iexlnoN*AQV;yDB#{<02E$xS6^FI~DhZOS80h{u zlN^r!qz=r$Qt43JvG7OLWPP8PdrX$?Y>Sa9@q@hA&UM$|8v5XOoUqn0LJ7NDBMi*e z(JH`P0A{1c!AFt!DVAxBLuK#Kv@t2lf(ddI{m3-hA9zobSoQZ-Y#jF_1wG+Lb@+L> zkf6ynBnQiJA&c%kJ*Wq&$Y5{GqbcYb;7t#{f#m;z&OOsT05H@Y6 zpzhF`r9KSVg`F#*xp^|U_byW2{lOF2xvV-t(SPM;??BVS(&)i0d$@#w%6QB^r)y1f zKai4iENm-0dj5&X8P}gs87J{Atmo;rWFNvWk`#J9qCmJCGCKA6#5f+@#A$>?p?Mp{ z2B_uH)n!K*V_i5op(Q3~;DFXIJD{QwNr=A!A}i@t_iww6n$%@=cSwcO&T%_8=hUJ) zT?Zy%hqeo6PA0}SWN}>=MPsTfR)k8dc`}rVDGk*wt?ckO);){(OwnmSQXPEM3U)5M zjRrd;myG5Xk{J$|V6z=@Aa)QRVj)>n0D>{s=*nWr57LYfAgEkZ0;}tIWqG%MGwYFhJP6i_h7(A6>M)d^9;_=~Cgl=S& z@R5c^Znij{bdQ@mynNc4`Re~Np-&_J;01e7g)Cgmu_~{!N^$LzhTY?IbP2u90tSO? z#*5*Aq8s6^+6;AJ2#r1${)UFTJI;Cyu?$-qJ{uzo^shq-B?taUKvlU|!Xom2rwYZ{ zoglDQN$_BXbRwpClBq8}X&=viVMrl$@AC|E9~-DYkma@+_Y;`uneFt>E}U2p4@I)p zv<0S1WtRNeHm9!9Zb89jrVlW>0MxJ;uTFD4nzzqUfk@ck1*dlml>q%+Wmzb6p?GQ@sK@rzqepL_oG$q@&65qM+2PZR2Es8WrAWJyb^y?F!)ljH49SA(( zt;IBKTb@`Z{tLTROBwZ$GCu z=5SE1b$-O<dS?CeNw5<;J z3ot+coe#+HRO82%E()CpMe!z^R63Xt6D>EiCo|N$WFU%qZ7TdkReadyamJ8HbNFA<|Iq za2;V>(kG)7hXdkDDVs|@4rd~uCFR&JLuI|cqLi?D1T&Jjg{ehWIf)V}v}Biw0z0!ei&O=e6P@TpCfxO5Jbk z6Em@8;lg=}UxWX_j(<}TLm?lQg6mI)W&9IcU`lg)lSnandszY0!~t%elE~4Bgki`i zFT*L~&X|-fuZ~?R2}p*KkI{?ZrlOD?p*jkT`f{vF)>t|cAlmQo9IuB1qgj~B6pBck z#Ml^&e1KHt`m*rn>U5)qOGU7- zmUQFOndSG?O{%_s=XDW->T2)}ogm57T^|&BCd_1?Nqz`R0kBaQcqYx6x*W01zLvrM z8mUQTWG<>sEQsvWWW@+jrfQUIAP~7%8E%J_U3;()CrbK_4QnRN0UuRTC!P*rr<59c zSO7wEB>H*K_!LNSoo6HmBrJT6;uQ#%4KM?cm_$^|Fr3-;a2qo-ClC#PVQr$DbI@Y11oqJ21K&0JqgTy1sF;Luq(W>?xA#3-L9dX<`OQ1)I zcx}ysDi1nG>P%`Us6!;|ga))>5B|_|$LoVbxKHMRTT z8(zUX+6QxBkT3=1e8Xsb&k9=og$=ltn)B@+>qY_f+(pa;1#-HMEWlW~reiTBoHl8a!YQ*2naFdhp%8l60#bKdf{yC28xF+llTvAuwR-+QQ~Yw-cae_K9`N=!U8@Q~=@S^88ueH=ZK!m0ZAS-uq91Q9LEOzPme1O~N3iTQ)aa zF{Mr6G0yNZ8i;g$U+LjABXt^ToA&8fk$HOj4kD&Oj9>$m+)1H7wMTYj#oONy#SAxv zL@@(04{(;`;|3`E*(-C<)!k5Z({gyHd@f~MwDTfA=o5I{PQ~yRwE~9hqZQ!ftDG!X znzu5XjY1D!?kjQ}s(;yhN!7xt-?Es+?o~Jc7PfNceS#yKJOoXY zrblH8k1UmEz|{cBr~z`=d47Bq8YNJsRXiq0SGYlTs5Xvik=g!5&3tgCw48o>x*gZ0 zxy1S0gl?Q%uHvSip&h$Y{lzV zI}BoK_Of*sM|h6Ef7s}v`JVhz$Y3Q8dL~1 zdE_tlFQ{Q&l)`>v*+D4rH$YgMwRGwTIXc*qxIr*9?a3f@0R5o>JV5NedT=gP7 zsq)R^!n$9L3cyfTpe~`N6cts&jq|3V6Up7$_1w7Q>0g!oCx zt0QB%1Jh>N1=P(cj3NDJ6I9C_hmN@bUK96@R@9WKRgUX!ak}oV1!_s+uD6J9=(@o@ z_$cau(+|wYTCCdC2w#k+Ky*-RpPy5?E~*w>S<&AeAoWBtGC~{fJLqY^RHjncA<*N* zdhsonCNcFcFd#%h?UJxk^v2bA;pe3m-!MFxk&7j7HffsRF=R5i9-VND zPSvW=_XcJ5WaU!lbxNR|%Gro`!WD;G9cfb69nK`J|7`U~q_>_P%Ur=VJZ%54MPkfC zD?*f_gh}RQL&N;4^(nNlqQA5R`BSu5%wU+5kIsEu42u_ML~=9n>BEDTs}X3BQ#&ja zfO%>kAx#jy%hLRlKJdazCZqBv zd$97n_(_huo=RRYJh_jB-BvVHvoxOqbj^uf;{t!K)<_5%zQ{aH*xe->`R6FvGOQgJ z!$NXn4aOd|7luW=+EVoodTJ0!otqbeLMFD=yLUY@hCv}*H?n!XGmWEiZaL55t)?lO zb9`f(dVZy+GU^J;+!J7FLKorTRso07#}h^I(k7J9hkgPyP<-{WUtbRJJDkn$ zF1~8!<^#!L=|<|8bsZCR3zF!(f}Znf;iWWi-QC?@ZNgQnXkCwvwa^92Bd9q5RlcMn zihr?B5_2k(O8TYRc>w{rek{}?-H=tV4NCNaHd#JX})xdUNk{T4)nQluRaX%b*-%MAD z8HRcHYC=aM;eS_3i%x|T<2KvywB7_XC!oqBqF6^;8j3Axe6O<5o-e61<+$JXx|}#( zkZK7@g35*SJF}IrPq<^c>T*CmPaY?V2834-M}!LKYtKaM6ta^~r=0W(bgDN)y;C3ep3cuz|UwvK60S$JF= z0zD-get~hlI&+blUI8#RZZk$CpIjMYyVX_FhcrQOsvELEk{Wf9$CWbza&Xo7>Z&p2 z9gDZvvZA5DNjfpQvrrB`^rKUonep?^{TVukD3+Pj3ss}U$PIo<#P~Z>#?XjJx^j9~ zkkk;q-babA{rOXZjBc7SyQ6~)bw|_pdy5r%Pw!w=-A!Wd>=VY03(Zxdd|7 zG}S#viPjRu1rr)PA{-Y-t+QEm5Wd9g;+FB4Xcnxo!IczHgIdUjt*|+R&8h#cfjTg0 z&7E!Ao(~>^0IGiTDP~V)Q{p@?v&1bKUhO_T$)O7jWXJeKwZf_qQ`M) zfE|*gW|?r_)O@1r;m?4#2T#TIzd439fbfGN4FKNq71KdFFTcOSNWO$y9%iN95D-gTzqwl2Qq_?x?d{Xn^KpRl97MnGRTIQ%}*+`FiZB%ST@viSPlHnuKk}&5QMvl|ZG<8hdMkd`%In_@%4bz4*l}Rt8IQ!IZEYEH$ zGp(0<)$3A|eLs`!dgnC+f4y$LF$tRgLelZGs0(mc9^(hZ_1aFs`|^O=Bq?t%c{Ps! zXGe4MXy=689yg{|DpM=1Fjx;{UEgFy5v`xeLkHdpY8R^61@4oW5~Wcs^ws3iY-$2^ zqjOw~ZW38C%gHFe#YQKk?>%%23skyWlIUHUSlsg6eKKadv&ynp=$E&u1~;Evx8DdQ z0q1h={U_x(7hHTSxv|zG+c9bhoL9ZT{LRIFAg3>sKbmA+Q%j5FQtEp~AYEaMtp(Kk zYEo4|00mkDa?^+n2(VD6QW_J6bY|xzWH&XfE~s`EP^mM_$y=2C;$<3fRRhtqHC|Sl z?3WrjEybzNGa=EEUgkkBx>`3J#e$AN*Cp@zr;|xhu9n_EX zf0GnFdB(=<=5c2sUba_8ApF-EI=to z6g4q#lDm7;N(4+`J9G%nril38qAsw$V)>q=!y!IjPOZHTPrTc4^1$261T)x!PpSIf33ABx~nuRERMeHDX` z_iLf zE$AJbz3z;UWuK1BMp5vy7%EQ{l+1!hiH4mRjw~D6qJM>&3(VNvCf3YvYYzO_e{1(dQ=0}hd$X<8y zJ)Djz^r6Gu!K8X~VMB8Qz4(hkTY1|a&Bpy|GY$?(s-FIc80;PJp4~mO^>n30?&tB| z+B{28SB(n0m?5yyUPSW2wX|VO)=I_9^P5Qy&+zdDam5-fvp53}KZ~w|M16UAXl-pl zLxb0^A2`7;BRzfjmA5uRh(%`@6ck4g+*tvH&i?NoKfKHSNp*b z1%guI#r2ENMCRRN-P7AFnzBkr^k(Y=5By#3{JcCTj>{4-dbd{2OThYj*zre8bv0_B zh*0axEO#lj>mRv$Y4Aw?=+?>;HQVVG8pgz6Jmzl4Oh?VYy-7_{1bG4_`sW>o^c1tt z4v>p=uHZW>_=JqX;*ydAjLkQJ`i^jpXukJ0@h>)1REtk7Dg{&tY6NslDMy=j7Ir1x zI~qKTc=;1R^LAz3Q}dq#M-N@aY!gihN6e1zL&yg9?R8<|%J5X&Ib>1Hm>~65kMGjp z`|T|T+pfCWdfSqNBVvU)$Mn5}x!S!l#Q6ehi{=UAVlef}lx{miN0wvs)f&*wc{;s$ zmNp(equ$C%D7cY0Grp(h&XV@w#w0lU{F$t>`C=Eakx_>)ooihz-?fgt$bI2s*$h3% zWdK!V`jTH$4_Jv!>Ov|M(0MQ1pFAX;HDt&zG%$!16x7*L?9ArzER8W#LLd@SFr0~%X9T+*{*uio1#rn>`<4ctTk@rbNLT^+q9mtk#iPBR~byF%Lj z-AN7^qo7Po5q?;{qGb) zEsTn+?QMNd6!Tj`jyf*b_-iW?u>#NU;guru6~m3_pamehAlbiX`+$&NrIL^ol3XBU zXRf#H_eZ(>=I<7QBJf@DJtoELD*)j8@UoYOBZ$9bc~m17mKR4ycUZZ7!u!?E)8}wW zb%HqKH#|l_;@36%=P#7B+lHPA89JJBLn|9LQhZYA|pr1I(TJ| z_8lnV!`2<3VMw&=Ycu%Z)ST+;@z^%Kl{G&jNhfsfEd2(Pr}(UfA)!wLwMjrmv|+Sm zG)A&K6`M#LMoqwTMZ-1qU})2`*s>CFOQGX<#f>u9UZ1IWLK1c~KT{kt0O3IjAB7c^ z*iogi&7c$12z{Pv^*Qigz+86(XE!_O~c!KqX$76j!R;)B72QmvwX;i3uhM-&R zj~G7QG~crkEmO=43ByQFJPd%}u`lY}`HtU{u^gFNiSY7|0dlIZ4O>f8f91vukUh5& z3a-z81h;wNqx@j>A>T^!TuEylw%;;?7^@*lsLDku7L*i!HqD!)QMzKl{OVqqA(-m? z&0Q>rs6Fn=Ii=l5qaVdc-b(^MaeePSs=mkM zmW$$QB5`y#AxTx}@dH#8Z7}64v{>iMy%c#As+J>!ej7GLSsl6{P*hNXvAz9M3ZzpW zJ6ISd3vqfYj+{WycPngcH4@v{2{TCFZh%$;I)vV4eUN#-|t)Ztad(WdfhmQ zn-=TNb=R=-nz7N*v{+rBT`2czvV6fO`jeB_kJ$d9`=TNl>yr>wa9vY>QY}+I(O~oW zhaGJhSLzXv9-td^%>2=E(#)heyy8H-wzK2NQwyZiYf_wDAP3w~&2U~>`PiG}Dp12? zvag7Af3Yd?0IWPJ@`e|yu6rJP^Nv@;e!89QtylJWUDlv1bLl$qoJ=lA4GqaQI<~QL zO%U@vJ{59-J@wh?-rK5A9SL+u8osTrlGbYHUthoN6hvkJUG!E*-ptECa*lV<1saBt z#e#J~<3HY{#~x){LLi0haJq+VCALEo)p(Fyt7XpdW&J zO=J}8+d@N+yI7eU!M-W>QLEpyR4dV+OyL@L{_ z^ZG7Vs;|moqTz(|(eqkOP1!7dqux5--C9N)^!8iK&LLIkd+l#qw_K*3Jw!7)o?!*n zOv-+s0od!-#YzYE*gtfKW{7jk$aao)s>$gJWa(p&rkNX+`5K+nS7W}K8aP#_%r^8T zY6NR=Ny<}i>;?!iX8>O;d|qBxdR^_tE5V?j$q~Qh73IZC^1?m8DqrSX`@PJ{?M*kU zfCl=AUAC3h@PE2$EDy^&cwSx5AS?kom*gCOft!t+iJ0Yk}K7re`Jb+veB=df)?t2sjQ=D_2G_{3lWg3HJAsf5_P2fZ&BRwKcCLJmUg_S+vd zxl2)W1-Ut<9d-&yHg~WOc5RghC7U*3%zuOx;c%YVxwKrSg}kf*7AH zx~gAR{P2h#dXuuO_Np2j`6LRbK#&W&BL(kf?Rqz;qoRh2kDi8_M@quQt43zK#b)@XX0^7>{_i9eeC7&`QD&T*Z@F5G2`>-k2zFbXQwk7KQ>e;3@e zWZp+oOw3i;-y0-a(a_K=&RAc=HZVx1qM|Z7x{2lTbDuFmfS-lB$1)KF1fbunI`RvY3;JZ%cWBvYpbwjLe(7zE*HAzyTVKpO}qpTWNYba^i>^*}+xUXgm>HJSxD1!$?3CFYRF9`8-@P9G(>Unw znXk$FHeh#grm*dSU&uR^HerAY@qC!vF#q-IBb~?9=+ErJN7W@VI$pKVRD#+LN3_dV z#q_Wg8pK$?4JeL=2^D|UNuDUa6!6kg6FhfpuPHYA4tHGWeJYOrmK)f20yv_IGZ@!j ze+5p8F=D2r3L_bHbzfbyQ&=v#E)SrG;Fr?EyIz8#WE8i2B38;8eYpgHv z22!OLu1Z=F#(fLkYhK*|H4L$x&IgQbN_Elz=Zu@%*90Q-+ah~2q0dF z+h{lwFzk#QF5V1?qaFDjMV;xoKupEaWIcN%?uWRM;keL1@Tvb9nNnbj&-t z(-;fTf$vvs;k=1Mq?Jh1_J?OYxLFG7Vp6FaOiR8jEgomnvFL^y$QtSDVk6|l@MW*X zqxMYSXQ%gAut&wBa6#2y6$wsi4>2Y$4!UiZX_Vq0j3BtV{4`T~3%Aw8PGrQV&F2CIM&-MLdBmWX zDq0EoR-_f5KU<&-DJzuhZOm#>kTjx{Il2G9JAi{_4tL*6c}>NpV(~`=X3qTHXc>n> zCjc`z;5*bsWgeqcZ~fKl_+ZY=nG?}Y{^XlwVf?1>yGNTofMGmD;}rIcT^{ReBlfaH zK$^=JR9AUe9!t27Tz){l4Sf#6)2`(2IreXmWHa7Rgf1W6FKcgZ*AI7PFSJ@!zFWZ< zoBH;acNjmJfVTN*ccYsd61QWA`>TW;=GAK|im`A>mJRWr-BlXL!3d(xT8Y)W`n$`5@E7vo+cOkqN zsnkFuG0NxGoky26Kq0akUGF%DhBBi;qv(RKyf?+%!pm<+2@{$St+GeL`*H-;VwdkqHGI)6k zcLW=|C-?hXK9k7cs5=dY#$yBK+Z?JvpVRkgx5qH$Zs}%>5#c6j&zV{rbYo#@fd@`AhAsKquV5dC*1kZ=Zj-t~W$~Y~?oaRWI;K06jUbxxvh}SnESitO!g`;BPes??X&v7!7 zJ@SCJ4ty)7a$&FT)I)@5xW4T>%8Vn9(pt3mFc2s`V=>K|hx|A`*6~aEAkKHw!aFL4 zfYZ$NbdM}x%7$)c@Y;uU^oQbGgw=Z0d3kLo%s-aKtO9j%v3g?CE{acis7q4ad=`Ax~Y^#=nqSgXVWBacqb*`ufb{ zcPvAH(2u4fra|b(0=4MkY6J$}JvCABU+YIOj>5urgA4?r9V;RSt;>iShPJx>+LE?@ z7r>tS-#2>W3S zlKpqe!XkH%f;CAY zbvsjOX>SZ_5l>&mhpk5 zi0$7NbXq#c#v*m`y{!wqoIRDTkx~9UBsE&na|&-qO_C31kY{-t7`n$nDP$+Os(5Ml z{NpPdKM?=0`;;TH##Je@O)Ni68O7a~bE|dFHx#*{WE*K;HN5)XSEM@nFNj zg7>hOg??FyUuXN9-}LrQ+y8-9oN5~=>y0G6IgsyV!h&OK{!W6-Q^3{=kAA!K1G?I@ z_~e~s@w`0{@SN;GEKk9o;82=!KdR zY}DB!oM;-t8@cV-^)@6W`Hz5kPF_;1e^t7ic1{^m??c2H>#yiKk1aLv2YFYLfg3_O zfxZR7hl-4kKiRVY?_k7_<)9_o*3eK!Zo+r4FtKFOVPzPL1G9*>W-fF;VlymNG7eOqv3rZrXX`+MmA+&yxuS-V}kh&$6UrdnGr=99=hAc0>{6Y9BV zDoile=nA%AlKWcoFu?W_qMF zn|9QsH(fduR%*}TX2UQk1jhX{)lqu(2ur3?(M)G6?2AgtSB#0I#! z@kzv7JQn8alyCi<1f2ZF3b}_5&`0%|5}$sPXT1?=6_TugfXS1_B%8tX#D-J*BP(G)f(ChtF!k29y^a;7ixcZVv7h?qEkadt~m2 zV{MgtfnM>xr~bsSowB58c2UW;*O4YHWv`ZmN=QY1yi;*fZGwJ>W|axF^xHD6%8*^POr(sD!zM|2h0D z*D;crhGr&CMPx5~7chQ7|0(ynzg?`jDp5#0s7|d49mgBEzMR0*6hW>Gz$?+*Ys*l0 za!_~uu2yr-FMtwOBoV`4!Vo5^|FC?TYhuvAaNwL>vOV||V@fe>5hU1O@oTT!!ll+; zh&Qdmiv{&77UJ(Qz4(*mYjE($QVUYvvP*iJ4Ncs%0q#Pdoau~-Od!gpd7ObHs|G84 z`1Mh^ew{b)?mPF#k9;fwa(uf)nM7n$#!NZ%#{6pJ*eEy&~`bcb$!RoJ_)I`!?H+^HeY zv|&hfv3Gm^(SaqNV-MBq8BDwJiw*Qk7y5}`fKq?$pA6V6C#CQgB%z5?j_&Egt(4Gx zUcHqo8lYjiUN73@sqI84v;?`H{(c?FS!9mjx2C_2E05~K6aVUMY-P(AKbuY1U@FYq zEaNyUSu};3@on*`qkY+D-=vIXtA96FRbiOKBe&HpS9APYJpu zvQ3yd)USJNz!M_q;}cDNm&=Ka{x{_d^2|_ownJ_ z3Bc0t;0bduAd;wjO^qy3xijH;11W}a`OZnQmROcNLGQU2$DgdO9kLVL=X1X|hHgYW z&$f6s@r~1%kg8M_s)b7Ovet*2;B^p`MTDC1S*!Y-D^ZTKuoZrkGQbRI&lC>Lbk5Hf z=2qCqdH-C+%n()TZUSCLmquhB7cJZcE+~?!Itay{GR|9ByER(ry3hps5+T$OMJi7_@^|-Xmp2w;+K;kO`G091ywz$@C-k zjcPbHrz_`t>^A~#KcepXl{MtrH(}@!sk}Rpew?Q-nPA-YRD5m5%GCd!#!rA(m&5;+ z?_)i4F%)SaZ>WnH#vQ3O154yI_tgv7@nb2rV@C2;|8e|NknB>hw!{pa{|f!oJ@LFs z16oQ5W6{h61^k|rsqb)6Kb7tb5b3RCBsaapC6K2@-N^hNmO|eLTT;jGVE7Ve?&H*~ z-qBFGC8=ah4dM$!mgIJ?%S3~OiLTT2%tKhpC{O(lp_ZmAG{5p6Kp4jz=3F*MUl)aKM&Gh5@Hv z5|^`KlwDlD8_rY~DdwkRVTf zfysCK|3&VojdphYzlwu5V0QRdO@in@ah@Pwz|1KB5dRzT1L6*5()x$wif$SD6M5z_IBW&MjCyJ3<3 z(~18SOZ1-v%*<;!hJV}mrxqHd`n3%|cdY;ANW5}r{-u`O3Ez1Ciz9ka{44c8pCICY uNu7kqd*GA(({fCg=qb}{h_0O15M9{+RVLUOlIe^KN%!~&ckS{I@_zuUoR2dA delta 28092 zcmV)MK)AoQ@d2{&0S!<~0|XQR00;m8413j)4N3zHd)1Lz8-GiWn=llG_x%-!b_;%y z1T0`SRnU?)k3IxfhG{;qBCTuVA`btIQ`M z_B~Ki7qzM~|L6Wo5c?1Lhg6qkErAzWo=>1`Z~`kl*Qz=`Ntu5(ifhr;9arK69k-I} z7Sz(hFKIp+O@EcQrdEG4|7dN?5$gLs>{+Nyg-DVlXjB)pkSo`oO*2x3M9{$C&><2M zw6H_MdqWNEWhAZjYBb@6aWYa z2mlOw)su_@Dt}5K2?Zvh1EjPxBrrgmxqTD%0=|*89!U=H@9#>6GzF7V+j`2xAG^|O z_nfn9Za%F;e)a-V1t@Myl@AxCGY}s7fmqy@zE6AS_0p%-KQ}m^2Oczi^x_bNK3AYM zJ)+L&b)lNc?b}i;MH86{R8z1JR8xCRj6m#OYrcKDX@8w1SJpfb&$p$e)={%uUaeLi zR+k@8F3OcgqfxeZcaM4~=E34rSIN_FT_NJDBlAMC80)NhadA~n{x6+v7x^YM)lzF0 zhu!vDH(LkEpYuRNXkv4=y=<0tTOyaumjG6;Q7fgr_xn3P==rt;HpQs4yQ4P|-3f#) zwJKNF^?%FyP5IEw>81xT*J-vd@|k@Ke7#JwTWwri%l=FdYGod?2)HTZ|IO3yI+ z4%LR-oEGuEzqeGSC8ckvWs{oSB);oyL zg_ZSTTzbsYDAU(o$%?0aH31Hu2EQliLWZTMTzm^J$8K*CEByhY$I}Tlxe!aHiJt$4 zS$_%RrEbR>zehgPNB5os>(zkGfZuJEh=aU%V0zhM3Jhhnd9V5Fme*@sYdW^#vSY|1H3nQ|t4SB!6U_ zcUh!HAU(<^f~#81QPFkj(obUbuL)Vfq^Q zJ_v(QZeYn&I7nmvNwO$%15SN)4^p&Mz{DsPL>cToG%u>`UD^K}MtbuumFGDUF*B5H zD}6^7PWGw!dM_s;)VJh5 ziI_)~F-4nQUEnTgD`^EyyrvLF+(}zV`}w>k+7gTpfcfuKd(N|;kZBIzaDV1Z+<`RJ zVW#a=BFPlw$fR&diGEHbjXX9Gm%R-gBc{&`YxT;-WhI+oYS^BWqfZ&&>}D)E;?x!b zwdLF6_A?3;ss&L)0_CI;6Kith!B3D#1pNnY&eP$u7k~JXd`=#UE=T3! z{B1_}*g98bPxOX^dc-@JvzWUG`c~XoP4|cL&IxjV8VqGOKS1V>DO*tR1I{YyB)^#4 ze}{UrufAtS?=C-sv^imr-2_R|E)yPb2f}^VN*jK5#}lS>zi^zf*RMK8Iy#wd{XR=J zeNc2MFuUSd`)g005UJ002-+0|XQR2nYxO413i=0F$c-9Dmz#<3^U?`+fyh zj_#$d5N~IQ6eTnge0tAvIxg^20tpf%6THawxZKgU2p}_0o;-Q--18s*>GQ<5o>|PjFgQPGH(Cc43!KpPg3%+#YKYMKY)j@%iuO^7oIf5Xz zxULC(r1Q;{4ce_Hev@ruAd#HO$D`~V8ir{AlYp~JB9MKKSnS~|+oxt{g&qpr*JHlg z-r4wN-2kNZ35V4Nst%)nGp%)zna7jQX5AqrhwgB`$GKhYaNbSI7Vq()iSO!omI1ex zBWY)N=iove*kZHuX7*qR2X}pFJFM<9$LAOSC>U?{*b=`H?(>6wV#od2WDo*H0h3i< zO+0^Ac-dUt&7(aIC-z}UAL7lr_E%vVdn~r@*tDdN-`Y{gzt+Bg5f2WmLYMe$eZ&G- z2Vh5&&}DH@_$2ZY2RQc7`^?;R0KE?b+X>qxz=${dAKPqb+YRG@PWJPI2R2H5JKiT~ zlVzYy_KuYgQQ}SPvK0|;$~u0wV~@C!QQu}=ufur7q3>-UxLXi*N=8@jR-!eA?Ny4^ zst}Z+wiEK)&yzWXxZZ33Oij@TN&M_~ILxsvrDyDH~jbKe>8u&qJ6gwM(tyL!HS zXg>8g-wG?l_sghSo(L~6y4m2B$azPQmF=}PpqbF}*3c1QSRVt=0cLHz?=L0h`40`K zna_B_Cfnn#yCF>(4c}ZQM9JrNn!rGb=hUg6OuC|f7x`9yI~z*^8QHNtitT8uUcdvi zw9t>bX!R|#;gmd3-DXYd5r~m2PCQ^C!w_`Oc;p3jpAA8NY&kHk{9){k#@bVqAwdpx zVI=ubbd58q7hVo+p9>^tb6PRM&L$Il8-~dqCTRQK2qa_B)=>Qteg7rpi8q|pxfhIJ z{An1wYLfeZMND@S#DK63icaiis38zEtZ0Ng$6{eJ^q6};z~gp1N(y9-kL#d<+QG7y zXj<{vXZhNEqK7+~=rS767Zx;TgJm^`{AiC$L{C9$WwGxCtS(KTK^Rm4@c3nDD3hw^ zXsES{hDu-NG}Nj@LnnKgC`@NyJD)}|nhyXrKa9_R50cmpxah3{fW5sEd1Sl760g|V z0O%PFt3)qy06qpuU|M|kmk?N?`Zy#1U9b-IY{~?q9n1?wD;bJtrCyh}E%KX^*4YQt z-h8c2H(IN7ka!84|K@AeXq_Au)=QpLVuA9f@~E1BoP^Qh!$FuNXdG=dPEVu6;-T-k z)>kcm`e!GLuJ*b)I@_&H@cFnNnI&XxJ`YW0E|PDjQ%1f)7*FQ39i4zhqooAAtaV1A z%i3oj$Q~+SeIv>7*5k=4b|^qsXVK!MsH+u|ruSP+Y9ncJlS!>*{VzK0jby=f)85t5 z*50oGR}kVmjnm%oPo$}|Hxl=*K((zr$J5h)pK6X9NsNU#{sN@M_D14jwOMAi|Kco9 zS4^_>T{g$lYE#@u;4~uELCow=^#L1(F~e?0n}`oT;o@&3-aW#^o;t0kLFmpZ>6{J= z$jdE7uU)8}os9&l!f{~8h`NXEpUNz>k@#{Y!i_ktRD0!QGlI1T&_ft4JWzv#+)K!R zUy9RfuKlVjzG^P?-dqKXDN;5Pe{`gD_Jfo?O?M-)2aTVwyVlQkIWIGXZzI7+gD<1; ziOqpY)N%Yu;*olV&15JQZoMjV*hr`;%wfMc-bf(P;CuXVwH(Vgz@0uUGwF>W2 z!`vF%+jhpa$Au%z2v~Z1e&8h_RXNLb@1^fEXyq5?@GhJ|o5Q=pr2mpLS~#_;%;@Ef zK9370)aLMRvI2XU(ZZRwaz@&~KL^$Fap6SU9rOmowrW!AmTh6uyIjq!?POK6yUDAAWX1Zu=uZ9{GN&M5Ckc(FIbt22o7;d%0*}%)W){(ib zr}A;pRJ{?*SxU-T%suz~pw()BpW4U0lb4=Nwd1(LYzB^V^wP6gG&QfB&C)ffFk-a> zybMph&aqu(#A?Us(v>kDaTqVmkqiX6o>yWbcqhK#8CVdBMc7;D0U<9pHhLCl=wRm+)w)U3k4ULRPP z!FA@R6EDCdIY8)d@VlmINgO zIq4;wr6X1kBir$kSxGZYJ)z)GVXCRH+zSNua?AZ?J@>Gl3zFyl)^q939oU?qY`$!v zi+;y1t6X)J`!MqbHqGIGAwZBVqWoP+n3G*H*ONsB#B5ZT&?21#)Q|WR`bg1(D&&0m zY-C4s9!YIbLWwrf1t8~fK-CU%n{xpVWUS9W@Yyr-6=joG!4fa=IRQyOb<)41&!js> zWP)btCD28kr*NWzaMI8pVwS5-vsM$-hS$(N51DdJ)?vNtfO3a_Neb}o0lX%sJm$ib zbvyTo?3*4AL*Eal%&iZA3a|;R-GMf^@_g2F*XUuRb5iCeueTb<-J_ygUHIE&i+tru zrwngbEk}jL>U>$Oe6dbjM^#r#GV8=+wOmJyqr+;eC0o4MVjX^2EVWq2jrK{! zy``GG*m50xS+0D4xq9uYt3@qdY_X2NES6fVlg8m;#l5APyx4M`d|58FT)jrCS8cUq zix*q0-j~J77we>5ac`+6FScB#UzSTP*J-0$akXTN7h5d!hJRTtwOXgW%F891Y`b3C zYZLoN=ZpR0i~Zxj{$hQxfBb@$>x=#47qnPk>>t0d<@#cO|M>tggbt&Zwta_0Bz~*9dDQ9&a4ik}>N_oB*vJ|IG*-SY5 zK4n2(0CVx7=*jhXjLdoU{gfv$)p18GY}MJLD%QDOFYxEqoxBlO ze$c`$$6B<1xOXtSxVhqW7nXrSp@uO$5K&S32NZ}(PsMK;lg5=5%MP4z7}t|o#EKzf z&!aPp`fs#bRHz1j&#>lL_eA}idM;jUaoT8gvQNe`#`&mmN(4?L|3H-g8F3RmuLz~qzKE_IaU<~NoRgY{ZN$mu_41?Ry76D*6 zP87zYl~`Pj<9)sDt$Yj2^x_X9AkOMES`A5pksU04j3Le!$BMY%6O(D59$ehPR(odF zd(VkO+~?K@AmcFnWL<^9&>N*;mH5D3K@Wm_?J&PwEr$z9% z1=}M?m}@1W<-km87Ht0{_6BLfENIaTV+)QOZ#c7(F?_CWr?4o|3Z5|-DxP47IsJHd z_tAPAGiJS!9}0Be0uv56t66IK+l`I|UE9Hb%<_TMV|7oH6{Q1U^J9Q$Fryx+w?3@o z)Q;g-b}Po$*3?VJRuCeFv5+wU)fZudyoQh8#+XiU6++Jz@;rD76T&y&*v=>YMZ>Cu zKcCsKp0G@afY7SAqf_5WCFoBWS7V1-t=Cn{ij#qKlt=KgT)andP0PP%2siOuVHky3tm%$*#) zMz4K1e{!@NyN5+@o$n3gvNU#>XgnuHSvQV>dR`c(tIsKR#$EzCU>dKT&tb)J z4z;!q?EBP<#m&wO<8+JT9GQ#*^8D?a%X_QOVl)e_0o}CA+zNT=kXiDLhuO(tJloX> zACfVE8^+dMX!S!sHCfe|t>> zeH^4gl3MLfqjg9h+yf~fIQMoi3W2-Qmup}-t%%)Yt!>c&zGk3y%W&5H5AQ;2PhH!S zfo&b`srL^N3jj^Qh*cbaplvw7Wn??!`OeW)`$smQZRI&^k$KIJX2kV7==Yc~)$6un zRy_eu^b>$?3bHJiY>8ZUZy@aFFt{`-VB9A33uacPaXt_IJk*7#q7a2i-Q zoTpfDCk8Gv@r3tdJswOs@>LpRJ%-))t&1qFxz)sBY~Q*GL2_B7Draq=F7hQ#u z35y-PX0xA0c&$7wCyJN0lT?C3W0$&pO$cn|0-kI?E`wMZW)_UY3$mQ-d~D)Rdc;;E zk^rZk?^{#b|76X=6uOJUbTlT{j;9}uhz_Sf*wXtJEOUNhH7$5I@O&>pkJ}88PMkX& z4q>AjIEys@SL^|Qd5=Qe=Hx?5vI*1(ZaxlE-?hdzfMQ$IF#d#}(s24T8rHlg4W}TN zwA7a+wF+Pn6Z-Ng%v4$d zjbdz{BUT+hb%E{RAhD40IkA0xm_@1}2kHi+v*JMLm&MY5KJIFFVEg3Y0ub@6dmIh% zjTP$Vf&tczWQB!Q*=(Aq34+M0K&D-mp&tIQpKZ@4|CXI>;s?eEkw%a{$P^^nO}H*x+OfVc(KD0=B6u;RT!Jt@qi_3h(3HIdyHI*1B*MhKpR&7 ziO8|fNzZ71ST~8}Nx(+nIqVeMXV@XS?_D=$oLd7RUg^ze6IcPBu}WY+u{E@x;Xj~; zlGHPZ!zq^<%wT4voVK81m5%S>fyz^7Y}wp;AN~L=*tQkMfV0r5v_8`|R-q zr-E8q&Fa5@6t7(yPBi4I0-@ac@vr~an%KmGk-u`KBm(Q5A=7nPLwJ3`*5j({Pv(Hy|f*0;R%@V=iP|Mu_NA>LQCV(YdAo{Cab#O1^kgfRe% z#aV8D_yY@Yas++?=Ml&Gr6`nc2E~I11Ont#7mSWDMb~sEW7zscs+{mkj1>nPGUnGr zScXIZJ;n#PM#xOoQrl**-b|tx4rT%6NS=nYnrjElcL>6%bi06T78&^R@D+WB@n%5E zIIW^!f{SS+*KaoF<20;K?U}`AfddR9@O}_~xRD!C;0P(E4uu=TK<~zDe*)#$;UN*RXks z%h`z7Ng5zhfzZ@DUGKe-t|5No2=BNO0QUpja;$2`^`v zyOR8LGrPt|s|bM~;*qTwElAER0O`VqiIR4xgb|KswVeXmf<&N}j_OP-Bh$Qp5@-q& zUa+gnuPTfBnOrnrxEv{-@}!Of|MMxb-2(EJaG}78XRL>60Ufl8nm{VGKCv0?es~3< zB`(lP)_{#mn8NBc>y)oq(T!1Moo+%YjAkLxW2`*1*lol z?wK!%jPni2RiW@KOa&A4D8MLx0)2n~&%@u^QOLjMLcl_^lRLMvv_tX(oaF-5fF)A~ zV&4D;swSn*ivv#VMTuDDAWXzcyG)2mY2c#@g1{3AJ3g~xa$j1J%{ktVNx{&B%uGlp zvLR`3Ca8+q0@1^1DwqRE?m|tch8~>UXaHM~R6-$e(nq)g3SSaAIS2@UyyuGjJnCwg29zCfc+LHs*}nq1&y3yjnIHvoF}XzD7pJgP=gSj=5Z4r_G^@KXkz%|@%ce{<*>EW7*lJSZL%^>e!)}~eaT)|dqs*obvZA2w!ffOj0DnDR z-CHDYqF6pg#UfiyH40{bIx)g;BL{=J!_9(AnRU|boeJeG!ShL=Cei4s5-#3`xRy4a z+TxJXwmQxTPe291DiaJ|%8P93sndG`ITJY4Q|I*Q;G#Y*1cPIK&V-=_7`fyo9dh4} z+(MtE^?hQ94}nEmzCf}cg|=OB+vO+GZkX@#{%e^4Lv#@^u}5Hk;r|kPf%rk4E*z0= zh>}GO4_4cHb5)I37KjlBBLxYDBC~{r+eVnHHKidWDMlQVD^6~ioH5VxfcrYgadCoN z&M*Se2|9~>)WB_C7>)oNv1AGFu(E_f6hkU+jxy6O;+yQaY6ui&f}AI=n6p|6N&3aS z#O6g*Vj#~(DOmo0il)e&)iIzy6IB0syCB z<>yF&Agsf6J5g-J38Um=B40=N`9MrY`2#&D4eK({C1jF+RMQcjL{ZE*3YxhPDo+*s z7~ejV@`77a37|rX1+YMx!_9?>L$jg)t}Lpu%Z5cx2M^twfMO225ITn~2E0^ku#7eV z!JsnJk;J7mjWb|qG1wK`Eem_un&Ae_qi##2-jzB>el&vI5GPUx%+yORhT2L-k)0{Q zC+|yIWWG;-S?nQ(5m*8oZ*7MI@Dp3daUA`w`E7A0NMwFtmQ+_w`0ML!dcAq0_v!>&b@s8?8^3&i>Cl}MTZ4(j{pJq( z{O$K?n0)O7=M>6PbDeWVwD2b|eer&~v0y_L$GUVUaCDHRF^p?_ADnQ=0f3E(t&JfU zMf7if1JvuSr*yA$PKDLqv~%O$4$ua?>Qd)7=hmOE`&;#>ZLkdJzVLls3Wq1-I{xRo2e}f!(d(@JGe2yye#@!${{a>byUklc~TyUMEjtfebC5jQz+qAY8eHX-4Fy2R63MT6d(uE%b_dUf#irvOaop0^NhTI z8R$7h^R~x0st!sWoeNu&hZ-4dcm_W8Li!3phPc2eoH?yp0BkI*p^*4AVQ3Wd_yo^9 zV7ees`r#DG4QP3*{dLQV?p7wT{rHkVB4^wc2CR&U3-kE6oh1~CkC4W9s1tl@DE zYirsVBWs>U#M!YQT9ry|$040IP5f_vGwY)Ho3v6dHVrgj zy8~-uX&QwiJ02mmA<>-YBxAv%oYPv8Ir1E+0Utd%_7kW$=S`M4&FGWYOnlySSiDe) zp%MsE>v$R}aSxRwckm?01AmRx)SGr>eB3I3Dz7+yfY?dq zJ3(M(J2J>H5#ceOIO82+qnb29GQpHWbjd=5t^&!Gg(YVhW5;6%4>Ik%sHFI#u?`Is zA}VUmn1zvnXu`t52eT}$W}18IDKbU5(v>qF@f(UAB#oeh~^M*xoJx$qKI^Gc(s zLPQMmv9wkoHZ(~uw-*1Cvcr;>WrE53C_o492VRuXyF8s*syckpV~8w6lU{% zdcj8S9^#9*)!hctY(ea^{+!32gAM^Yv)>#2;`ug8{KitwE)J}WQ*m@H7@xB%&b}bbjuVpW!s%1M5`La( zpv|s9np3sI!H5-V6hkIZavXAu=~7!Kd69^_ z&dk1rSZ@pDc+w6sVS9#utOkX5il9dALCNa2Po8oat_1P`P&kc1;R^_9&L2@TV>a|F z*kV=X^AS_uv?Q>??veMpDt@UIlrz%WmdE_*I&S6U8wHhc9g?cLGXG}B**2RxK~|-< zu3n)Qu;!r1*Pf57piQWd6l5a29ZO+(1=Mr}>-(YqI@3#!P%Bk`KaOiadd??%#6&Qg zGX2-IpgcPJ34?_gWbFfW_9H~OD^!HKz^7^lP1yk0YQi$ImTIY5;yifq({k?L=%USsTLAxfFZK8s+b=#H;irI zmVbf4$h(Zr<|cxip?JkNIZn}^qYP6;xAN{FYQDYv{a4?@83>H|>E=mtmM6gRliCPR zNPhGL8$5AY{qhO@tw6qEJZp5{n#^ohV=c`oS{?g|auS7qN!7BTDkLRs-)37Mi6M-T zwdzKmg``0PN$4Kazh>!#&bEN;NWZlw(bx1Z3t!+d?_iK(McHPlH4-~j6Xbd{gW#>- z?P{D-?~8F-9CVNeYgYx3uv+f@!7|5r$92Vue~z=RhYp|E0Z?3QZ1=_Y zqmf5>Snv9@Q3Bd(_$)^zYtAb^Ls<;4;_#@?gq8&s# zWyQcmx-$IlF$DDpfUa2%JV@4TtYc{&0W3BZ7BK?0;Wo1&>47neX?G7U&Z={i3l}I< z5=B0;ON&I}iTE=|gtdSgN>8gEvsgeL+BS8mLl<*V+$d5_4Nz_FOp1~^hM1<23(Hcq zl>(}No|H@+sB=0H2}gC8JqvLH6Ne{g7@Eje_*wZ6Y_v-g$ub#kGh5?=Xe7^*9g2Uu zT%iKMJ3%M9LY3b&LR)dcuplx|h=E0vf0T@iF~163z;lMSJSHO+4?*x3`So-W!4S?4 z3+>_}b72U&+E@*wdt*i38HKNs<%ls?m@|EUz=0cm8j%%U*uoeF=mE0}DCU&xM>Z8b z$zbz@RYaeanh*kH!qTOC27sv7y`V1QyT!S8_qD~F_hR~Ia$&v;0I^BR&$98tPr!M7 zD&`^`8b)n0L8ke&7%e{qn$LFJgbmh2d^9<=-JT%skLAuH`#wuhgwl6cCT7LVS2pH< zIdh0^g2ePBb65DfQ)GS@|;-7uAeCsu#x_i{T3*_>Q1#A8iXJ z_E4$@y^x~1IZnT*HmmI3W#gGyaHa80+P=x|CwL#;A;Ro9pnO-l7Dn>Y>PBxmIrd=r zUMxCTW$JIem{YMXVY_sxd_rNO)W4K}-V32pGQAHJ0O8<8QlSs#s<8Bbf4fkLMV!3F z0H}q6O|&LOBla3s>0|HUf+(|cOy0U)D+dqm9D;ZI?OvzDGV#lAvS8}g^qNw&% zpfq6SrS(A9Z~RB5mwtFigSqrLDFJf~Z;8V&QQn6#z-R{Tlf&$2S@F@4$w$W~AD!ff z=X&9JA!#iuQ~*LXM#4-~EmF^)fk1Ec zxj2ss0sKNb-*yPWk?V2jGdakALdKJ6B=T3QF4DC1NF|XwCjr7R zrJBgp^JLn;NW3cZnU{(|$NH$`(Nngmm`%dx%`|y3Gzo>O$tME}#woDCR~zPY=N)JL z7Nn@mZX>hMbjurm4YZE6DOFBBu`HFJS&d|t@5bJV!ItgyjJ9l%IM#H3+HDyyi*5_S zyOciLoXKUG_S{60UA8*^I`YGT?f+Y8Ooxn$*b6zW)@@n`7q3jeu0VLzAdtl)D57gQ zjlP}}0EeE>Dwt4*u|eDg|b*+XZ#f{>0!wc+`{iL=(IvMby;^Z0#^A`&#T$+OS{}V6P=5{-6zW|8)`QU za!t=K#tvU1 zOn2dWJP2U-hJ~MhY{nZGFIjT)NVT|SRc+<+jm4cYo7ja4NpOJr%7bX?#(P(}XYec_pHQSHsc0%u2QZqW#0usdsdEdUNn#_WL`a3@Us767Y13@SM)m$zC@~`>;5AyCsH? zLeBdsFiEry7rDkfWV?doXbuu!mDgBA!_}hO2muOzBa|?cfwn6!j_1JWoaHkXR1DdH?U1Li~k)BkvNb=~j(oAo9P*ni(;blqBUz(BU@v{1JCv#RK44>4oX8wFvU zMe?q+1s@+=Tt7T~csQeCrs?1c*Z0FvhOx;20KJYk$;h~O0CUv9%bm-L_4n+qQ{x+cuGI+a}U&+d!Y_v`uKfZK6+fOfcRt!Fb06;~f)>cT6ze zIoeVSu}%l*qwfX zbbr41&(0Kzd|wqy#r;EZLe@hVmfUrW7;b%TwOjf>1{cB_Y8yvOfxEeX|J48Z&Ev!M z^&(WK0;;tk+Yb-#`_{wtyPN*w!=INzcDNUR z$Us?H4%&yeZ*OnzuC2>AZyrDlvcCE7;a?WvYYF&{_5)vg1$@o$TtrCfSGP2s;2f{t z!~7wRKSFyz|9vBBOIaU=L+o0WthA_tBTV3UKNINGyGtj~zxww2&Bxp8-&t>wD8KpG zFIoS#!0*X^!0WC6@A^+?MF-3eZI<@p9fMxzOn*P_6V8uY9csa$67IUf*maLlskAeUol*0V)@-sDNk)bOU*F`SyV>~JWTl$ZcovF1eMcc%&&{ovU+8~AHo-^#~9>ndBD{0_IB-}Q{@mAaH#uu;CWWG>I~0jbf3xcirOG@ zwRMMFvBVzCXKLfcNU{WrtZ_;odx?IBjZGIccv+k|UE`D{oZ_(MO5{m@ulXGmi9XMD zi}3zq|FM95yx1ilm~ItV*T=VykN17OlbR@RHN{N&?8fOZyP*gJUw3d3v`VEU5lfya}5cG?i-H7VC2u>dptuh>)Bm}==?#2 zbG9r1S5|fulXI4aU5J{(In&Z_6mOM1P9rE#_Jb@i|t_b73SunsGPNh zG1ghz8r6=%VoAB>k zeeEhQ3JjzK;Q7FJJ#XCn$`ZT70sv9gbIs>zX)y1oY`_X8p_f_QEMOcji+xWdQCJ}n zK#2+yvh+YOzl3dnN92W#jd-fGsh4%V`n>8MTu|k_O|sLLjTp_6aTs)t>xxESXda;; zh3BK!Wz4NIqkA;S!UZ0ZcoPP4k}>Z+#FRdr*B}XD`2)H~-my_!f&BvF(1Z)$O0KR+ z0dS6y6{MX^d1?xu3fOzu$-3^F0@ESDH*?jlh!OgUCBMIC?~VZ@P9 z#u2}Kp@@lpY^gyQ0SRDyH;bv{VBnMq%vfakIrKzXAGN@;F0VDgB^d)x#zaa%PjqRi zFeT8u1g%t5VCNl{OGxqr`85oN40}V0UNF+kr{PzCRV$W@RY9;Yt}QNzP=~YvmT6scLsKw)qKZ$)uC5Pys)XM#T=^DRyFX7(tVYf>3sxTQ*uBIM4 z4Oeddj+NaRwq#oBJ2kNd8sCu#;|@Mmri!f%8AX0xRP7ZRQMvU2#;~{rb=1=ebJ;F5 zNjzC)t6&Ssu5B&^ddoWRQUrFxfcisY36?6Kms%IhB**QeR=0QDI_@2xw2n^O-NROy znWR&H$xL!8urMT(u&h_kdFXiJB1UGt{r#J}jRY7Sv5m!q4XFgH-0ulqjTcA*0#>r; zS$@vn|Fik`|J1A50a9&I<=Nf{va7qx_tyn5#07n@7?kDu=B{5nPqhm+MXekP-PZDF zvu4tAQ)sPOT=C2y;PFytSz@j2#C=|~CA<+DBVwg zg>8bP=zFDM-Q4Ap8lc2#!T$~qyOgU`__F+H-N@d86{0RjbUARcmP5|l>d0ucWo4O? z8t%qL7CwsmWs!|c>GBFHu0lduR)k*Onvl&Q3$_rFX?|a`uu*6hZ!FSG)y+i3v0Ry^ z$hwS!sG2Qw9qP&pT+J^tDNgfI?JcZ-28n4)%t6ygW^i1MwdM5ET zJ(KvFo=HSg&m^MBB)PuRGl^(2$w}#$=a#A{{nq<9$+-*d|S43P$TB2w>><44t z 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 From d5f76ac832912402d714dd13291c43aa9f84940f Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 13:39:18 -0400 Subject: [PATCH 18/19] Improve CSS print media --- UI/WebServerResources/generic.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UI/WebServerResources/generic.css b/UI/WebServerResources/generic.css index 277cfa5ba..b7bfacbe6 100644 --- a/UI/WebServerResources/generic.css +++ b/UI/WebServerResources/generic.css @@ -60,7 +60,6 @@ LABEL H6 { font-size: 11px; - color: #9ABCD8; color: #627e9c; text-transform: uppercase; margin: 10px 0px 5px 0px; @@ -1168,6 +1167,7 @@ span.cke_skin_kama DIV#linkBanner, DIV#toolbar, DIV.menu, + DIV.filterPanel, DIV.tabsContainer { display: none; } } From 8a041860a01b3f27f631a244727550ca9d90304e Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 Jul 2013 13:40:33 -0400 Subject: [PATCH 19/19] Update ChangeLog --- ChangeLog | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) diff --git a/ChangeLog b/ChangeLog index c5005f5d7..b8a81a05d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,212 @@ +commit d5f76ac832912402d714dd13291c43aa9f84940f +Author: Francis Lachapelle +Date: Fri Jul 19 13:39:18 2013 -0400 + + Improve CSS print media + +M UI/WebServerResources/generic.css + +commit 12b7fea82543c105a39854eb4bc3f9e68cc080e7 +Author: Francis Lachapelle +Date: Fri Jul 19 13:37:13 2013 -0400 + + Documentation - bump version to 2.0.7 + +M Documentation/SOGo Installation Guide.odt +M Documentation/SOGo Mobile Devices Configuration.odt +M Documentation/SOGo Mozilla Thunderbird Configuration.odt +M Documentation/SOGo Native Microsoft Outlook Configuration.odt + +commit 1c82af8842ac78b70d8e40a4d78e866522adf139 +Author: Francis Lachapelle +Date: Fri Jul 19 11:29:10 2013 -0400 + + Updated pt_BR, cs, nl, de, pl and ru translations + +M .tx/config +M NEWS +M SoObjects/Appointments/German.lproj/Localizable.strings +M UI/MainUI/Czech.lproj/Localizable.strings +M UI/MainUI/German.lproj/Localizable.strings +M UI/PreferencesUI/German.lproj/Localizable.strings +M UI/PreferencesUI/Russian.lproj/Localizable.strings +M UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings +M UI/Scheduler/Czech.lproj/Localizable.strings +M UI/Scheduler/Dutch.lproj/Localizable.strings +M UI/Scheduler/German.lproj/Localizable.strings +M UI/Scheduler/Polish.lproj/Localizable.strings +M UI/Scheduler/Russian.lproj/Localizable.strings + +commit 6cef5245e10515b1199102cf2c19d48364862027 +Author: Francis Lachapelle +Date: Fri Jul 19 11:27:17 2013 -0400 + + Bump version to 2.0.7 + +M NEWS +M Version + +commit 0069a4200b1d087c9d931289cd57746aaa4e23bd +Author: Francis Lachapelle +Date: Fri Jul 19 10:43:21 2013 -0400 + + Handle possible jQuery error with DnD of contacts + +M UI/WebServerResources/ContactsUI.js + +commit e24c20c48af0e5eadcb4f8a8683bae15e22ae100 +Author: Ludovic Marcotte +Date: Fri Jul 19 10:11:08 2013 -0400 + + Reverted patch + +M SOPE/GDLContentStore/EOQualifier+GCS.m +M SOPE/GDLContentStore/GCSFolder.m + +commit 256b679798404db77fa85b53df6bcf815c8e4007 +Author: Ludovic Marcotte +Date: Thu Jul 18 11:46:49 2013 -0400 + + Bug fix for #2366 + +M NEWS +M SoObjects/Mailer/SOGoMailBaseObject.m + +commit b85ed0db1c1bf37d0f1ec870c8c0a88566954ec6 +Author: Francis Lachapelle +Date: Thu Jul 18 11:32:29 2013 -0400 + + Fix blur of active element on click on a draggable + + This bug has yet to be officially part of jQuery UI, therefore this + commit updates jquery-ui to version 1.10.3 patched with commit fcd1caf: + + https://github.com/jquery/jquery-ui/commit/fcd1cafac8afe3a947676ec018e844eeada5b9de + +M NEWS +M UI/WebServerResources/jquery-ui.js + +commit 048bae2fc510f0cdd39b07d23bb23cf492001921 +Author: Ludovic Marcotte +Date: Thu Jul 18 10:52:37 2013 -0400 + + Applied patch from bug #2235 + +M SOPE/GDLContentStore/EOQualifier+GCS.m +M SOPE/GDLContentStore/GCSFolder.m + +commit 19e542396bc32debab6f53b229166c57d05e4599 +Author: Ludovic Marcotte +Date: Thu Jul 18 10:25:39 2013 -0400 + + Applied patch from bug #2360 + +M UI/MailPartViewers/GNUmakefile +M UI/MailPartViewers/GNUmakefile.preamble +M UI/MailerUI/GNUmakefile + +commit 249a1fcf14f80e1f7a612ae9faa710488e716140 +Author: Francis Lachapelle +Date: Wed Jul 17 14:57:07 2013 -0400 + + Bubble box of event should not overlap event cell + +M NEWS +M UI/WebServerResources/SchedulerUI.js + +commit 7dad5ad84ed5a59409ce7f0083e750ac079beb16 +Author: Ludovic Marcotte +Date: Tue Jul 16 15:20:26 2013 -0400 + + Updated for v2.0.7 + +M NEWS + +commit 16105d37b83a2632e5389407b783ef062939f9c6 +Author: Ludovic Marcotte +Date: Tue Jul 16 15:18:04 2013 -0400 + + Properly handle RFC2231 everywhere + +M SoObjects/Mailer/GNUmakefile +A SoObjects/Mailer/NSDictionary+Mail.h +A SoObjects/Mailer/NSDictionary+Mail.m +M SoObjects/Mailer/SOGoMailBodyPart.m +M SoObjects/Mailer/SOGoMailObject+Draft.m +M UI/MailPartViewers/UIxMailPartViewer.m + +commit e08ebd2390ad81bcf7d63c200de85eddbf80bcd6 +Author: Ludovic Marcotte +Date: Tue Jul 16 11:31:08 2013 -0400 + + Fix for bugs #2368 and #2369 + +M SoObjects/Appointments/SOGoAptMailNotification.m +M UI/MailPartViewers/UIxMailPartICalViewer.m +M UI/MailerUI/UIxMailListActions.m +M UI/Templates/Appointments/SOGoAptMailInvitation.wox +M UI/WebServerResources/SchedulerUI.js + +commit 03553980fd2abb2da397c0810fd8f6d70ba26d65 +Author: Francis Lachapelle +Date: Thu Jul 11 13:55:03 2013 -0400 + + Update NEWS file and add missing image + +M NEWS +A UI/WebServerResources/collapse.png + +commit 33fd60efb335b180938492eddb75ab59591d4153 +Author: Francis Lachapelle +Date: Thu Jul 11 13:50:44 2013 -0400 + + Calendar: print gridlines to 15-minute intervals + +M UI/Templates/SchedulerUI/UIxCalDayTable.wox +M UI/WebServerResources/SchedulerUI.css +M UI/WebServerResources/SchedulerUIDnD.js + +commit b8e2255a071dcb2fd2172a73e95d38600d41c1bf +Author: Francis Lachapelle +Date: Thu Jul 11 13:46:38 2013 -0400 + + Set the events/tasks list collapsable + +M UI/Scheduler/UIxCalMainView.m +M UI/Scheduler/UIxCalView.m +M UI/Scheduler/product.plist +M UI/Templates/SchedulerUI/UIxCalDayView.wox +M UI/Templates/SchedulerUI/UIxCalMainView.wox +M UI/Templates/SchedulerUI/UIxCalMonthView.wox +M UI/Templates/SchedulerUI/UIxCalWeekView.wox +M UI/WebServerResources/SOGoTabsController.js +M UI/WebServerResources/SchedulerUI.css +M UI/WebServerResources/SchedulerUI.js + +commit e687dbf155963e1931fd2f7ac58bd2f4cf862dca +Author: Ludovic Marcotte +Date: Thu Jul 4 13:11:02 2013 -0400 + + If the organizer's name is non-existent, use the email address + +M UI/Scheduler/UIxComponentEditor.m + +commit f42d52743df169d6bfdc58428e920dd6208a1879 +Author: Jean Raby +Date: Thu Jun 27 11:35:17 2013 -0400 + + bump version to 2.0.6b + +M Version + +commit 70cd64a626470e0c07ac0f8cb7119cab6e763bfa +Author: Jean Raby +Date: Thu Jun 27 11:34:06 2013 -0400 + + Update ChangeLog + +M ChangeLog + commit 4359b05da8ba291b9bbc00e330d65575a4dbb253 Author: Jean Raby Date: Thu Jun 27 11:33:44 2013 -0400