From fbfed4d751d99cff8d1338d9debf36ab6bcb6ad0 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Fri, 24 Aug 2012 14:27:54 +0200 Subject: [PATCH] [SearchEngine] Fix BorderManager signature --- lib/Alchemy/Phrasea/Command/RecordAdd.php | 1 + .../Phrasea/Controller/Prod/Lazaret.php | 2 + .../Phrasea/Controller/Prod/Upload.php | 1 + lib/classes/caption/Field/Value.class.php | 79 ------------------- lib/classes/record/adapter.class.php | 17 ---- 5 files changed, 4 insertions(+), 96 deletions(-) diff --git a/lib/Alchemy/Phrasea/Command/RecordAdd.php b/lib/Alchemy/Phrasea/Command/RecordAdd.php index 604f488c4f..cbbb492298 100644 --- a/lib/Alchemy/Phrasea/Command/RecordAdd.php +++ b/lib/Alchemy/Phrasea/Command/RecordAdd.php @@ -118,6 +118,7 @@ class RecordAdd extends Command "Record id %d on collection `%s` (databox `%s`) has been created", $elementCreated->get_record_id(), $elementCreated->get_collection()->get_name(), $elementCreated->get_databox()->get_viewname() ) ); + $this->container['phraseanet.SE']->addRecord($elementCreated); } elseif ($elementCreated instanceof LazaretFile) { $output->writeln( sprintf("Quarantine item id %d has been created", $elementCreated->getId()) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Lazaret.php b/lib/Alchemy/Phrasea/Controller/Prod/Lazaret.php index 8dd46b78db..1ebbfbd328 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Lazaret.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Lazaret.php @@ -283,6 +283,8 @@ class Lazaret implements ControllerProviderInterface $lazaretFile->getSession(), $borderFile, $callBack, Border\Manager::FORCE_RECORD ); + $app['phraseanet.SE']->addRecord($record); + if ($keepAttributes) { //add attribute diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Upload.php b/lib/Alchemy/Phrasea/Controller/Prod/Upload.php index f6eef27ae5..8ff85a1339 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Upload.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Upload.php @@ -249,6 +249,7 @@ class Upload implements ControllerProviderInterface $id = $elementCreated->get_serialize_key(); $element = 'record'; $message = _('The record was successfully created'); + $app['phraseanet.SE']->addRecord($elementCreated); } else { $params = array('lazaret_file' => $elementCreated); diff --git a/lib/classes/caption/Field/Value.class.php b/lib/classes/caption/Field/Value.class.php index 729bec2f2d..842e8360b1 100644 --- a/lib/classes/caption/Field/Value.class.php +++ b/lib/classes/caption/Field/Value.class.php @@ -193,21 +193,6 @@ class caption_Field_Value implements cache_cacheableInterface $sbas_id = $this->record->get_sbas_id(); $this->record->get_caption()->delete_data_from_cache(); - try { - $sphinx_rt = sphinxrt::get_instance($this->app['phraseanet.registry']); - - $sbas_params = phrasea::sbas_params($this->app); - - if (isset($sbas_params[$sbas_id])) { - $params = $sbas_params[$sbas_id]; - $sbas_crc = crc32(str_replace(array('.', '%'), '_', sprintf('%s_%s_%s_%s', $params['host'], $params['port'], $params['user'], $params['dbname']))); - $sphinx_rt->delete(array("metadatas" . $sbas_crc, "metadatas" . $sbas_crc . "_stemmed_fr", "metadatas" . $sbas_crc . "_stemmed_en"), "metas_realtime" . $sbas_crc, $this->id); - $sphinx_rt->delete(array("documents" . $sbas_crc, "documents" . $sbas_crc . "_stemmed_fr", "documents" . $sbas_crc . "_stemmed_en"), "docs_realtime" . $sbas_crc, $this->record->get_record_id()); - } - } catch (Exception $e) { - unset($e); - } - return $this; } @@ -276,21 +261,6 @@ class caption_Field_Value implements cache_cacheableInterface $this->delete_data_from_cache(); - try { - $sphinx_rt = sphinxrt::get_instance($this->app['phraseanet.registry']); - - $sbas_params = phrasea::sbas_params($this->app); - - if (isset($sbas_params[$sbas_id])) { - $params = $sbas_params[$sbas_id]; - $sbas_crc = crc32(str_replace(array('.', '%'), '_', sprintf('%s_%s_%s_%s', $params['host'], $params['port'], $params['user'], $params['dbname']))); - $sphinx_rt->delete(array("metadatas" . $sbas_crc, "metadatas" . $sbas_crc . "_stemmed_fr", "metadatas" . $sbas_crc . "_stemmed_en"), "", $this->id); - $sphinx_rt->delete(array("documents" . $sbas_crc, "documents" . $sbas_crc . "_stemmed_fr", "documents" . $sbas_crc . "_stemmed_en"), "", $this->record->get_record_id()); - } - } catch (Exception $e) { - - } - $this->update_cache_value($value); return $this; @@ -304,55 +274,6 @@ class caption_Field_Value implements cache_cacheableInterface public function update_cache_value($value) { $this->record->get_caption()->delete_data_from_cache(); - $sbas_id = $this->databox_field->get_databox()->get_sbas_id(); - try { - $sbas_params = phrasea::sbas_params($this->app); - - if (isset($sbas_params[$sbas_id])) { - $params = $sbas_params[$sbas_id]; - $sbas_crc = crc32( - str_replace( - array('.', '%') - , '_' - , sprintf('%s_%s_%s_%s', $params['host'], $params['port'], $params['user'], $params['dbname']) - ) - ); - - $sphinx_rt = sphinxrt::get_instance($this->app['phraseanet.registry']); - $sphinx_rt->replace_in_metas( - "metas_realtime" . $sbas_crc - , $this->id - , $this->databox_field->get_id() - , $this->record->get_record_id() - , $sbas_id - , phrasea::collFromBas($this->app, $this->record->get_base_id()) - , ($this->record->is_grouping() ? '1' : '0') - , $this->record->get_type() - , $value - , ($this->databox_field->isBusiness() ? '1' : '0') - , $this->record->get_creation_date() - ); - - $all_datas = array(); - - foreach ($this->record->get_caption()->get_fields(null, true) as $field) { - if ( ! $field->is_indexable()) { - continue; - } - - $all_datas[] = $field->get_serialized_values(); - } - - $all_datas = implode(' ', $all_datas); - - $sphinx_rt->replace_in_documents( - "docs_realtime" . $sbas_crc, //$this->id, - $this->record->get_record_id(), $all_datas, $sbas_id, phrasea::collFromBas($this->app, $this->record->get_base_id()), ($this->record->is_grouping() ? '1' : '0'), $this->record->get_type(), $this->record->get_creation_date() - ); - } - } catch (Exception $e) { - unset($e); - } return $this; } diff --git a/lib/classes/record/adapter.class.php b/lib/classes/record/adapter.class.php index 835321a409..b333e00fa3 100644 --- a/lib/classes/record/adapter.class.php +++ b/lib/classes/record/adapter.class.php @@ -1605,23 +1605,6 @@ class record_adapter implements record_Interface, cache_cacheableInterface $rs = $stmt->fetchAll(); $stmt->closeCursor(); - try { - $sphinx_rt = sphinxrt::get_instance($this->app['phraseanet.registry']); - - $sbas_params = phrasea::sbas_params($this->app); - - if (isset($sbas_params[$sbas_id])) { - $params = $sbas_params[$sbas_id]; - $sbas_crc = crc32(str_replace(array('.', '%'), '_', sprintf('%s_%s_%s_%s', $params['host'], $params['port'], $params['user'], $params['dbname']))); - foreach ($rs as $row) { - $sphinx_rt->delete(array("metadatas" . $sbas_crc, "metadatas" . $sbas_crc . "_stemmed_en", "metadatas" . $sbas_crc . "_stemmed_fr"), "metas_realtime" . $sbas_crc, $row['id']); - } - $sphinx_rt->delete(array("documents" . $sbas_crc, "documents" . $sbas_crc . "_stemmed_fr", "documents" . $sbas_crc . "_stemmed_en"), "docs_realtime" . $sbas_crc, $this->get_record_id()); - } - } catch (\Exception $e) { - unset($e); - } - $sql = "DELETE FROM metadatas WHERE record_id = :record_id"; $stmt = $connbas->prepare($sql); $stmt->execute(array(':record_id' => $this->get_record_id()));