mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
Merge branch 'master' into PHRAS-2504-ginga-subtitle
This commit is contained in:
@@ -37,7 +37,7 @@ RUN echo "deb http://deb.debian.org/debian stretch main non-free" > /etc/apt/sou
|
|||||||
swftools \
|
swftools \
|
||||||
unoconv \
|
unoconv \
|
||||||
unzip \
|
unzip \
|
||||||
xpdf \
|
poppler-utils \
|
||||||
libreoffice-base-core \
|
libreoffice-base-core \
|
||||||
libreoffice-impress \
|
libreoffice-impress \
|
||||||
libreoffice-calc \
|
libreoffice-calc \
|
||||||
|
@@ -11,13 +11,10 @@
|
|||||||
|
|
||||||
namespace Alchemy\Phrasea\SearchEngine\Elastic;
|
namespace Alchemy\Phrasea\SearchEngine\Elastic;
|
||||||
|
|
||||||
use Alchemy\Phrasea\SearchEngine\Elastic\Exception\MergeException;
|
|
||||||
use Alchemy\Phrasea\SearchEngine\Elastic\Mapping;
|
|
||||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Field;
|
|
||||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Flag;
|
|
||||||
use appbox;
|
use appbox;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use igorw;
|
use Exception;
|
||||||
|
|
||||||
|
|
||||||
class RecordHelper
|
class RecordHelper
|
||||||
{
|
{
|
||||||
@@ -100,31 +97,31 @@ class RecordHelper
|
|||||||
$a = explode(';', preg_replace('/\D+/', ';', trim($value)));
|
$a = explode(';', preg_replace('/\D+/', ';', trim($value)));
|
||||||
switch (count($a)) {
|
switch (count($a)) {
|
||||||
case 1: // yyyy
|
case 1: // yyyy
|
||||||
$date = new \DateTime($a[0] . '-01-01'); // will throw if date is not valid
|
$date = new DateTime($a[0] . '-01-01'); // will throw if date is not valid
|
||||||
$v_fix = $date->format('Y');
|
$v_fix = $date->format('Y');
|
||||||
break;
|
break;
|
||||||
case 2: // yyyy;mm
|
case 2: // yyyy;mm
|
||||||
$date = new \DateTime( $a[0] . '-' . $a[1] . '-01');
|
$date = new DateTime( $a[0] . '-' . $a[1] . '-01');
|
||||||
$v_fix = $date->format('Y-m');
|
$v_fix = $date->format('Y-m');
|
||||||
break;
|
break;
|
||||||
case 3: // yyyy;mm;dd
|
case 3: // yyyy;mm;dd
|
||||||
$date = new \DateTime($a[0] . '-' . $a[1] . '-' . $a[2]);
|
$date = new DateTime($a[0] . '-' . $a[1] . '-' . $a[2]);
|
||||||
$v_fix = $date->format('Y-m-d');
|
$v_fix = $date->format('Y-m-d');
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
$date = new \DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':00:00');
|
$date = new DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':00:00');
|
||||||
$v_fix = $date->format('Y-m-d H:i:s');
|
$v_fix = $date->format('Y-m-d H:i:s');
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
$date = new \DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':' . $a[4] . ':00');
|
$date = new DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':' . $a[4] . ':00');
|
||||||
$v_fix = $date->format('Y-m-d H:i:s');
|
$v_fix = $date->format('Y-m-d H:i:s');
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
$date = new \DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':' . $a[4] . ':' . $a[5]);
|
$date = new DateTime($a[0] . '-' . $a[1] . '-' . $a[2] . ' ' . $a[3] . ':' . $a[4] . ':' . $a[5]);
|
||||||
$v_fix = $date->format('Y-m-d H:i:s');
|
$v_fix = $date->format('Y-m-d H:i:s');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
// no-op, v_fix = null
|
// no-op, v_fix = null
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,8 +148,16 @@ class RecordHelper
|
|||||||
return (bool) $value;
|
return (bool) $value;
|
||||||
|
|
||||||
case FieldMapping::TYPE_STRING:
|
case FieldMapping::TYPE_STRING:
|
||||||
$value = substr($value, 0, 32766); // for lucene limit, before a better solution
|
$value = str_replace("\0", '', $value); // no null char for lucene !
|
||||||
return str_replace("\0", '', $value);
|
if( strlen($value) > 32766) { // for lucene limit, before a better solution
|
||||||
|
for($l=32766; $l > 0; $l--) {
|
||||||
|
if(ord(substr($value, $l-1, 1)) < 128) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$value = substr($value, 0, $l);
|
||||||
|
}
|
||||||
|
return $value;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return $value;
|
return $value;
|
||||||
|
@@ -65,7 +65,7 @@
|
|||||||
"normalize-css": "^2.1.0",
|
"normalize-css": "^2.1.0",
|
||||||
"npm": "^6.0.0",
|
"npm": "^6.0.0",
|
||||||
"npm-modernizr": "^2.8.3",
|
"npm-modernizr": "^2.8.3",
|
||||||
"phraseanet-production-client": "0.34.254-d",
|
"phraseanet-production-client": "0.34.255-d",
|
||||||
"requirejs": "^2.3.5",
|
"requirejs": "^2.3.5",
|
||||||
"tinymce": "^4.0.28",
|
"tinymce": "^4.0.28",
|
||||||
"underscore": "^1.8.3",
|
"underscore": "^1.8.3",
|
||||||
|
@@ -7678,10 +7678,10 @@ phraseanet-common@^0.4.5-d:
|
|||||||
js-cookie "^2.1.0"
|
js-cookie "^2.1.0"
|
||||||
pym.js "^1.3.1"
|
pym.js "^1.3.1"
|
||||||
|
|
||||||
phraseanet-production-client@0.34.254-d:
|
phraseanet-production-client@0.34.255-d:
|
||||||
version "0.34.254-d"
|
version "0.34.255-d"
|
||||||
resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.254-d.tgz#52a798b8c1f9994cf677db6ad6aeb9909c811f80"
|
resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.255-d.tgz#40e9c97ebb5fd77dd117f2d766126a94437b63ff"
|
||||||
integrity sha512-EvTbTbDbdoWGfqZtqJGEl6xeE6vyk43IF5eVMCy7c6qkaYjTuyiTqvI8eMXSJ2gKvsEidaa6AsHigUL9lKuVcA==
|
integrity sha512-UQpkjhkKLPF63107y1nG+cd1wxUq2jAmbO58yrp3tJLsfQt1nGAkUfvZb9VEJ3/zbvKcjRmjnHHFDa08RcViww==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@mapbox/mapbox-gl-language" "^0.9.2"
|
"@mapbox/mapbox-gl-language" "^0.9.2"
|
||||||
"@turf/turf" "^5.1.6"
|
"@turf/turf" "^5.1.6"
|
||||||
|
Reference in New Issue
Block a user