Code Duplication    Length = 17-18 lines in 2 locations

action.topic.php 2 locations

@@ 39-55 (lines=17) @@
36
    redirect_header(XOOPS_URL . '/index.php', 2, _MD_NEWBB_NORIGHTTOACCESS);
37
}
38
switch ($op) {
39
    case 'restore':
40
        $forums     = [];
41
        $topicsObject = $topicHandler->getAll(new Criteria('topic_id', '(' . implode(',', $topic_id) . ')', 'IN'));
42
        foreach (array_keys($topicsObject) as $id) {
43
            /** @var \Topic $topicObject */
44
            $topicObject = $topicsObject[$id];
45
            $topicHandler->approve($topicObject);
46
            $topicHandler->synchronization($topicObject);
47
            $forums[$topicObject->getVar('forum_id')] = 1;
48
        }
49
        $criteria_forum = new Criteria('forum_id', '(' . implode(',', array_keys($forums)) . ')', 'IN');
50
        $forumsObject     = $forumHandler->getAll($criteria_forum);
51
        foreach (array_keys($forumsObject) as $id) {
52
            $forumHandler->synchronization($forumsObject[$id]);
53
        }
54
        unset($topicsObject, $forumsObject);
55
        break;
56
    case 'approve':
57
        $forums     = [];
58
        $topicsObject = $topicHandler->getAll(new Criteria('topic_id', '(' . implode(',', $topic_id) . ')', 'IN'));
@@ 103-120 (lines=18) @@
100
        }
101
        unset($topicsObject, $forumsObject);
102
        break;
103
    case 'delete':
104
        $forums     = [];
105
        /** @var \NewbbTopicHandler|XoopsPersistableObjectHandler $topicHandler */
106
        $topicsObject = $topicHandler->getAll(new Criteria('topic_id', '(' . implode(',', $topic_id) . ')', 'IN'));
107
        foreach (array_keys($topicsObject) as $id) {
108
            /** @var Topic $topicObject */
109
            $topicObject = $topicsObject[$id];
110
            // irmtfan should be set to false to not delete topic from database
111
            $topicHandler->delete($topicObject, false);
112
            $topicHandler->synchronization($topicObject);
113
            $forums[$topicObject->getVar('forum_id')] = 1;
114
        }
115
116
        $criteria_forum = new Criteria('forum_id', '(' . implode(',', array_keys($forums)) . ')', 'IN');
117
        $forumsObject     = $forumHandler->getAll($criteria_forum);
118
        foreach (array_keys($forumsObject) as $id) {
119
            $forumHandler->synchronization($forumsObject[$id]);
120
        }
121
        unset($topicsObject, $forumsObject);
122
        break;
123
    case 'move':