Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

@@ 176-193 (lines=18) @@
173
     * @param array $data
174
     * @return array List of missing columns. Empty if all is ok
175
     */
176
    public function controlMandatoryColumns($data = null)
177
    {
178
        if (is_null($data)) {
179
            $data = $this->getData();
180
        }
181
182
        $missingMandatoryColumns = [];
183
184
        $fbColumns = $this->getColumnsInfo();
185
        foreach ($fbColumns as $columnName => $columnInfo) {
186
            $mandatory = ($columnInfo['mandatory'] == 'true');
187
            if ($mandatory && !array_key_exists($columnName, $data)) {
188
                $missingMandatoryColumns[$columnName] = $columnInfo['name'];
189
            }
190
        }
191
192
        return $missingMandatoryColumns;
193
    }
194
195
    /**
196
     * Control data for readonly columns presence.
@@ 201-218 (lines=18) @@
198
     * @param array $data
199
     * @return array List of ReadOnly columns. Empty if all is ok
200
     */
201
    public function controlReadOnlyColumns($data = null)
202
    {
203
        if (is_null($data)) {
204
            $data = $this->getData();
205
        }
206
207
        $readonlyColumns = [];
208
209
        $fbColumns = $this->getColumnsInfo();
210
        foreach ($fbColumns as $columnName => $columnInfo) {
211
            $writable = ($columnInfo['isWritable'] == 'true');
212
            if (!$writable && !array_key_exists($columnName, $data)) {
213
                $readonlyColumns[$columnName] = $columnInfo['name'];
214
            }
215
        }
216
217
        return $readonlyColumns;
218
    }
219
220
    /**
221
     * Convert Timestamp to FlexiBee Date format.