diff --git a/lib/classes/module/console/checkExtension.class.php b/lib/classes/module/console/checkExtension.class.php
index 4874c033aa..d113030d02 100644
--- a/lib/classes/module/console/checkExtension.class.php
+++ b/lib/classes/module/console/checkExtension.class.php
@@ -15,10 +15,12 @@
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
* @link www.phraseanet.com
*/
+
+use Alchemy\Phrasea\Command\Command;
+use Alchemy\Phrasea\SearchEngine\PhraseaEngineQueryParser;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-use Alchemy\Phrasea\Command\Command;
class module_console_checkExtension extends Command
{
@@ -147,7 +149,7 @@ class module_console_checkExtension extends Command
$tbases[$kbase]["searchcoll"] = $tcoll;
$tbases[$kbase]["mask_xor"] = $tbases[$kbase]["mask_and"] = 0;
- $qp = new searchEngine_adapter_phrasea_queryParser($this->container);
+ $qp = new PhraseaEngineQueryParser();
$treeq = $qp->parsequery($input->getOption('query'));
$arrayq = $qp->makequery($treeq);
diff --git a/lib/classes/module/console/fieldsMerge.class.php b/lib/classes/module/console/fieldsMerge.class.php
index c5c89d701c..0615cced06 100644
--- a/lib/classes/module/console/fieldsMerge.class.php
+++ b/lib/classes/module/console/fieldsMerge.class.php
@@ -201,6 +201,9 @@ class module_console_fieldsMerge extends Command
'value' => $data,
)), true);
}
+
+ $this->getService('phraseanet.SE')->updateRecord($record);
+
unset($record);
}
diff --git a/lib/classes/module/console/fileEnsureProductionSetting.class.php b/lib/classes/module/console/fileEnsureProductionSetting.class.php
index 6d4aca0fee..9fc09ebf16 100644
--- a/lib/classes/module/console/fileEnsureProductionSetting.class.php
+++ b/lib/classes/module/console/fileEnsureProductionSetting.class.php
@@ -38,6 +38,7 @@ class module_console_fileEnsureProductionSetting extends Command
, 'checkDatabaseScope'
, 'checkTeamplateEngineService'
, 'checkOrmService'
+ , 'checkSearchEngineService'
, 'checkCacheService'
, 'checkOpcodeCacheService'
, 'checkBorderService'
@@ -98,6 +99,9 @@ class module_console_fileEnsureProductionSetting extends Command
case 'checkOrmService' :
$display = "ORM";
break;
+ case 'checkSearchEngineService':
+ $display = 'Search Engine';
+ break;
case 'checkCacheService' :
$display = "Cache";
break;
@@ -510,6 +514,22 @@ class module_console_fileEnsureProductionSetting extends Command
return;
}
+ private function checkSearchEngineService(OutputInterface $output)
+ {
+ $SEName = $this->configuration->getSearchEngine();
+ $configuration = $this->configuration->getService($SEName);
+
+ try {
+ $service = Core\Service\Builder::create(\bootstrap::getCore(), $configuration);
+ $work_message = 'Works !';
+ } catch (\Exception $e) {
+ $work_message = sprintf('Failed : %s !', $e->getMessage());
+ $this->errors ++;
+ }
+
+ $output->writeln(sprintf("\t--> Verify ORM engine %s : %s", $SEName, $work_message));
+ }
+
private function checkOrmService(OutputInterface $output)
{
$ormName = $this->configuration->getOrm();
diff --git a/lib/classes/task/period/RecordMover.class.php b/lib/classes/task/period/RecordMover.class.php
index ea648008a1..ade3cdab59 100644
--- a/lib/classes/task/period/RecordMover.class.php
+++ b/lib/classes/task/period/RecordMover.class.php
@@ -509,6 +509,7 @@ class task_period_RecordMover extends task_appboxAbstract
if (array_key_exists('coll', $row)) {
$coll = collection::get_from_coll_id($this->dependencyContainer, $databox, $row['coll']);
$rec->move_to_collection($coll, $this->dependencyContainer['phraseanet.appbox']);
+ $this['phraseanet.SE']->updateRecord($rec);
if ($logsql) {
$this->log(sprintf("on sbas %s move rid %s to coll %s \n", $row['sbas_id'], $row['record_id'], $coll->get_coll_id()));
}
@@ -524,6 +525,7 @@ class task_period_RecordMover extends task_appboxAbstract
}
$status = implode('', $status);
$rec->set_binary_status($status);
+ $this['SearchEngine']->updateRecord($rec);
if ($logsql) {
$this->log(sprintf("on sbas %s set rid %s status to %s \n", $row['sbas_id'], $row['record_id'], $status));
}
@@ -534,12 +536,14 @@ class task_period_RecordMover extends task_appboxAbstract
if ($row['deletechildren'] && $rec->is_grouping()) {
foreach ($rec->get_children() as $child) {
$child->delete();
+ $this['SearchEngine']->removeRecord($child);
if ($logsql) {
$this->log(sprintf("on sbas %s delete (grp child) rid %s \n", $row['sbas_id'], $child->get_record_id()));
}
}
}
$rec->delete();
+ $this['SearchEngine']->removeRecord($rec);
if ($logsql) {
$this->log(sprintf("on sbas %s delete rid %s \n", $row['sbas_id'], $rec->get_record_id()));
}
diff --git a/lib/classes/task/period/archive.class.php b/lib/classes/task/period/archive.class.php
index d481d3dcb3..5b8f03238d 100644
--- a/lib/classes/task/period/archive.class.php
+++ b/lib/classes/task/period/archive.class.php
@@ -1632,7 +1632,8 @@ class task_period_archive extends task_abstract
$story->set_binary_status(databox_status::operation_or($this->dependencyContainer, $stat0, $stat1));
$story->rebuild_subdefs();
- $story->reindex();
+
+ $this['phraseanet.SE']->addStory($story);
$media = $databox = null;