Code Duplication    Length = 36-36 lines in 2 locations

class/utility.php 1 location

@@ 76-111 (lines=36) @@
73
         * - "/" in a string
74
         * - "&" in a string
75
        */
76
        public static function planetParseArguments(&$args_numeric, &$args, &$args_string)
77
        {
78
            $args_abb     = array(
79
                'a' => 'article',
80
                'b' => 'blog',
81
                'c' => 'category',
82
                'l' => 'list',
83
                'o' => 'sort',
84
                's' => 'start',
85
                'u' => 'uid'
86
            );
87
            $args         = array();
88
            $args_numeric = array();
89
            $args_string  = array();
90
            if (preg_match("/[^\?]*\.php[\/|\?]([^\?]*)/i", Request::getUrl('REQUEST_URI', '', 'SERVER'), $matches)) {
91
                $vars = preg_split("/[\/|&]/", $matches[1]);
92
                $vars = array_map('trim', $vars);
93
                if (count($vars) > 0) {
94
                    foreach ($vars as $var) {
95
                        if (is_numeric($var)) {
96
                            $args_numeric[] = $var;
97
                        } elseif (false === strpos($var, '=')) {
98
                            if (is_numeric(substr($var, 1))) {
99
                                $args[$args_abb[strtolower($var{0})]] = (int)substr($var, 1);
100
                            } else {
101
                                $args_string[] = urldecode($var);
102
                            }
103
                        } else {
104
                            parse_str($var, $args);
105
                        }
106
                    }
107
                }
108
            }
109
110
            return (count($args) + count($args_numeric) + count($args_string) == 0) ? null : true;
111
        }
112
113
        /**
114
         * Function to parse class prefix

include/functions.php 1 location

@@ 70-105 (lines=36) @@
67
     * - "/" in a string
68
     * - "&" in a string
69
    */
70
    function planetParseArguments(&$args_numeric, &$args, &$args_string)
71
    {
72
        $args_abb     = array(
73
            'a' => 'article',
74
            'b' => 'blog',
75
            'c' => 'category',
76
            'l' => 'list',
77
            'o' => 'sort',
78
            's' => 'start',
79
            'u' => 'uid'
80
        );
81
        $args         = array();
82
        $args_numeric = array();
83
        $args_string  = array();
84
        if (preg_match("/[^\?]*\.php[\/|\?]([^\?]*)/i", Request::getUrl('REQUEST_URI', '', 'SERVER'), $matches)) {
85
            $vars = preg_split("/[\/|&]/", $matches[1]);
86
            $vars = array_map('trim', $vars);
87
            if (count($vars) > 0) {
88
                foreach ($vars as $var) {
89
                    if (is_numeric($var)) {
90
                        $args_numeric[] = $var;
91
                    } elseif (false === strpos($var, '=')) {
92
                        if (is_numeric(substr($var, 1))) {
93
                            $args[$args_abb[strtolower($var{0})]] = (int)substr($var, 1);
94
                        } else {
95
                            $args_string[] = urldecode($var);
96
                        }
97
                    } else {
98
                        parse_str($var, $args);
99
                    }
100
                }
101
            }
102
        }
103
104
        return (count($args) + count($args_numeric) + count($args_string) == 0) ? null : true;
105
    }
106
107
    /**
108
     * Function to parse class prefix