diff --git a/lib/classes/module/console/systemUpgrade.class.php b/lib/classes/module/console/systemUpgrade.class.php
index 529d15c3c7..22d62f2a66 100644
--- a/lib/classes/module/console/systemUpgrade.class.php
+++ b/lib/classes/module/console/systemUpgrade.class.php
@@ -36,9 +36,44 @@ class module_console_systemUpgrade extends Command
public function execute(InputInterface $input, OutputInterface $output)
{
- if(!setup::is_installed())
+ if (!setup::is_installed())
{
- throw new RuntimeException('Phraseanet is not set up');
+
+ if (file_exists(dirname(__FILE__) . "/../../../../config/connexion.inc")
+ && !file_exists(dirname(__FILE__) . "/../../../../config/config.inc")
+ && file_exists(dirname(__FILE__) . "/../../../../config/_GV.php"))
+ {
+
+ $output->writeln('This version of Phraseanet requires a config/config.inc');
+ $output->writeln('Would you like it to be created based on your settings ?');
+
+ $dialog = $this->getHelperSet()->get('dialog');
+ do
+ {
+ $continue = mb_strtolower($dialog->ask($output, '' . _('Create automatically') . ' (Y/n)', 'y'));
+ }
+ while (!in_array($continue, array('y', 'n')));
+
+ if ($continue == 'y')
+ {
+ require __DIR__ . "/../../../../config/_GV.php";
+
+ $datas = 'write('Upgrading...', true);
$appbox = appbox::get_instance();
-
- if(count(User_Adapter::get_wrong_email_users($appbox)) > 0)
+
+ if (count(User_Adapter::get_wrong_email_users($appbox)) > 0)
{
return $output->writeln(sprintf('You have to fix your database before upgrade with the system:mailCheck command '));
}
-
+
$upgrader = new Setup_Upgrade($appbox);
$advices = $appbox->forceUpgrade($upgrader);
}
diff --git a/lib/classes/task/period/archive.class.php b/lib/classes/task/period/archive.class.php
index 6ac40734c7..4299bbebd1 100644
--- a/lib/classes/task/period/archive.class.php
+++ b/lib/classes/task/period/archive.class.php
@@ -1541,6 +1541,7 @@ class task_period_archive extends task_abstract
$record->set_metadatas($meta['metadatas']);
$record->set_binary_status(databox_status::operation_or($stat0, $stat1));
$record->rebuild_subdefs();
+ $record->reindex();
$rid = $record->get_record_id();
$this->log(sprintf((' (recordId %s)'), $rid));
$this->archivedFiles++;
@@ -1881,6 +1882,7 @@ class task_period_archive extends task_abstract
$record->set_metadatas($meta['metadatas']);
$record->set_binary_status(databox_status::operation_or(databox_status::operation_or($stat0, $stat1), databox_status::hex2bin($hexstat)));
$record->rebuild_subdefs();
+ $record->reindex();
$rid = $record->get_record_id();
if ($grp_rid !== NULL)
diff --git a/lib/vendor/symfony b/lib/vendor/symfony
index 6924e63587..4316595dbb 160000
--- a/lib/vendor/symfony
+++ b/lib/vendor/symfony
@@ -1 +1 @@
-Subproject commit 6924e63587466c865ca8dc746ff3fcf5cd1a1dcf
+Subproject commit 4316595dbb7be9dcf2156d090d52f23f11b1ea90
diff --git a/www/skins/icons/substitution/image_jpeg.png b/www/skins/icons/substitution/image_jpeg.png
index 7573f145ff..ade94258ad 100644
Binary files a/www/skins/icons/substitution/image_jpeg.png and b/www/skins/icons/substitution/image_jpeg.png differ