Index: /extensions/autoupdate/trunk/include/autoupdate.class.php
===================================================================
--- /extensions/autoupdate/trunk/include/autoupdate.class.php	(revision 10027)
+++ /extensions/autoupdate/trunk/include/autoupdate.class.php	(revision 10028)
@@ -9,8 +9,14 @@
   var $themes;
   var $languages;
+  var $missing = array();
+  var $default_plugins = array();
+  var $default_themes = array();
+  var $default_languages = array();
 
   function autoupdate()
   {
     $this->types = array('plugins', 'themes', 'languages');
+    $this->default_themes = array('clear', 'dark', 'Sylvia');
+    $this->default_plugins = array('admin_multi_view', 'c13y_upgrade', 'language_switch', 'LocalFilesEditor');
 
     foreach ($this->types as $type)
@@ -34,5 +40,5 @@
   }
 
-  function get_server_extensions()
+  function get_server_extensions($version=PHPWG_VERSION)
   {
     global $user;
@@ -43,5 +49,4 @@
 
     // Retrieve PEM versions
-    $version = PHPWG_VERSION;
     $versions_to_check = array();
     $url = PEM_URL . '/api/get_version_list.php';
@@ -108,6 +113,8 @@
           $server = 'server_'.$ext_to_check[$ext['extension_id']];
           $this->$ext_to_check[$ext['extension_id']]->$server += array($ext['extension_id'] => $ext);
-        }
-      }
+          unset($ext_to_check[$ext['extension_id']]);
+        }
+      }
+      $this->check_missing_extensions($ext_to_check);
       return true;
     }
@@ -183,4 +190,21 @@
   }
 
+  function check_missing_extensions($missing)
+  {
+    foreach ($missing as $id => $type)
+    {
+      $fs = 'fs_'.$type;
+      $default = 'default_'.$type;
+      foreach ($this->$type->$fs as $ext_id => $ext)
+      {
+        if (isset($ext['extension']) and $id == $ext['extension'] and !in_array($ext_id, $this->$default))
+        {
+          $this->missing[$type][] = $ext;
+          break;
+        }
+      }
+    }
+  }
+
   function version_compare($a, $b, $type)
   {
Index: /extensions/autoupdate/trunk/language/ar_SA/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/ar_SA/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/ar_SA/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/cs_CZ/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/cs_CZ/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/cs_CZ/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Všechny moduly a rozšíření jsou nyní aktuální.';
 $lang['Update in progress...'] = 'Probíhá aktualizace...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/da_DK/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/da_DK/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/da_DK/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/de_DE/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/de_DE/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/de_DE/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Alle Erweiterungen sind auf dem neuesten Stand.';
 $lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/en_UK/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/en_UK/plugin.lang.php	(revision 10028)
@@ -48,3 +48,7 @@
 $lang['All extensions are up to date.'] = 'All extensions are up to date.';
 $lang['Update in progress...'] = 'Update in progress...';
+
+$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/es_ES/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/es_ES/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Todas las extensiones estan actualizadas.';
 $lang['Update in progress...'] = 'Actualización en curso...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/fr_FR/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/fr_FR/plugin.lang.php	(revision 10028)
@@ -48,3 +48,7 @@
 $lang['All extensions are up to date.'] = 'Toutes les extensions sont à jour.';
 $lang['Update in progress...'] = 'Mise à jour en cours...';
+
+$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Les plugins suivants ne seront peut-être pas compatibles avec la nouvelle version de Piwigo:';
+$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Les thèmes suivants ne seront peut-être pas compatibles avec la nouvelle version de Piwigo:';
+$lang['I decide to upgrade anyway'] = 'Je décide de migrer quand même';
 ?>
Index: /extensions/autoupdate/trunk/language/hr_HR/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/hr_HR/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/hr_HR/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/hu_HU/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/hu_HU/plugin.lang.php	(revision 10028)
@@ -49,3 +49,6 @@
 $lang['All extensions are up to date.'] = 'Az összes bővítmény naprakész.';
 $lang['Update in progress...'] = 'Frissítés folyamatban...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/it_IT/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/it_IT/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Tutte le estensioni sono aggiornati.';
 $lang['Update in progress...'] = 'Aggiornamento in corso ...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/ja_JP/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/ja_JP/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/ja_JP/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/ka_GE/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/ka_GE/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/ka_GE/plugin.lang.php	(revision 10028)
@@ -49,3 +49,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/lv_LV/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/lv_LV/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/lv_LV/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Visi paplašinājumi jau ir atjaunināti.';
 $lang['Update in progress...'] = 'Notiek jaunināšana...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/nl_NL/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/nl_NL/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/nl_NL/plugin.lang.php	(revision 10028)
@@ -49,3 +49,6 @@
 $lang['Update in progress...'] = 'Bezig met update...';
 
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/no_NO/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/no_NO/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/no_NO/plugin.lang.php	(revision 10028)
@@ -47,3 +47,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/pl_PL/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/pl_PL/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/pl_PL/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Wszystkie rozszerzenia są aktualne.';
 $lang['Update in progress...'] = 'Trwa aktualizacja...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/pt_PT/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/pt_PT/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/pt_PT/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/ru_RU/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/ru_RU/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/ru_RU/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Все плагины соответствуют последней версии.';
 $lang['Update in progress...'] = 'Идет обновление...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/sk_SK/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/sk_SK/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/sk_SK/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 $lang['All extensions are up to date.'] = 'Všetky doplnky sú aktuálne.';
 $lang['Update in progress...'] = 'Prebieha aktualizácia...'; 
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/vi_VN/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/vi_VN/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/vi_VN/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/language/zh_CN/plugin.lang.php
===================================================================
--- /extensions/autoupdate/trunk/language/zh_CN/plugin.lang.php	(revision 10027)
+++ /extensions/autoupdate/trunk/language/zh_CN/plugin.lang.php	(revision 10028)
@@ -48,3 +48,6 @@
 /*TODO*/$lang['All extensions are up to date.'] = 'All extensions are up to date.';
 /*TODO*/$lang['Update in progress...'] = 'Update in progress...';
+/*TODO*/$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Following plugins may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Following themes may not be compatible with the new version of Piwigo:';
+/*TODO*/$lang['I decide to upgrade anyway'] = 'I decide to upgrade anyway';
 ?>
Index: /extensions/autoupdate/trunk/template/update_pwg.tpl
===================================================================
--- /extensions/autoupdate/trunk/template/update_pwg.tpl	(revision 10027)
+++ /extensions/autoupdate/trunk/template/update_pwg.tpl	(revision 10028)
@@ -7,4 +7,7 @@
     jQuery('.autoupdate_bar').show();
 	});
+  jQuery('[name="understand"]').click(function() {ldelim}
+    jQuery('[name="submit"]').attr('disabled', !this.checked);
+  });
 });
 {/footer_script}
@@ -79,5 +82,18 @@
 <fieldset>
   <legend>{'autoupdate_step_'|cat:$i|@translate}</legend>
-  <p><input type="submit" name="submit" value="{'Upgrade to Piwigo %s'|@translate|@sprintf:$UPGRADE_TO}"></p>
+  {if !empty($missing.plugins)}
+  <p><i>{'Following plugins may not be compatible with the new version of Piwigo:'|@translate}</i></p>
+  <p><ul>{foreach from=$missing.plugins item=plugin}<li><a href="{$plugin.uri}" class="externalLink">{$plugin.name}</a></li>{/foreach}</ul><br></p>
+  {/if}
+  {if !empty($missing.themes)}
+  <p><i>{'Following themes may not be compatible with the new version of Piwigo:'|@translate}</i></p>
+  <p><ul>{foreach from=$missing.themes item=theme}<li><a href="{$theme.uri}" class="externalLink">{$theme.name}</a></li>{/foreach}</ul><br></p>
+  {/if}
+  <p>
+  {if !empty($missing.plugins) or !empty($missing.themes)}
+  <p><label><input type="checkbox" name="understand"> &nbsp;{'I decide to upgrade anyway'|@translate}</label></p>
+  {/if}
+  <p><input type="submit" name="submit" value="{'Upgrade to Piwigo %s'|@translate|@sprintf:$UPGRADE_TO}" {if !empty($missing.plugins) or !empty($missing.themes)}disabled="disabled"{/if}>
+  </p>
   <p class="autoupdate_bar" style="display:none;">&nbsp; {'Update in progress...'|@translate}<br><img src="plugins/autoupdate/template/ajax-loader-bar.gif"></p>
 </fieldset>
Index: /extensions/autoupdate/trunk/update_pwg.inc.php
===================================================================
--- /extensions/autoupdate/trunk/update_pwg.inc.php	(revision 10027)
+++ /extensions/autoupdate/trunk/update_pwg.inc.php	(revision 10028)
@@ -115,4 +115,9 @@
     autoupdate_upgrade_to($_POST['upgrade_to'], $step);
   }
+
+  include_once(AUTOUPDATE_PATH.'include/autoupdate.class.php');
+  $autoupdate = new autoupdate();
+  $autoupdate->get_server_extensions($upgrade_to);
+  $template->assign('missing', $autoupdate->missing);
 }
 
