function populateFromPostData($data) { parent::populateFromPostData($data); $fieldSet = $this->Options(); $deletedOptions = explode(',', $data['Deleted']); // store default, etc foreach ($fieldSet as $option) { if ($deletedOptions && array_search($option->ID, $deletedOptions) !== false) { $option->delete(); continue; } if ($data[$option->ID]) { $option->populateFromPostData($data[$option->ID]); } unset($data[$option->ID]); } foreach ($data as $tempID => $optionData) { if (!$tempID || !is_array($optionData) || empty($optionData) || !preg_match('/^_?\\d+$/', $tempID)) { continue; } // what will we name the new option? $newOption = new EditableCheckboxOption(); $newOption->Name = 'option' . (string) $optionNumber++; $newOption->ParentID = $this->ID; $newOption->populateFromPostData($optionData); } }
function populateFromPostData($data) { $this->Size = !empty($data['Size']) ? $data['Size'] : 32; $this->MinLength = !empty($data['MinLength']) ? $data['MinLength'] : 1; $this->MaxLength = !empty($data['MaxLength']) ? $data['MaxLength'] : 32; $this->Rows = !empty($data['Rows']) ? $data['Rows'] : 1; parent::populateFromPostData($data); }
public function populateFromPostData($data) { $fieldPrefix = 'Default-'; if (empty($data['Default']) && !empty($data[$fieldPrefix . 'Year']) && !empty($data[$fieldPrefix . 'Month']) && !empty($data[$fieldPrefix . 'Day'])) { $data['Default'] = $data['Year'] . '-' . $data['Month'] . '-' . $data['Day']; } parent::populateFromPostData($data); }
/** * On before saving this object we need to go through and keep * an eye on all our option fields that are related to this * field in the form * * @param Array Data */ public function populateFromPostData($data) { parent::populateFromPostData($data); // get the current options $fieldSet = $this->Options(); // go over all the current options and check if ID and Title still exists foreach($fieldSet as $option) { if(isset($data[$option->ID]) && isset($data[$option->ID]['Title']) && $data[$option->ID]['Title'] != "field-node-deleted") { $option->populateFromPostData($data[$option->ID]); } else { $option->delete(); } } }
function populateFromPostData($data) { parent::populateFromPostData($data); $fieldSet = $this->Options(); $deletedOptions = explode(',', $data['Deleted']); //Debug::show( $deletedOptions ); // store default, etc foreach ($fieldSet as $option) { //Debug::show( $option ); if ($deletedOptions && array_search($option->ID, $deletedOptions) !== false) { $option->delete(); continue; } if ($data[$option->ID]) { $option->setField('Default', $option->ID == $data['Default']); $option->populateFromPostData($data[$option->ID]); } unset($data[$option->ID]); } // Debug::show( $data ); foreach ($data as $tempID => $optionData) { $optionNumber = 0; if (!$tempID || !is_array($optionData) || empty($optionData) || !preg_match('/^_?\\d+$/', $tempID)) { continue; } // what will we name the new option? $newOption = new EditableRadioOption(); $newOption->Name = sprintf('option%d', $optionNumber++); $newOption->ParentID = $this->ID; $newOption->setField('Default', $tempID == $data['Default']); $newOption->populateFromPostData($optionData); // $mail .= "NEW: " . $optionData['Title'] . "\n"; if (Director::is_ajax()) { $fieldID = $this->ID; $fieldEditorName = $this->editor ? $this->editor->Name() : 'Fields'; $prefix = $fieldEditorName . '[' . $fieldID . ']'; $newID = $newOption->ID; $newSort = $newOption->Sort; echo "\$('" . $fieldEditorName . "[{$fieldID}]').updateOption('{$prefix}','{$tempID}','{$newID}','{$newSort}');"; } if (!$newOption->Title) { user_error('Added blank option ' . $tempID, E_USER_ERROR); } } }
function populateFromPostData($data) { parent::populateFromPostData($data); $fieldSet = $this->Options(); $deletedOptions = explode(',', $data['Deleted']); // store default, etc foreach ($fieldSet as $option) { if ($deletedOptions && array_search($option->ID, $deletedOptions) !== false) { $option->delete(); continue; } if (isset($data[$option->ID])) { $option->setField('Default', isset($data['Default']) ? $option->ID == $data['Default'] : false); $option->populateFromPostData($data[$option->ID]); } unset($data[$option->ID]); } $optionNumber = 0; foreach ($data as $tempID => $optionData) { if (!$tempID || !is_array($optionData) || empty($optionData) || !preg_match('/^_?\\d+$/', $tempID)) { continue; } // what will we name the new option? $newOption = new EditableDropdownOption(); $newOption->Name = 'option' . (string) $optionNumber++; $newOption->ParentID = $this->ID; if (isset($data['Default'])) { $newOption->setField('Default', $tempID == $data['Default']); } if (Director::is_ajax()) { $fieldID = $this->ID; $fieldEditorName = $this->editor ? $this->editor->Name() : 'Fields'; $prefix = $fieldEditorName . '[' . $fieldID . ']'; $newID = $newOption->ID; $newSort = $newOption->Sort; echo "\$('" . $fieldEditorName . "[{$fieldID}]').updateOption('{$prefix}','{$tempID}','{$newID}','{$newSort}');"; } if (!$optionData['Sort']) { } $newOption->populateFromPostData($optionData); } }
function populateFromPostData($data) { /*if( !empty( $data['Default'] ) && !preg_match( '/^\d{4}-\d{2}-\d{2}$/', $data['Default'] ) ) { if( empty( $data['Year'] ) || !is_numeric( $data['Year'] ) ) $data['Year'] = '2001'; if( empty( $data['Month'] ) || !is_numeric( $data['Month'] ) ) $data['Month'] = '01'; if( empty( $data['Day'] ) || !is_numeric( $data['Day'] ) ) $data['Day'] = '01'; // unset( $data['Default'] ); $data['Default'] = $data['Year'] . '-' . $data['Month'] . '-' . $data['Day']; }*/ /*echo "ERROR:"; Debug::show( $data ); die();*/ $fieldPrefix = 'Default-'; if (empty($data['Default']) && !empty($data[$fieldPrefix . 'Year']) && !empty($data[$fieldPrefix . 'Month']) && !empty($data[$fieldPrefix . 'Day'])) { $data['Default'] = $data['Year'] . '-' . $data['Month'] . '-' . $data['Day']; } // Debug::show( $data ); parent::populateFromPostData($data); }
function testPopulateFromPostData() { $this->logInWithPermission('ADMIN'); $set = new ArrayList(); $field = new EditableFormField(); $data = array('Title' => 'Field Title', 'Default' => 'Default Value', 'Sort' => '2', 'Required' => 0, 'CustomErrorMessage' => 'Custom'); $field->populateFromPostData($data); $set->push($field); $this->assertDOSEquals(array($data), $set); // test the custom settings $data['CustomSettings'] = array('Foo' => 'Bar'); $checkbox = new EditableCheckbox(); $checkbox->write(); $checkbox->populateFromPostData(array('Title' => 'Checkbox')); $field->populateFromPostData($data); $this->assertEquals($field->getSettings(), array('Foo' => 'Bar')); $rule = array('Display' => 'Hide', 'ConditionField' => $checkbox->Name, 'ConditionOption' => 'HasValue', 'Value' => 6); // test the custom rules $data['CustomRules'] = array('Rule1' => $rule); $field->populateFromPostData($data); $rules = unserialize($field->CustomRules); $this->assertEquals($rules[0], $rule); }
function populateFromPostData($data) { $this->SendCopy = !empty($data['SendCopy']) ? "1" : "0"; parent::populateFromPostData($data); }
function populateFromPostData($data) { $this->setField('Checked', isset($data['Checked']) ? $data['Checked'] : null); parent::populateFromPostData($data); }
public function populateFromPostData($data) { $this->GroupID = $data['GroupID']; parent::populateFromPostData($data); }