Pimcore\Document\Newsletter\AddressSourceAdapter\DefaultAdapter::getListing PHP Метод

getListing() защищенный Метод

protected getListing ( ) : Listing
Результат Pimcore\Model\Object\Listing
    protected function getListing()
    {
        if (empty($this->list)) {
            $objectList = "\\Pimcore\\Model\\Object\\" . ucfirst($this->class) . "\\Listing";
            $this->list = new $objectList();
            $conditions = ["(newsletterActive = 1 AND newsletterConfirmed = 1)"];
            if ($this->condition) {
                $conditions[] = "(" . $this->condition . ")";
            }
            if ($this->personas) {
                $class = ClassDefinition::getByName($this->class);
                if ($class && $class->getFieldDefinition("persona")) {
                    $personas = [];
                    if ($class->getFieldDefinition("persona") instanceof \Pimcore\Model\Object\ClassDefinition\Data\Persona) {
                        foreach ($this->personas as $value) {
                            if (!empty($value)) {
                                $personas[] = $this->list->quote($value);
                            }
                        }
                        $conditions[] = "persona IN (" . implode(",", $personas) . ")";
                    } elseif ($class->getFieldDefinition("persona") instanceof \Pimcore\Model\Object\ClassDefinition\Data\Personamultiselect) {
                        $personasCondition = [];
                        foreach ($this->personas as $value) {
                            $personasCondition[] = "persona LIKE " . $this->list->quote("%," . $value . ",%");
                        }
                        $conditions[] = "(" . implode(" OR ", $personasCondition) . ")";
                    }
                }
            }
            $this->list->setCondition(implode(" AND ", $conditions));
            $this->list->setOrderKey("email");
            $this->list->setOrder("ASC");
            $this->elementsTotal = $this->list->getTotalCount();
        }
        return $this->list;
    }