/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { I2CE::raiseError(print_r($vals, true)); if (!parent::processValues($vals)) { return false; } if (array_key_exists('val', $vals) && is_array($vals['val'])) { foreach ($vals['val'] as $key => $val) { if (!is_scalar($val) || !I2CE_MagicDataNode::checkKey($key)) { continue; } $this->setTranslatableField($key, $val); } } if (array_key_exists('do_new', $vals) && array_key_exists('new_key', $vals) && array_key_exists('new_val', $vals) && $vals['do_new'] && is_scalar($key = $vals['new_key']) && is_scalar($val = $vals['new_val']) && I2CE_MagicDataNode::checkKey($key) && !in_array($key, $this->storage->getKeys())) { $this->setTranslatableField($key, $val); } if (array_key_exists('delete', $vals) && is_array($vals['delete'])) { foreach ($vals['delete'] as $key => $selected) { if (!$selected || !is_scalar($val) || !I2CE_MagicDataNode::checkKey($key) || !($mdNode = $this->storage->traverse($key, false, false)) instanceof I2CE_MagicDataNode) { continue; } $mdNode->erase(); } } return true; }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { if (array_key_exists('check_bad_percent', $vals) && is_scalar($c = $vals['check_bad_percent'])) { $this->setField('check_bad_percent', $c ? 1 : 0); } return parent::processValues($vals); }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { if (array_key_exists('unique', $vals) && is_scalar($un = $vals['unique'])) { $this->setField('unique', $un ? 1 : 0); } return parent::processValues($vals); }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { if (array_key_exists('max_size_kb', $vals) && is_scalar($v = strval($vals['max_size_kb'])) && (ctype_digit($v) || $v === '')) { $this->setField('max_size_kb', $v); } return parent::processValues($vals); }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { foreach (self::$int_keys as $k) { if (array_key_exists($k, $vals) && ctype_digit($v = strval($vals[$k]))) { $this->setField($k, $v); } } return parent::processValues($vals); }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { foreach (array_keys(self::$bool_keys) as $k) { if (array_key_exists($k, $vals) && is_scalar($vals[$k])) { $this->setField($k, $k ? 1 : 0); } } if (array_key_exists('key_sort', $vals) && is_scalar($sort = $vals['key_sort']) && in_array($sort, self::$allowed_sorts)) { $this->setField('key_sort', $sort); } return parent::processValues($vals); }
public function processValues($vals) { if (array_key_exists('fields', $vals)) { $this->setField('fields', $vals['fields']); } if (array_key_exists('style', $vals)) { $this->setField('style', $vals['style']); } if (array_key_exists('display_report', $vals)) { $this->setField('display_report', $vals['display_report']); } return parent::processValues($vals); }
public function processValues($vals) { if (!parent::processValues($vals)) { return false; } $fieldnames = $this->getFieldNames(); if (array_key_exists('required', $vals) && is_array($vals['required'])) { $required_fields = array(); foreach ($vals['required'] as $field => $required) { if (!$required || !in_array($field, $fieldnames)) { continue; } $required_fields[] = $field; } $this->storage->eraseChildren(); $this->storage->setValue($required_fields); } return true; }
public function processValues($vals) { // Call I2CE_Swiss->processValues() as there are no specific values to process if (!parent::processValues($vals)) { return false; } // Set the form display name if (array_key_exists('form_display_name', $vals)) { $this->setField('form_display_name', $vals['form_display_name']); } // Set the display order if (array_key_exists('display_order', $vals) && is_array($vals['display_order'])) { $display_order = array(); $actual = 0; $correct = 0; $i = 0; foreach ($vals['display_order'] as $v) { $actual += $v; $correct += ++$i; $display_order[] = ''; } if ($correct != $actual) { I2CE::raiseError('Correct: ' . $correct . ' Actual: ' . $actual); return false; } foreach ($vals['display_order'] as $child => $index) { $display_order[$index - 1] = $child; } $comma_sep = implode(',', $display_order); $this->setField('display_order', $comma_sep); } // Set the title for the page if (array_key_exists('title', $vals)) { $this->setField('title', $vals['title']); } if (array_key_exists('task', $vals) && is_array($vals['task']) && ($tasksNode = $this->storage->traverse('task', true, false)) instanceof I2CE_MagicDataNode) { $tasks = I2CE::getConfig()->getAsArray("/I2CE/tasks/task_description"); $new_tasks = array(); foreach ($vals['task'] as $task => $checked) { if (!I2CE_MagicDataNode::checkKey($task) || !is_scalar($checked)) { continue; } if ($this->storage->is_scalar("task/{$task}") || $checked) { //either key was already set and we are ovewriting it, or we are adding a new key with a set value $new_tasks[] = $task; } } $tasksNode->eraseChildren(); $tasksNode->setValue($new_tasks); } /** *This checks to see if there are any checkboxes selected. If not, delete them all. */ if (!array_key_exists('task', $vals) && ($tasksNode = $this->storage->traverse('task', true, false)) instanceof I2CE_MagicDataNode) { $tasksNode->eraseChildren(); } if (array_key_exists('childOrder', $vals) && is_array($vals['childOrder']) && ($orderNode = $this->storage->traverse('child_form_order', true, false)) instanceof I2CE_MagicDataNode) { $new_child_order = array(); $actual = 0; $correct = 0; $i = 0; foreach ($vals['childOrder'] as $v) { $actual += $v; $correct += ++$i; $new_child_order[] = ''; } if ($correct != $actual) { I2CE::raiseError('Correct: ' . $correct . ' Actual: ' . $actual); return false; } foreach ($vals['childOrder'] as $child => $index) { $new_child_order[$index - 1] = $child; } $orderNode->eraseChildren(); $orderNode->setValue($new_child_order); } /* Attempting to // Set the display order if (array_key_exists('childOrder',$vals) && is_array($vals['childOrder']) ) { $display_order = array(); foreach($vals['childOrder'] as $k) { $display_order[] = ''; } foreach($vals['childOrder'] as $child=>$index) { $display_order[($index - 1)] = $child; } $comma_sep = implode( ',', $display_order ); $this->setField('child_form_order', $comma_sep); } */ return true; }
/** * Update config for given values * @param array $vals. An array of values (presumably from $_POST) to update magic data from * @returns true on sucess */ public function processValues($vals) { if (array_key_exists('hook', $vals) && is_scalar($h = $vals['hook'])) { $this->setField('hook', $h); } if (array_key_exists('data', $vals) && is_array($vals['data'])) { foreach ($vals['data'] as $key => $val) { if (!I2CE_MagicDataNode::checkKey($key) || !is_scalar($val)) { continue; } if ($val === '') { if (($md = $this->storage->traverse("data/{$key}", false, false)) instanceof I2CE_MagicDataNode) { I2CE::raiseError("Erasing"); $md->erase(); } } else { if ($this->storage->is_scalar("data/{$key}") || $val) { //either key was already set and we are ovewriting it, or we are adding a new key with a set value $this->storage->data->{$key} = $val; } } } } return parent::processValues($vals); }