Code Duplication    Length = 19-19 lines in 4 locations

app/models/GeoFixer.php 4 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
@@ 124-142 (lines=19) @@
121
     *
122
     * @return bool|mixed
123
     */
124
    public function findKladrSettlements($city, $region_code)
125
    {
126
        $this->code_name = AbstractDatabaseQuery::KLADR_CODE;
127
128
        $settlements = new SettlementsDatabaseQuery();
129
        $settlements = $settlements->getSettlements()->regionCode($region_code)->addressLevel();
130
131
        if (is_integer($this->first_letters)) {
132
            $settlements = $settlements->firstLetters(substr($city, 0, $this->first_letters));
133
        }
134
135
        $settlements = $settlements->findAll();
136
137
        array_map(array($this, 'geoDataHandler'), $settlements);
138
139
        $result = $this->findSimilarWord($city, $this->geo_titles);
140
141
        return $result ? $this->geo_with_ids[$result] : false;
142
    }
143
144
    /**
145
     * @param $street
@@ 150-168 (lines=19) @@
147
     *
148
     * @return bool|mixed
149
     */
150
    public function findFiasStreets($street, $city_id)
151
    {
152
        $this->code_name = AbstractDatabaseQuery::FIAS_CODE;
153
154
        $streets = new StreetsDatabaseQuery();
155
        $streets = $streets->getStreets()->parentId($city_id)->addressLevel();
156
157
        if (is_integer($this->first_letters)) {
158
            $streets = $streets->firstLetters(substr($street, 0, $this->first_letters));
159
        }
160
161
        $streets = $streets->findAll();
162
163
        array_map(array($this, 'geoDataHandler'), $streets);
164
165
        $result = $this->findSimilarWord($street, $this->geo_titles);
166
167
        return $result ? $this->geo_with_ids[$result] : false;
168
    }
169
170
    /**
171
     * @param $street