Sets elements of array according to provided fields structure
public static keepValues ( array &$itemData, array $fields, array $extraValues = [], array $data = null ) : void | ||
$itemData | array | resulting array |
$fields | array | standard fields structure returned by methods of this class |
$extraValues | array | values that will be merged to $itemData |
$data | array | source data (POST values are used if nothing specified) |
return | void |
// check password if (!$itemData['disable_fields']) { if (!$itemData['password']) { $error = true; $messages[] = iaLanguage::get('error_password_empty'); } else { if ($_POST['password'] != $_POST['password2']) { $error = true; $messages[] = iaLanguage::get('error_password_match'); } } } else { $itemData['password'] = ''; } } else { iaField::keepValues($itemData, $fields); $iaView->setMessages($messages); } if (!$error) { $memberId = $iaUsers->register($itemData); if ($memberId) { $iaCore->factory('log')->write(iaLog::ACTION_CREATE, array('item' => 'member', 'name' => $itemData['fullname'], 'id' => $memberId, 'type' => iaCore::FRONT)); } // process sponsored plan if ($memberId && isset($_POST['plan_id']) && is_numeric($_POST['plan_id'])) { $plan = $iaPlan->getById($_POST['plan_id']); $usergroup = $plan['usergroup'] ? $plan['usergroup'] : iaUsers::MEMBERSHIP_REGULAR; $iaDb->update(array('id' => $memberId, 'usergroup_id' => $usergroup), 0, 0, iaUsers::getTable()); if ($plan['cost'] > 0) { $itemData['id'] = $memberId; $itemData['member_id'] = $memberId;