$fields['validation_rule'] = NULL;
 } elseif ($fields['validator'] == 'custom') {
     $fields['validator'] = "custom";
     $fields['validation_rule'] = trim($fields['validation_rule']);
 } else {
     include TOOLKIT . '/util.validators.php';
     $fields['validator'] = intval($fields['validator']);
     $fields['validation_rule'] = NULL;
 }
 if ($fields['type'] == 'checkbox') {
     $fields['default_state'] = isset($fields['default_state']) ? 'checked' : 'unchecked';
 } else {
     $fields['default_state'] = 'na';
 }
 include_once TOOLKIT . "/class.customfieldmanager.php";
 $CustomFieldManager = new CustomFieldManager($Admin);
 $CustomField =& $CustomFieldManager->create();
 $CustomField->set('id', $field_id);
 foreach ($fields as $key => $val) {
     $CustomField->set($key, $val);
 }
 if ($CustomField->commit()) {
     $Admin->rebuildWorkspaceConfig();
     $Admin->flush_cache(array("entries", "customfields"));
     ###
     # Delegate: Edit
     # Description: After editing a customfield. ID is provided.
     $CampfireManager->notifyMembers('Edit', CURRENTPAGE, array('customfield_id' => $field_id));
     if (@array_key_exists("save", $_POST['action'])) {
         General::redirect($Admin->getCurrentPageURL() . "&id=" . $field_id . "&_f=saved");
     }
 *
 * Copyright 2004–2006 Twenty One Degrees Pty. Ltd.
 *
 * @version 1.7
 * @licence https://github.com/symphonycms/symphony-1.7/blob/master/LICENCE
 *
 ***/
$checked = @array_keys($_POST['items']);
switch ($_POST["with-selected"]) {
    case 'delete':
        $sql = "SELECT `primary_field` FROM `tbl_sections`";
        $primary_fields = $DB->fetchCol('primary_field', $sql);
        $fieldsList = array_map('intval', $checked);
        $fieldsList = array_diff($fieldsList, $primary_fields);
        if (is_array($fieldsList) && !empty($fieldsList)) {
            ###
            # Delegate: Delete
            # Description: Prior to deleting a custom field.
            #			   Array of fields is provided. This can be manipulated
            $CampfireManager->notifyMembers('Delete', CURRENTPAGE, array('customfields' => &$fieldsList));
            include_once TOOLKIT . "/class.customfieldmanager.php";
            $CustomFieldManager = new CustomFieldManager($Admin);
            foreach ($fieldsList as $id) {
                $CustomFieldManager->delete($id);
            }
            $Admin->rebuildWorkspaceConfig();
            $Admin->flush_cache(array("entries", "customfields"));
            General::redirect($Admin->getCurrentPageURL() . "&_f=complete");
        }
        break;
}