diff --git a/htdocs/index.php b/htdocs/index.php
index 6b07cb13ab6c3bf59d39fd0cb2f7fe612806dc4b..962209d55b689fb2353878b5e80cda1ce81b3486 100644
--- a/htdocs/index.php
+++ b/htdocs/index.php
@@ -118,6 +118,8 @@ print "</table>\n";
  */
 $langs->load("commercial");
 $langs->load("bills");
+$langs->load("orders");
+
 if ($user->societe_id == 0)
 {
 	print '<br>';
@@ -260,7 +262,7 @@ print '</td><td width="65%" valign="top" class="notopnoleftnoright">';
 /*
  * Dolibarr Working Board with weather
  */
-$showweather=1;
+$showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0;
 $rowspan=0;
 $dashboardlines=array();
 
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index d6b97d0a079a47306c19b3bbb0ca85b77d9af2e1..2e2cafbc6c7639dbf1e2c363de511ff793df4c47 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -349,7 +349,7 @@ if (! defined('NOLOGIN'))
 		// If error, we will put error message in session under the name dol_loginmesg
 		$goontestloop=false;
 		if (isset($_SERVER["REMOTE_USER"]) && in_array('http',$authmode)) $goontestloop=true;
-		if (isset($_POST["username"])) $goontestloop=true;
+		if (isset($_POST["username"]) || GETPOST('openid_mode','alpha',1)) $goontestloop=true;
 
 		if ($test && $goontestloop)
 		{
diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php
index a1dc00185d159b61f8265971e7062a6ee973f5d1..48020bacf477e3828581bf73534593a9c3014018 100644
--- a/htdocs/viewimage.php
+++ b/htdocs/viewimage.php
@@ -280,8 +280,8 @@ if ($modulepart)
     // GENERIC Wrapping
 	// If modulepart=module_user_temp	Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart/temp/iduser
 	// If modulepart=module_temp		Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart/temp
-	// If modulepart=module				Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart/iduser
-	// If modulepart=module_user		Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart
+	// If modulepart=module_user		Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart/iduser
+	// If modulepart=module				Allows any module to open a file if file is in directory called DOL_DATA_ROOT/modulepart
 	else
 	{
 		if (preg_match('/^([a-z]+)_user_temp$/i',$modulepart,$reg))
@@ -301,8 +301,18 @@ if ($modulepart)
     	}
     	else
 		{
-			if ($user->rights->$reg[1]->lire || $user->rights->$reg[1]->read) $accessallowed=1;
-			$original_file=$conf->$modulepart->dir_output.'/'.$original_file;
+			$perm=GETPOST('perm');
+			$subperm=GETPOST('subperm');
+			if ($perm || $subperm)
+			{
+				if (($perm && $user->rights->$modulepart->$perm) || ($perm && $subperm && $user->rights->$modulepart->$perm->$subperm)) $accessallowed=1;
+				$original_file=$conf->$modulepart->dir_output.'/'.$original_file;
+			}
+			else
+			{
+				if ($user->rights->$modulepart->lire || $user->rights->$modulepart->read) $accessallowed=1;
+				$original_file=$conf->$modulepart->dir_output.'/'.$original_file;
+			}
 		}
 	}
 }