Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

@@ 162-179 (lines=18) @@
159
     * @param array $data
160
     * @return array List of missing columns. Empty if all is ok
161
     */
162
    public function controlMandatoryColumns($data = null)
163
    {
164
        if (is_null($data)) {
165
            $data = $this->getData();
166
        }
167
168
        $missingMandatoryColumns = [];
169
170
        $fbColumns = $this->getColumnsInfo();
171
        foreach ($fbColumns as $columnName => $columnInfo) {
172
            $mandatory = ($columnInfo['mandatory'] == 'true');
173
            if ($mandatory && !array_key_exists($columnName, $data)) {
174
                $missingMandatoryColumns[$columnName] = $columnInfo['name'];
175
            }
176
        }
177
178
        return $missingMandatoryColumns;
179
    }
180
181
    /**
182
     * Control data for readonly columns presence.
@@ 187-204 (lines=18) @@
184
     * @param array $data
185
     * @return array List of ReadOnly columns. Empty if all is ok
186
     */
187
    public function controlReadOnlyColumns($data = null)
188
    {
189
        if (is_null($data)) {
190
            $data = $this->getData();
191
        }
192
193
        $readonlyColumns = [];
194
195
        $fbColumns = $this->getColumnsInfo();
196
        foreach ($fbColumns as $columnName => $columnInfo) {
197
            $writable = ($columnInfo['isWritable'] == 'true');
198
            if (!$writable && !array_key_exists($columnName, $data)) {
199
                $readonlyColumns[$columnName] = $columnInfo['name'];
200
            }
201
        }
202
203
        return $readonlyColumns;
204
    }
205
206
    /**
207
     * Convert Timestamp to FlexiBee Date format.