function scald_admin_type_form_submit in Scald: Media Management made easy 7
Submit function for admin settings for Scald Types.
Updated values are written directly back to the database and then the Scald Configuration Object is rebuilt from the db.
File
- includes/
scald.admin.inc, line 196
Code
function scald_admin_type_form_submit($form, &$form_state) {
$scald_atom_defaults = variable_get('scald_atom_defaults', array());
$type = $form_state['values']['atom_type'];
if (empty($scald_atom_defaults[$type])) {
$scald_atom_defaults[$type] = new stdClass();
}
foreach ($form_state['values'] as $key => $value) {
if (drupal_substr($key, 0, 5) == 'type_') {
$setting = substr($key, strlen(_scald_parse_machine_name($key)) + 1);
switch ($setting) {
case 'title':
db_update('scald_types')
->fields(array(
'title' => $value,
))
->condition('type', $type)
->execute();
break;
case 'thumb':
$scald_atom_defaults[$type]->thumbnail_source = $value;
break;
case 'descr':
$scald_atom_defaults[$type]->description = $value;
break;
case 'utype':
$scald_atom_defaults[$type]->upload_type = $value;
break;
case 'actin':
$actions = scald_actions();
$bitmask = 0;
foreach ($actions as $name => $action) {
if (!empty($value[$name])) {
$bitmask |= $action['bitmask'];
}
}
$scald_atom_defaults[$type]->actions = $bitmask;
break;
}
}
}
drupal_set_message(t('Atom settings changed'));
variable_set('scald_atom_defaults', $scald_atom_defaults);
scald_types(TRUE);
}