Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

@@ 144-161 (lines=18) @@
141
     * @param array $data
142
     * @return array List of missing columns. Empty if all is ok
143
     */
144
    public function controlMandatoryColumns($data = null)
145
    {
146
        if (is_null($data)) {
147
            $data = $this->getData();
148
        }
149
150
        $missingMandatoryColumns = [];
151
152
        $fbColumns = $this->getColumnsInfo();
153
        foreach ($fbColumns as $columnName => $columnInfo) {
154
            $mandatory = ($columnInfo['mandatory'] == 'true');
155
            if ($mandatory && !array_key_exists($columnName, $data)) {
156
                $missingMandatoryColumns[$columnName] = $columnInfo['name'];
157
            }
158
        }
159
160
        return $missingMandatoryColumns;
161
    }
162
163
    /**
164
     * Control data for readonly columns presence.
@@ 169-186 (lines=18) @@
166
     * @param array $data
167
     * @return array List of ReadOnly columns. Empty if all is ok
168
     */
169
    public function controlReadOnlyColumns($data = null)
170
    {
171
        if (is_null($data)) {
172
            $data->getData();
173
        }
174
175
        $readonlyColumns = [];
176
177
        $fbColumns = $this->getColumnsInfo();
178
        foreach ($fbColumns as $columnName => $columnInfo) {
179
            $writable = ($columnInfo['isWritable'] == 'true');
180
            if (!$writable && !array_key_exists($columnName, $data)) {
181
                $readonlyColumns[$columnName] = $columnInfo['name'];
182
            }
183
        }
184
185
        return $readonlyColumns;
186
    }
187
188
    /**
189
     * Convert Timestamp to FlexiBee Date format.