You are here

function cctags_settings_add_item_submit in cctags 7

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

File

./cctags.admin.inc, line 275

Code

function cctags_settings_add_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']):'';
    $page_path = $form_state['values']['page_path'];
    $page_title = check_plain($form_state['values']['page_title']);
    $fields = array(
      'name' => check_plain($form_state['values']['cctags_name']),
      'block' => $form_state['values']['block'],
      'block_name' => $block_name,
      'page' => $form_state['values']['page'],
      'page_title' => $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),
    );
    $cctid = db_insert('cctags')
      ->fields($fields)
      ->execute();
    if (empty($page_path) && $form_state['values']['page']) {
      $page_path = 'cctags/page/' . $cctid;
      db_update('cctags')
        ->fields(array(
        'page_path' => $page_path,
      ))
        ->condition('cctid', $cctid)
        ->execute();
    }
    drupal_set_message(t('The Cctags item %name has been created.', array(
      '%name' => check_plain($form_state['values']['cctags_name']),
    )));
    _cctags_clear_cache($cctid, 'all');
    $form_state['redirect'] = 'admin/config/content/cctags';
  }
}