You are here

function cctags_settings_edit_item_submit in cctags 7

Same name and namespace in other branches
  1. 6 cctags.admin.inc \cctags_settings_edit_item_submit()

File

./cctags.admin.inc, line 326

Code

function cctags_settings_edit_item_submit($form, &$form_state) {
  if (!form_get_errors()) {
    foreach ($form_state['values'] as $key => $value) {
      if (is_numeric($key)) {
        $item['vocs'][$key] = $form_state['values']['cctags_select_' . $key];
        for ($i = 0; $i <= $form_state['values']['cctags_select_block_maxlevel']; $i++) {
          if (isset($form_state['values']['cctags_select_' . $key . '_level_' . $i])) {
            $item['level'][$key][$i] = $form_state['values']['cctags_select_' . $key . '_level_' . $i];
          }
        }
      }
    }
    $block_name = check_plain($form_state['values']['block'] == 1 ? empty($form_state['values']['block_name']) ? $form_state['values']['cctags_name'] : $form_state['values']['block_name'] : '');
    $page_path = $form_state['values']['page'] == 1 ? empty($form_state['values']['page_path']) ? 'cctags/page/' . $form_state['values']['cctags_cctid'] : $form_state['values']['page_path'] : '';
    $cctid = $form_state['values']['cctags_cctid'];
    $num_updated = db_update('cctags')
      ->fields(array(
      'block' => $form_state['values']['block'],
      'block_name' => $block_name,
      'page' => $form_state['values']['page'],
      'page_title' => check_plain($form_state['values']['page_title']),
      'page_path' => $page_path,
      'page_level' => $form_state['values']['page_level'],
      'page_amount' => $form_state['values']['page_amount'],
      'page_sort' => $form_state['values']['page_sort'],
      'page_mode' => $form_state['values']['page_mode'],
      'page_vocname' => $form_state['values']['page_vocname'],
      'page_extra_class' => $form_state['values']['page_extra_class'],
      'item_data' => serialize($item),
    ))
      ->condition('cctid', $cctid)
      ->execute();
    drupal_set_message(t('The Cctags item %name has been updated.', array(
      '%name' => check_plain($form_state['values']['cctags_name']),
    )));
    _cctags_clear_cache($cctid, 'all');
    menu_rebuild();
    $form_state['redirect'] = 'admin/config/content/cctags';
  }
}