Code Duplication    Length = 25-25 lines in 2 locations

src/Renderer/Twig/Extension.php 2 locations

@@ 160-184 (lines=25) @@
157
     *
158
     * @return mixed
159
     */
160
    public function sortByWeight($array)
161
    {
162
        $callback = function ($a, $b) {
163
            if (!isset($a['weight'])) {
164
                return 1;
165
            }
166
            if (!isset($b['weight'])) {
167
                return -1;
168
            }
169
            if ($a['weight'] == $b['weight']) {
170
                return 0;
171
            }
172
173
            return ($a['weight'] < $b['weight']) ? -1 : 1;
174
        };
175
176
        if ($array instanceof Collection) {
177
            $array = $array->toArray();
178
        }
179
        if (is_array($array)) {
180
            usort($array, $callback);
181
        }
182
183
        return $array;
184
    }
185
186
    /**
187
     * Sort by date.
@@ 193-217 (lines=25) @@
190
     *
191
     * @return mixed
192
     */
193
    public function sortByDate($array)
194
    {
195
        $callback = function ($a, $b) {
196
            if (!isset($a['date'])) {
197
                return -1;
198
            }
199
            if (!isset($b['date'])) {
200
                return 1;
201
            }
202
            if ($a['date'] == $b['date']) {
203
                return 0;
204
            }
205
206
            return ($a['date'] > $b['date']) ? -1 : 1;
207
        };
208
209
        if ($array instanceof Collection) {
210
            $array = $array->toArray();
211
        }
212
        if (is_array($array)) {
213
            usort($array, $callback);
214
        }
215
216
        return $array;
217
    }
218
219
    /**
220
     * Create an URL.