diff --git a/apps/calendar/ajax/editcalendar.php b/apps/calendar/ajax/editcalendar.php
index 5f61cf501358bbbac4b69e4aa99aea735acbbc55..d23e528786842c6cf6ddd66d9233fac731786043 100644
--- a/apps/calendar/ajax/editcalendar.php
+++ b/apps/calendar/ajax/editcalendar.php
@@ -11,17 +11,8 @@ $l10n = new OC_L10N('calendar');
 if(!OC_USER::isLoggedIn()) {
 	die("<script type=\"text/javascript\">document.location = oc_webroot;</script>");
 }
-$calendarcolor_options = array(
-	'ff0000', // "Red"
-	'00ff00', // "Green"
-	'ffff00', // "Yellow"
-	'808000', // "Olive"
-	'ffa500', // "Orange"
-	'ff7f50', // "Coral"
-	'ee82ee', // "Violet"
-	'ecc255', // dark yellow
-);
 OC_JSON::checkAppEnabled('calendar');
+$calendarcolor_options = OC_Calendar_Calendar::getCalendarColorOptions();
 $calendar = OC_Calendar_Calendar::findCalendar($_GET['calendarid']);
 $tmpl = new OC_Template("calendar", "part.editcalendar");
 $tmpl->assign('new', false);
diff --git a/apps/calendar/ajax/newcalendar.php b/apps/calendar/ajax/newcalendar.php
index f00dd0fb86284821831859643de23917b94ed2c3..a7935c956729c29e85da7d18a85dbaae3df1bad4 100644
--- a/apps/calendar/ajax/newcalendar.php
+++ b/apps/calendar/ajax/newcalendar.php
@@ -12,6 +12,7 @@ if(!OC_USER::isLoggedIn()) {
 	die("<script type=\"text/javascript\">document.location = oc_webroot;</script>");
 }
 OC_JSON::checkAppEnabled('calendar');
+$calendarcolor_options = OC_Calendar_Calendar::getCalendarColorOptions();
 $calendar = array(
 	'id' => 'new',
 	'displayname' => '',
@@ -19,6 +20,7 @@ $calendar = array(
 );
 $tmpl = new OC_Template('calendar', 'part.editcalendar');
 $tmpl->assign('new', true);
+$tmpl->assign('calendarcolor_options', $calendarcolor_options);
 $tmpl->assign('calendar', $calendar);
 $tmpl->printPage();
 ?>
diff --git a/apps/calendar/export.php b/apps/calendar/export.php
index b3e5ecd6834f60bc813f4042d95431f625bcb0f9..3e93a1ad618d4b10a3c26d3e42df6ff5529ce7b2 100644
--- a/apps/calendar/export.php
+++ b/apps/calendar/export.php
@@ -9,8 +9,8 @@
 require_once ("../../lib/base.php");
 OC_Util::checkLoggedIn();
 OC_Util::checkAppEnabled('calendar');
-$cal = $_GET["calid"];
-$event = $_GET["eventid"];
+$cal = isset($_GET["calid"]) ? $_GET["calid"] : NULL;
+$event = isset($_GET["eventid"]) ? $_GET["eventid"] : NULL;
 if(isset($cal)){
 	$calendar = OC_Calendar_Calendar::findCalendar($cal);
 	if($calendar["userid"] != OC_User::getUser()){
diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js
index 512946ad1beb0651e07e1fea776e217b30fe594a..2917d9f9134b34378d6331b81fa9fcfbe956b19c 100644
--- a/apps/calendar/js/calendar.js
+++ b/apps/calendar/js/calendar.js
@@ -112,7 +112,7 @@ Calendar={
 		formatTime:function(date){
 			return date[3] + ':' + date[4];
 		},
-		updateView:function(task) {
+		updateView:function() {
 			this.current.removeEvents();
 			this.current.renderCal();
 			this.current.showEvents();
@@ -516,7 +516,8 @@ Calendar={
 			},
 			newCalendar:function(object){
 				var tr = $(document.createElement('tr'))
-					.load(OC.filePath('calendar', 'ajax', 'newcalendar.php'));
+					.load(OC.filePath('calendar', 'ajax', 'newcalendar.php'),
+						function(){Calendar.UI.Calendar.colorPicker(this)});
 				$(object).closest('tr').after(tr).hide();
 			},
 			edit:function(object, calendarid){
diff --git a/apps/calendar/lib/calendar.php b/apps/calendar/lib/calendar.php
index 959cb14bf8f194ed3093f500777b69c73623d6d1..c19c0e73c08567394dfcc938c6baababc5cb51d0 100644
--- a/apps/calendar/lib/calendar.php
+++ b/apps/calendar/lib/calendar.php
@@ -228,4 +228,16 @@ class OC_Calendar_Calendar{
 		list($prefix,$userid) = Sabre_DAV_URLUtil::splitPath($principaluri);
 		return $userid;
 	}
+	public static function getCalendarColorOptions(){
+		return array(
+			'ff0000', // "Red"
+			'00ff00', // "Green"
+			'ffff00', // "Yellow"
+			'808000', // "Olive"
+			'ffa500', // "Orange"
+			'ff7f50', // "Coral"
+			'ee82ee', // "Violet"
+			'ecc255', // dark yellow
+		);
+	}
 }
diff --git a/apps/calendar/lib/connector_sabre.php b/apps/calendar/lib/connector_sabre.php
index 13a542fccad15c3192d3e1f4da45228c114cec0f..263fb7ffde555b0dfa79ba298ec0037edb1f7eb4 100644
--- a/apps/calendar/lib/connector_sabre.php
+++ b/apps/calendar/lib/connector_sabre.php
@@ -10,7 +10,6 @@ class OC_Connector_Sabre_CalDAV extends Sabre_CalDAV_Backend_Abstract {
 	 */
 	public $propertyMap = array(
 		'{DAV:}displayname'						  => 'displayname',
-		'{urn:ietf:params:xml:ns:caldav}calendar-description' => 'description',
 		'{urn:ietf:params:xml:ns:caldav}calendar-timezone'	=> 'timezone',
 		'{http://apple.com/ns/ical/}calendar-order'  => 'calendarorder',
 		'{http://apple.com/ns/ical/}calendar-color'  => 'calendarcolor',
diff --git a/apps/files_imageviewer/css/lightbox.css b/apps/files_imageviewer/css/lightbox.css
index a6e844a2e28b58e08051c6f19c1fd6abcccb9df8..d96dd051b1e4cac4e16334410ef55088cc79fb4f 100644
--- a/apps/files_imageviewer/css/lightbox.css
+++ b/apps/files_imageviewer/css/lightbox.css
@@ -20,4 +20,13 @@
 	margin-left:auto;
 	margin-right:auto;
 	z-index:9999;
-}
\ No newline at end of file
+}
+
+#lightbox_loader{
+  text-align:center;
+  position:fixed;
+  top: 40%;
+  left: 50%;
+  color:white;
+}
+#lightbox_loader img { margin-right: 1em;}
\ No newline at end of file
diff --git a/apps/files_imageviewer/js/lightbox.js b/apps/files_imageviewer/js/lightbox.js
index 847954d2f15bc7ca9dd2328a9d0733141d488af3..4f079b6d8aff59d5e7997f1dccfac83c4b8bad1c 100644
--- a/apps/files_imageviewer/js/lightbox.js
+++ b/apps/files_imageviewer/js/lightbox.js
@@ -2,11 +2,17 @@
 var lightBoxShown=false;
 $(document).ready(function() {
 	images={};//image cache
-	var overlay=$('<div id="lightbox_overlay"/>');
+	loading_str = t('files_imageviewer','Loading');
+	var overlay=$('<div id="lightbox_overlay"><div id="lightbox_loader"><img /></div></div>');
+	overlay.find('#lightbox_loader img')
+		.attr('src',OC.imagePath('core', 'loading-dark.gif'))
+		.attr('alt',loading_str)
+		.after(loading_str);
 	$( 'body' ).append(overlay);
 	var container=$('<div id="lightbox"/>');
 	$( 'body' ).append(container);
-	$( 'body' ).click(hideLightbox);
+	$( '#lightbox_overlay' ).click(hideLightbox);
+	$( '#lightbox' ).click(hideLightbox);
 	if(typeof FileActions!=='undefined'){
 		FileActions.register('image','View','',function(filename){
 			viewImage($('#dir').val(),filename);
@@ -35,7 +41,8 @@ function viewImage(dir,file){
 		var img = new Image();
 		img.onload = function(){
 			images[location]=img;
-			showLightbox(container,img);
+			if($('#lightbox_overlay').is(':visible'))
+				showLightbox(container,img);
 		}
 		img.src = location;
 	}else{
@@ -67,10 +74,10 @@ function showLightbox(container,img){
 }
 
 function hideLightbox(event){
-	if(lightBoxShown){
+	if(event){
 		event.stopPropagation();
 		$('#lightbox_overlay').hide();
 		$('#lightbox').hide();
 		lightBoxShown=false;
 	}
-}
+}
\ No newline at end of file
diff --git a/core/css/styles.css b/core/css/styles.css
index 46b340be961a042bdab5f506b01c5e3ef9cc4f2f..539ae580aa0f1d05fb3408708b0fca54f1c08660 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -122,3 +122,4 @@ div.jp-play-bar, div.jp-seek-bar { padding:0; }
 .pager li { display:inline-block; }
 
 li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow: hidden; text-overflow: ellipsis; }
\ No newline at end of file
diff --git a/core/img/loading-dark.gif b/core/img/loading-dark.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5fe86acabc41f3cd97b09eb626e5e9020d5ea28e
Binary files /dev/null and b/core/img/loading-dark.gif differ
diff --git a/core/templates/installation.php b/core/templates/installation.php
index 70a545d66cf0f7f0b525c43dcdfb9c49c8799764..f1cde6b39048102ebb323ea52bec93b640966208 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -37,7 +37,7 @@
 	</fieldset>
 
 	<fieldset id='databaseField'>
-		<?php if($_['hasMySQL'] or $_['hasPostgreSQL']) $hasOtherDB = true; //other than SQLite ?>
+		<?php if($_['hasMySQL'] or $_['hasPostgreSQL']) $hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?>
 		<legend><?php echo $l->t( 'Configure the database' ); ?></legend>
 		<div id="selectDbType">
 		<?php if($_['hasSQLite']): ?>
diff --git a/index.php b/index.php
index 4e1f5bcc8d6d9eb7f5458faf7e036aea255993eb..924e7394f7b451d5553f6837928b479e3890ac4c 100644
--- a/index.php
+++ b/index.php
@@ -100,6 +100,14 @@ else {
 			$error = true;
 		}
 	}
-
+		// The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP
+		elseif(isset($_SERVER["PHP_AUTH_USER"]) && isset($_SERVER["PHP_AUTH_PW"])){
+			if (OC_User::login($_SERVER["PHP_AUTH_USER"],$_SERVER["PHP_AUTH_PW"]))	{
+				OC_User::unsetMagicInCookie();
+				OC_Util::redirectToDefaultPage();
+			}else{
+				$error = true;
+			}
+		}
 	OC_Template::printGuestPage('', 'login', array('error' => $error, 'redirect' => isset($_REQUEST['redirect_url'])?$_REQUEST['redirect_url']:'' ));
 }
diff --git a/settings/languageCodes.php b/settings/languageCodes.php
index 3e2cea50accf790518b1863a808920c84ddf1f23..81177e0a25845f13f8f622f9f48d9885c6bfd4ac 100644
--- a/settings/languageCodes.php
+++ b/settings/languageCodes.php
@@ -21,7 +21,7 @@ return array(
 'ms_MY'=>'Bahasa Melayu',
 'nb_NO'=>'Norwegian Bokmål',
 'nl'=>'Nederlands',
-'pl'=>'język polski',
+'pl'=>'Polski',
 'pt_BR'=>'Português brasileiro',
 'pt_PT'=>'Português',
 'ro'=>'română',