id: 32
name: migxHookAftercollectmigxitems
category: MIGX
properties: 'a:0:{}'
-----
$configs = $modx->getOption('configs', $_REQUEST, '');
$rows = $modx->getOption('rows', $scriptProperties, array());
$newrows = array();
if (is_array($rows)) {
$max_id = 0;
$dbfields = array();
$existing_dbfields = array();
foreach ($rows as $key => $row) {
if (isset($row['MIGX_id']) && $row['MIGX_id'] > $max_id) {
$max_id = $row['MIGX_id'];
}
if (isset($row['selected_dbfields']) && isset($row['existing_dbfields'])) {
$dbfields = is_array($row['selected_dbfields']) ? $row['selected_dbfields'] : array($row['selected_dbfields']);
$existing_dbfields = explode('||', $row['existing_dbfields']);
//echo '' . print_r($existing_dbfields,1) . '
';die();
} else {
$newrows[] = $row;
}
}
foreach ($dbfields as $dbfield) {
if (!empty($dbfield) && !in_array($dbfield, $existing_dbfields)) {
$max_id++;
$newrow = array();
$newrow['MIGX_id'] = $max_id;
switch ($configs) {
case 'migxformtabfields':
$newrow['field'] = $dbfield;
$newrow['caption'] = $dbfield;
break;
case 'migxcolumns':
$newrow['dataIndex'] = $dbfield;
$newrow['header'] = $dbfield;
break;
}
$newrows[] = $newrow;
}
}
}
return json_encode($newrows);