You are here

function customfilter_export_form_submit in Custom filter 7

Same name and namespace in other branches
  1. 5 customfilter.module \customfilter_export_form_submit()
  2. 6 customfilter.admin.inc \customfilter_export_form_submit()
  3. 7.2 customfilter.module \customfilter_export_form_submit()

Return the form with exported data.

Parameters

$form:

$form_state:

Return value

array A form with the exported data

File

./customfilter.module, line 678
Allows the users with the right permission to define custom filters.

Code

function customfilter_export_form_submit($form, &$form_state) {
  $form_state['storage'] = $_SESSION['customfilter_storage'];
  $step = isset($form_state['storage']['step']) ? $form_state['storage']['step'] : 1;
  if ($step == 1) {
    $export_data = array();
    $fid = $form_state['values']['filters'];
    $filters = $form['#filters'];
    if ($filter = $filters[$fid]) {
      $export_data[] = '$filter = array(';
      $export_data[] = "  'fid' => _customfilter_map_filter_id('" . $filter['fid'] . "'),";
      $export_data[] = "  'type' => base64_decode('" . base64_encode($filter['type']) . "'),";
      $export_data[] = "  'name' => base64_decode('" . base64_encode($filter['name']) . "'),";
      $export_data[] = "  'cache' => {$filter['cache']},";
      $export_data[] = "  'description' => base64_decode('" . base64_encode($filter['description']) . "'),";
      $export_data[] = "  'shorttip' => base64_decode('" . base64_encode($filter['shorttip']) . "'),";
      $export_data[] = "  'longtip' => base64_decode('" . base64_encode($filter['longtip']) . "'),";
      $export_data[] = ");";
      $export_data[] = '';
      $rules = array();
      _customfilter_rules_tree($rules, $fid, 0);
      foreach ($rules as $rule) {
        $export_data[] = '$rules[] = array(';
        $export_data[] = "  'rid' => _customfilter_map_rule_id('" . $rule['rid'] . "'),";
        $export_data[] = "  'fid' => _customfilter_map_filter_id('" . $filter['fid'] . "'),";
        $export_data[] = "  'prid' => _customfilter_map_rule_id('" . $rule['prid'] . "'),";
        $export_data[] = "  'name' => base64_decode('" . base64_encode($rule['name']) . "'),";
        $export_data[] = "  'description' => base64_decode('" . base64_encode($rule['description']) . "'),";
        $export_data[] = "  'enabled' => {$rule['enabled']},";
        $export_data[] = "  'matches' => base64_decode('" . base64_encode($rule['matches']) . "'),";
        $export_data[] = "  'pattern' => base64_decode('" . base64_encode($rule['pattern']) . "'),";
        $export_data[] = "  'replacement' => base64_decode('" . base64_encode($rule['replacement']) . "'),";
        $export_data[] = "  'code' => {$rule['code']},";
        $export_data[] = "  'weight' => {$rule['weight']},";
        $export_data[] = ");";
      }
    }
    $form_state['storage']['step'] = 2;
    $form_state['storage']['export_data'] = count($export_data) ? implode("\n", $export_data) : '';
    $_SESSION['customfilter_storage'] = $form_state['storage'];
  }
}