You are here

function cctags_settings_add_item_submit in cctags 6

Same name and namespace in other branches
  1. 7 cctags.admin.inc \cctags_settings_add_item_submit()

File

./cctags.admin.inc, line 352

Code

function cctags_settings_add_item_submit($form, &$form_state) {
  if (!form_get_errors()) {
    if ($form_state['values']['op'] == t('Save cctag item')) {
      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++) {
            $item['level'][$key][$i] = $form_state['values']['cctags_select_' . $key . '_level_' . $i];
          }
        }
      }
      db_query("INSERT INTO {cctags} (name) VALUES ('%s')", check_plain($form_state['values']['cctags_name']));
      $cctid = db_last_insert_id('cctags', 'cctid');
      $block_name = check_plain(empty($form_state['values']['block_name']) ? $form_state['values']['block'] == 1 ? $form_state['values']['cctags_name'] : '' : $form_state['values']['block_name']);
      $page_path = empty($form_state['values']['page_path']) ? $form_state['values']['page'] == 1 ? 'cctags/page/' . $cctid : '' : $form_state['values']['page_path'];
      db_query("UPDATE {cctags} SET block=%d,block_name='%s',page=%d,page_title='%s',page_path='%s',page_level=%d,page_amount=%d,page_sort='%s',page_mode='%s',page_vocname=%d,item_data='%s' WHERE cctid=%d", $form_state['values']['block'], $block_name, $form_state['values']['page'], check_plain($form_state['values']['page_title']), $page_path, $form_state['values']['page_level'], $form_state['values']['page_amount'], $form_state['values']['page_sort'], $form_state['values']['page_mode'], $form_state['values']['page_vocname'], serialize($item), $cctid);
      drupal_set_message(t('The Cctags item %name has been created.', array(
        '%name' => check_plain($form_state['values']['cctags_name']),
      )));
      menu_rebuild();
      _cctags_clear_cache($cctid, 'all', TRUE);
      $form_state['redirect'] = 'admin/settings/cctags/list';
    }
  }
}