Craft\NeoFieldType::prepValue PHP Method

prepValue() public method

Prepares the field's value for use in templates.
public prepValue ( array $value ) : Neo_CriteriaModel
$value array
return Neo_CriteriaModel
    public function prepValue($value)
    {
        $criteria = craft()->neo->getCriteria();
        if (!empty($this->element->id)) {
            $criteria->ownerId = $this->element->id;
        } else {
            $criteria->id = false;
        }
        $criteria->fieldId = $this->model->id;
        $criteria->locale = $this->element->locale;
        if (is_array($value) || $value === '') {
            $criteria->status = null;
            $criteria->localeEnabled = null;
            $criteria->limit = null;
            if (is_array($value)) {
                $prevElement = null;
                foreach ($value as $element) {
                    if ($prevElement) {
                        $prevElement->setNext($element);
                        $element->setPrev($prevElement);
                    }
                    $prevElement = $element;
                }
                foreach ($value as $element) {
                    $element->setAllElements($value);
                }
                $criteria->setMatchedElements($value);
                $criteria->setAllElements($value);
            } else {
                if ($value === '') {
                    $criteria->setMatchedElements([]);
                }
            }
        }
        return $criteria;
    }