| 277 |
foreach ($edit as $delta => $item) { |
foreach ($edit as $delta => $item) { |
| 278 |
if ($item['calc'] == '' || !is_numeric($delta)) { |
if ($item['calc'] == '' || !is_numeric($delta)) { |
| 279 |
// remove blank fields, don't save them |
// remove blank fields, don't save them |
| 280 |
unset($form_values[$delta]); |
continue; |
| 281 |
} |
} |
| 282 |
else { |
else { |
| 283 |
// Remove all valid values from calc, if anything is left over, it is invalid. |
// Remove all valid values from calc, if anything is left over, it is invalid. |
| 294 |
$repl[] = '${1}'; |
$repl[] = '${1}'; |
| 295 |
} |
} |
| 296 |
$remaining = trim(preg_replace($patterns, $repl, $item['calc'])); |
$remaining = trim(preg_replace($patterns, $repl, $item['calc'])); |
| 297 |
|
|
| 298 |
// Next, remove functions and numbers. |
// Next, remove functions and numbers. |
| 299 |
$repl = array(); |
$repl = array(); |
| 300 |
$patterns = array(); |
$patterns = array(); |
| 317 |
$form_values = $form_state['values']; |
$form_values = $form_state['values']; |
| 318 |
$edit = $form_values; |
$edit = $form_values; |
| 319 |
foreach ($edit as $delta => $value) { |
foreach ($edit as $delta => $value) { |
| 320 |
if ($value['calc'] == '' || !is_numeric($delta)) { |
$value['calc'] = trim($value['calc']); |
| 321 |
|
if (empty($value['calc']) || !is_numeric($delta)) { |
| 322 |
// remove blank fields, don't save them |
// remove blank fields, don't save them |
| 323 |
unset($form_values[$delta]); |
unset($form_values[$delta]); |
| 324 |
|
if (!empty($value['cid'])) { |
| 325 |
|
db_query("DELETE FROM {views_calc_fields} WHERE cid=%d", $value['cid']); |
| 326 |
|
} |
| 327 |
|
|
| 328 |
} |
} |
| 329 |
else { |
else { |
| 360 |
$form_values[$delta]['fieldlist'] = implode(',', $fields); |
$form_values[$delta]['fieldlist'] = implode(',', $fields); |
| 361 |
} |
} |
| 362 |
} |
} |
| 363 |
foreach ($form_values as $delta => $value) { |
foreach ((array) $form_values as $delta => $value) { |
| 364 |
if ($value['cid'] == 0) { |
if ($value['cid'] == 0) { |
| 365 |
drupal_write_record('views_calc_fields', $value); |
drupal_write_record('views_calc_fields', $value); |
| 366 |
} |
} |
| 427 |
$fields = _views_calc_fields(); |
$fields = _views_calc_fields(); |
| 428 |
$string = ''; |
$string = ''; |
| 429 |
while ($field = db_fetch_array($fields)) { |
while ($field = db_fetch_array($fields)) { |
| 430 |
|
$base = $field['base']; |
| 431 |
|
$substitutions = _views_calc_substitutions($base); |
| 432 |
|
$field['calc'] = strtr($field['calc'], $substitutions); |
| 433 |
$string .= "\$fields[] = ". var_export((array) $field, TRUE) .";\n"; |
$string .= "\$fields[] = ". var_export((array) $field, TRUE) .";\n"; |
| 434 |
} |
} |
| 435 |
|
|
| 468 |
} |
} |
| 469 |
$form['#prefix'] .= '<p class="error">'. t('A file has been pre-loaded for import.') .'</p>'; |
$form['#prefix'] .= '<p class="error">'. t('A file has been pre-loaded for import.') .'</p>'; |
| 470 |
} |
} |
| 471 |
|
$form['#redirect'] = 'admin/settings/views_calc'; |
| 472 |
return $form; |
return $form; |
| 473 |
} |
} |
| 474 |
|
|