Code Duplication    Length = 53-53 lines in 2 locations

src/ZfcDatagrid/Renderer/BootstrapTable/Renderer.php 1 location

@@ 57-109 (lines=53) @@
54
     *
55
     * @throws \Exception
56
     */
57
    public function getSortConditions()
58
    {
59
        if (is_array($this->sortConditions)) {
60
            // set from cache! (for export)
61
            return $this->sortConditions;
62
        }
63
64
        $request = $this->getRequest();
65
66
        $optionsRenderer = $this->getOptionsRenderer();
67
        $parameterNames = $optionsRenderer['parameterNames'];
68
69
        $sortConditions = [];
70
        $sortColumns = $request->getPost($parameterNames['sortColumns'], $request->getQuery($parameterNames['sortColumns']));
71
        $sortDirections = $request->getPost($parameterNames['sortDirections'], $request->getQuery($parameterNames['sortDirections']));
72
        if ($sortColumns != '') {
73
            $sortColumns = explode(',', $sortColumns);
74
            $sortDirections = explode(',', $sortDirections);
75
76
            if (count($sortColumns) != count($sortDirections)) {
77
                throw new \Exception('Count missmatch order columns/direction');
78
            }
79
80
            foreach ($sortColumns as $key => $sortColumn) {
81
                $sortDirection = strtoupper($sortDirections[$key]);
82
83
                if ($sortDirection != 'ASC' && $sortDirection != 'DESC') {
84
                    $sortDirection = 'ASC';
85
                }
86
87
                foreach ($this->getColumns() as $column) {
88
                    /* @var $column \ZfcDatagrid\Column\AbstractColumn */
89
                    if ($column->getUniqueId() == $sortColumn) {
90
                        $sortConditions[] = [
91
                            'sortDirection' => $sortDirection,
92
                            'column' => $column,
93
                        ];
94
95
                        $column->setSortActive($sortDirection);
96
                    }
97
                }
98
            }
99
        }
100
101
        if (!empty($sortConditions)) {
102
            $this->sortConditions = $sortConditions;
103
        } else {
104
            // No user sorting -> get default sorting
105
            $this->sortConditions = $this->getSortConditionsDefault();
106
        }
107
108
        return $this->sortConditions;
109
    }
110
111
    /**
112
     * @todo Make parameter config

src/ZfcDatagrid/Renderer/JqGrid/Renderer.php 1 location

@@ 58-110 (lines=53) @@
55
     *
56
     * @throws \Exception
57
     */
58
    public function getSortConditions()
59
    {
60
        if (is_array($this->sortConditions)) {
61
            return $this->sortConditions;
62
        }
63
64
        $request = $this->getRequest();
65
66
        $optionsRenderer = $this->getOptionsRenderer();
67
        $parameterNames = $optionsRenderer['parameterNames'];
68
69
        $sortConditions = [];
70
71
        $sortColumns = $request->getPost($parameterNames['sortColumns'], $request->getQuery($parameterNames['sortColumns']));
72
        $sortDirections = $request->getPost($parameterNames['sortDirections'], $request->getQuery($parameterNames['sortDirections']));
73
        if ($sortColumns != '') {
74
            $sortColumns = explode(',', $sortColumns);
75
            $sortDirections = explode(',', $sortDirections);
76
77
            if (count($sortColumns) != count($sortDirections)) {
78
                throw new \Exception('Count missmatch order columns/direction');
79
            }
80
81
            foreach ($sortColumns as $key => $sortColumn) {
82
                $sortDirection = strtoupper($sortDirections[$key]);
83
84
                if ($sortDirection != 'ASC' && $sortDirection != 'DESC') {
85
                    $sortDirection = 'ASC';
86
                }
87
88
                foreach ($this->getColumns() as $column) {
89
                    /* @var $column \ZfcDatagrid\Column\AbstractColumn */
90
                    if ($column->getUniqueId() == $sortColumn) {
91
                        $sortConditions[] = [
92
                            'sortDirection' => $sortDirection,
93
                            'column' => $column,
94
                        ];
95
96
                        $column->setSortActive($sortDirection);
97
                    }
98
                }
99
            }
100
        }
101
102
        if (!empty($sortConditions)) {
103
            $this->sortConditions = $sortConditions;
104
        } else {
105
            // No user sorting -> get default sorting
106
            $this->sortConditions = $this->getSortConditionsDefault();
107
        }
108
109
        return $this->sortConditions;
110
    }
111
112
    /**
113
     * @return array