Code Duplication    Length = 19-19 lines in 3 locations

app/models/GeoFixer.php 3 locations

@@ 49-67 (lines=19) @@
46
     *
47
     * @return bool|mixed
48
     */
49
    public function findFiasRegion($region)
50
    {
51
        $this->code_name = AbstractDatabaseQuery::KLADR_CODE;
52
53
        $regions = new RegionsDatabaseQuery();
54
        $regions = $regions->getRegions();
55
56
        if (is_integer($this->first_letters)) {
57
            $regions = $regions->firstLetters(substr($region, 0, $this->first_letters));
58
        }
59
60
        $regions = $regions->findAll();
61
62
        array_map(array($this, 'geoDataHandler'), $regions);
63
64
        $result = $this->findSimilarWord($region, $this->geo_titles);
65
66
        return $result ? $this->geo_with_ids[$result] : false;
67
    }
68
69
    /**
70
     * @param $word
@@ 98-116 (lines=19) @@
95
     *
96
     * @return bool|mixed
97
     */
98
    public function findFiasSettlements($city, $region_code)
99
    {
100
        $this->code_name = AbstractDatabaseQuery::FIAS_CODE;
101
102
        $settlements = new SettlementsDatabaseQuery();
103
        $settlements = $settlements->getSettlements()->regionCode($region_code)->addressLevel();
104
105
        if (is_integer($this->first_letters)) {
106
            $settlements = $settlements->firstLetters(substr($city, 0, $this->first_letters));
107
        }
108
109
        $settlements = $settlements->findAll();
110
111
        array_map(array($this, 'geoDataHandler'), $settlements);
112
113
        $result = $this->findSimilarWord($city, $this->geo_titles);
114
115
        return $result ? $this->geo_with_ids[$result] : false;
116
    }
117
118
    /**
119
     * @param $city
@@ 157-175 (lines=19) @@
154
     *
155
     * @return bool|mixed
156
     */
157
    public function findFiasStreets($street, $city_id)
158
    {
159
        $this->code_name = AbstractDatabaseQuery::FIAS_CODE;
160
161
        $streets = new StreetsDatabaseQuery();
162
        $streets = $streets->getStreets()->parentId($city_id)->addressLevel();
163
164
        if (is_integer($this->first_letters)) {
165
            $streets = $streets->firstLetters(substr($street, 0, $this->first_letters));
166
        }
167
168
        $streets = $streets->findAll();
169
170
        array_map(array($this, 'geoDataHandler'), $streets);
171
172
        $result = $this->findSimilarWord($street, $this->geo_titles);
173
174
        return $result ? $this->geo_with_ids[$result] : false;
175
    }
176
177
    /**
178
     * @param $street