mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 13:03:20 +00:00
PHRAS-1304_AUTO-COMPLETION_MASTER (#2061)
* PHRAS-1304_AUTO-COMPLETION_MASTER ported from 4.0 * PHRAS-1304_AUTO-COMPLETION_MASTER fix * PHRAS-1304_AUTO-COMPLETION_MASTER fix * PHRAS-1304_AUTO-COMPLETION_MASTER bump php version to 5.5.31 (5.5.21 is obsolete in cicleci) * PHRAS-1304_AUTO-COMPLETION_MASTER bump php version to 5.5.31 : php.ini moved in circelci * PHRAS-1304_AUTO-COMPLETION_MASTER add zmq & date to php for circleci * PHRAS-1304_AUTO-COMPLETION_MASTER add zmq * PHRAS-1304_AUTO-COMPLETION_MASTER bump amqp * PHRAS-1304_AUTO-COMPLETION_MASTER downgrade amqp to 1.2 to test compilation against old librabbit 0.4 (ubuntu) * PHRAS-1304_AUTO-COMPLETION_MASTER add amqp.so to php.ini, (re)bump amqp to 1.6 * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git again * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git again and again * PHRAS-1304_AUTO-COMPLETION_MASTER fix test on media rotation 600*400 -> 400*599 !!! * PHRAS-1304_AUTO-COMPLETION_MASTER restore facebook sdk to 4.0.1 due to mistake * PHRAS-1304_AUTO-COMPLETION_MASTER deleted unwanted file
This commit is contained in:
@@ -17,18 +17,26 @@ class databox_descriptionStructure implements IteratorAggregate, Countable
|
||||
*/
|
||||
protected $elements = [];
|
||||
|
||||
/** @var unicode */
|
||||
private $unicode;
|
||||
|
||||
const STRICT_COMPARE = 1;
|
||||
const SLUG_COMPARE = 2;
|
||||
|
||||
/**
|
||||
* Cache array for the get element by name function
|
||||
*
|
||||
* @var array<string,int>|null
|
||||
* @var int[]|null
|
||||
*/
|
||||
protected $cache_name_id;
|
||||
|
||||
/**
|
||||
* @param databox_field[] $fields
|
||||
* @param unicode $unicode
|
||||
*/
|
||||
public function __construct($fields = [])
|
||||
public function __construct($fields, unicode $unicode)
|
||||
{
|
||||
$this->unicode = $unicode;
|
||||
Assertion::allIsInstanceOf($fields, databox_field::class);
|
||||
|
||||
foreach ($fields as $field) {
|
||||
@@ -95,9 +103,11 @@ class databox_descriptionStructure implements IteratorAggregate, Countable
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param int $compareMode // use STRICT_COMPARE if the name already comes from phrasea (faster)
|
||||
*
|
||||
* @return databox_field|null
|
||||
*/
|
||||
public function get_element_by_name($name)
|
||||
public function get_element_by_name($name, $compareMode=self::SLUG_COMPARE)
|
||||
{
|
||||
if (null === $this->cache_name_id) {
|
||||
$this->cache_name_id = [];
|
||||
@@ -107,7 +117,9 @@ class databox_descriptionStructure implements IteratorAggregate, Countable
|
||||
}
|
||||
}
|
||||
|
||||
$name = databox_field::generateName($name);
|
||||
if($compareMode == self::SLUG_COMPARE) {
|
||||
$name = databox_field::generateName($name, $this->unicode);
|
||||
}
|
||||
|
||||
return isset($this->cache_name_id[$name])
|
||||
? $this->elements[$this->cache_name_id[$name]]
|
||||
|
Reference in New Issue
Block a user