Code Duplication    Length = 3-5 lines in 2 locations

eZ/Publish/Core/Persistence/Doctrine/ConnectionHandler.php 2 locations

@@ 184-186 (lines=3) @@
181
            $dsn = $match[3];
182
        } else {
183
            // $dsn => protocol+host/database (old format)
184
            if (strpos($dsn, '+') !== false) {
185
                list($proto, $dsn) = explode('+', $dsn, 2);
186
            }
187
            if (strpos($dsn, '/') !== false) {
188
                list($proto_opts, $dsn) = explode('/', $dsn, 2);
189
            } else {
@@ 218-222 (lines=5) @@
215
                // /database?param1=value1&param2=value2
216
                $parsed['dbname'] = rawurldecode(substr($dsn, 0, $pos));
217
                $dsn = substr($dsn, $pos + 1);
218
                if (strpos($dsn, '&') !== false) {
219
                    $opts = explode('&', $dsn);
220
                } else {
221
                    $opts = array($dsn);
222
                }
223
224
                foreach ($opts as $opt) {
225
                    list($key, $value) = explode('=', $opt);