Code Duplication    Length = 45-45 lines in 2 locations

htdocs/class/xml/rpc/metaweblogapi.php 2 locations

@@ 44-88 (lines=45) @@
41
        } else {
42
            if (!$fields = $this->_getPostFields(null, $this->params[0])) {
43
                $this->response->add(new XoopsXmlRpcFault(106));
44
            } else {
45
                $missing = array();
46
                $post = array();
47
                foreach ($fields as $tag => $detail) {
48
                    $maptag = $this->_getXoopsTagMap($tag);
49
                    if (!isset($this->params[3][$maptag])) {
50
                        $data = $this->_getTagCdata($this->params[3]['description'], $maptag, true);
51
                        if (trim($data) == '') {
52
                            if ($detail['required']) {
53
                                $missing[] = $maptag;
54
                            }
55
                        } else {
56
                            $post[$tag] = $data;
57
                        }
58
                    } else {
59
                        $post[$tag] = $this->params[3][$maptag];
60
                    }
61
                }
62
                if (count($missing) > 0) {
63
                    $msg = '';
64
                    foreach ($missing as $m) {
65
                        $msg .= '<' . $m . '> ';
66
                        echo $m;
67
                    }
68
                    $this->response->add(new XoopsXmlRpcFault(109, $msg));
69
                } else {
70
                    $newparams = array();
71
                    $newparams[0] = $this->params[0];
72
                    $newparams[1] = $this->params[1];
73
                    $newparams[2] = $this->params[2];
74
                    foreach ($post as $key => $value) {
75
                        $newparams[3][$key] = $value;
76
                        unset($value);
77
                    }
78
                    $newparams[3]['xoops_text'] = $this->params[3]['description'];
79
                    if (isset($this->params[3]['categories']) && is_array($this->params[3]['categories'])) {
80
                        foreach ($this->params[3]['categories'] as $k => $v) {
81
                            $newparams[3]['categories'][$k] = $v;
82
                        }
83
                    }
84
                    $newparams[4] = $this->params[4];
85
                    $xoopsapi = $this->_getXoopsApi($newparams);
86
                    $xoopsapi->_setUser($this->user, $this->isadmin);
87
                    $xoopsapi->newPost();
88
                }
89
            }
90
        }
91
    }
@@ 99-143 (lines=45) @@
96
            $this->response->add(new XoopsXmlRpcFault(104));
97
        } else {
98
            if (!$fields = $this->_getPostFields($this->params[0])) {
99
            } else {
100
                $missing = array();
101
                $post = array();
102
                foreach ($fields as $tag => $detail) {
103
                    $maptag = $this->_getXoopsTagMap($tag);
104
                    if (!isset($this->params[3][$maptag])) {
105
                        $data = $this->_getTagCdata($this->params[3]['description'], $maptag, true);
106
                        if (trim($data) == ''){
107
                            if ($detail['required']) {
108
                                $missing[] = $tag;
109
                            }
110
                        } else {
111
                            $post[$tag] = $data;
112
                        }
113
                    } else {
114
                        $post[$tag] = $this->params[3][$maptag];
115
                    }
116
                }
117
                if (count($missing) > 0) {
118
                    $msg = '';
119
                    foreach ($missing as $m) {
120
                        $msg .= '<' . $m . '> ';
121
                    }
122
                    $this->response->add(new XoopsXmlRpcFault(109, $msg));
123
                } else {
124
                    $newparams = array();
125
                    $newparams[0] = $this->params[0];
126
                    $newparams[1] = $this->params[1];
127
                    $newparams[2] = $this->params[2];
128
                    foreach ($post as $key => $value) {
129
                        $newparams[3][$key] = $value;
130
                        unset($value);
131
                    }
132
                    if (isset($this->params[3]['categories']) && is_array($this->params[3]['categories'])) {
133
                        foreach ($this->params[3]['categories'] as $k => $v) {
134
                            $newparams[3]['categories'][$k] = $v;
135
                        }
136
                    }
137
                    $newparams[3]['xoops_text'] = $this->params[3]['description'];
138
                    $newparams[4] = $this->params[4];
139
                    $xoopsapi = $this->_getXoopsApi($newparams);
140
                    $xoopsapi->_setUser($this->user, $this->isadmin);
141
                    $xoopsapi->editPost();
142
                }
143
            }
144
        }
145
    }
146