+function mkdru_add_facet_form($form, &$form_state) {
+ // TODO: validation
+ $newfacet = $form_state['values']['new_facet']['canonical'];
+ $form_state['values']['settings']['facets'][$newfacet] = NULL;
+ $form_state['rebuild'] = TRUE;
+}
+
+function mkdru_remove_facet($form, &$form_state) {
+ $delfacet = $form_state['clicked_button']['#mkdru facet'];
+ if ($delfacet)
+ unset($form_state['values']['settings']['facets'][$delfacet]);
+ // Block table is not rebuilt like in D6 so we need to remove blocks explicitly
+ // This is a bit preemptive but the block still reappears in block_list if you
+ // decide not to save the facet deletion.
+ db_delete('block')->condition(db_and()
+ ->condition('module', 'mkdru')
+ ->condition('delta', 'mkdru_facet_' . $delfacet . '_' . $form_state['values']['nid'])
+ )->execute();
+ $form_state['rebuild'] = TRUE;
+}
+
+function mkdru_ajax_facet_callback($form, &$form_state) {
+ return $form['settings']['facets'];
+}
+
+
+
+// Ding config
+function mkdru_ding_settings($form, &$form_state) {
+ $form_state['build_info']['args']['settings'] = variable_get('mkdru_ding', NULL);
+ $form = drupal_retrieve_form('mkdru_settings_form', $form_state);
+ $form['settings']['#title'] = t('Search settings for DING integration');
+ $form['submit'] = array(
+ '#type' => 'submit',
+ '#value' => 'Save configuration',
+ );
+ return $form;
+}
+
+function mkdru_ding_settings_submit($form, &$form_state) {
+ variable_set('mkdru_ding', $form_state['values']['settings']);
+ drupal_set_message(t('The configuration options have been saved.'));
+}
+