db = $db; } /** * @param string $type * * @param bool $isSystem * * @return array */ public function getLeadsByType(string $type, bool $isSystem = false): array { return $this->db->fetchAssoc( 'SELECT p.id, p.created_at, p.label, p.value, p.type, p.wiedervorlage_stage_id FROM `pipedrive_mappings` AS `p` WHERE p.type = :type AND p.is_system=:system', ['type' => $type, 'system' => (int)$isSystem] ); } /** * @param int $value * @param string $type * * @return array */ public function getMappingByValueAndType(int $value, string $type): array { return $this->db->fetchRow( 'SELECT hm.id, hm.created_at, hm.wiedervorlage_stage_id, hm.label, hm.value, hm.type FROM `pipedrive_mappings` AS `hm` WHERE hm.value =:value AND hm.type = :type', ['value' => $value, 'type' => $type] ); } /** * @param string $dbName * * @return array */ public function getAddressFreeFields(string $dbName): array { return $this->db->fetchCol( 'SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` =:db AND `TABLE_NAME` = :table AND `COLUMN_NAME` LIKE "adressefreifeld%"', [ 'db' => $dbName, 'table' => 'firmendaten', ] ); } /** * @return array */ public function getConfiguredFreeAddressFieldValues(): array { return $this->db->fetchCol( 'SELECT f.wert FROM `firmendaten_werte` AS `f` WHERE `name` LIKE "adressetabellezusatz%" AND f.wert !="" AND f.wert IS NOT NULL' ); } }