From fc3c81f350c1551f729543eced6200250023dbdf Mon Sep 17 00:00:00 2001 From: Mathieu Darse Date: Thu, 12 Mar 2015 16:41:25 +0100 Subject: [PATCH] Handle case when cterms XML doesn't exist yet --- .../SearchEngine/Elastic/Thesaurus/Helper.php | 14 +++++++++++++- lib/classes/databox.php | 4 ---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Thesaurus/Helper.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Thesaurus/Helper.php index 21e0a4c39d..216a9faba7 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Thesaurus/Helper.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Thesaurus/Helper.php @@ -41,7 +41,19 @@ class Helper public static function candidatesFromDatabox(databox $databox) { - return self::document($databox->get_dom_cterms()); + $document = $databox->get_dom_cterms(); + if (!$document) { + $document = new DOMDocument('1.0', 'UTF-8'); + $document->xmlStandalone = true; + $document->formatOutput = true; + $element = $document->createElement('cterms'); + $element->setAttribute('creation_date', date('YmdHis')); + $element->setAttribute('next_id', 0); + $element->setAttribute('version', '2.0.5'); + $document->appendChild($element); + } + + return $document; } private static function document($document) diff --git a/lib/classes/databox.php b/lib/classes/databox.php index 27afd31626..0a366e6d99 100644 --- a/lib/classes/databox.php +++ b/lib/classes/databox.php @@ -887,10 +887,6 @@ class databox extends base public function saveCterms(DOMDocument $dom_cterms) { - if (null === $dom_cterms->documentElement) { - $cterms = $dom_cterms->createElement('cterms'); - $dom_cterms->appendChild($cterms); - } $dom_cterms->documentElement->setAttribute("modification_date", $now = date("YmdHis")); $sql = "UPDATE pref SET value = :xml, updated_on = :date