Merge pull request #1294 from mdarse/candidates-empty

Handle case when cterms XML doesn't exist yet
This commit is contained in:
Nicolas Le Goff
2015-03-12 17:12:39 +01:00
2 changed files with 13 additions and 5 deletions

View File

@@ -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)

View File

@@ -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