{
  "name": "LEO CF7 mail body UTM ensure v1 - runonce",
  "code": "add_action('init', function() {\n    if (get_option('leo_cf7_mail_utm_ensure_v1') === 'done') return;\n    if (!class_exists('WPCF7_ContactForm')) return;\n    $ids = array(1749, 2240, 2520, 2815);\n    $utm_lines = array('UTM Source: [utm_source]','UTM Medium: [utm_medium]','UTM Campaign: [utm_campaign]','UTM Term: [utm_term]','UTM Content: [utm_content]','Gclid: [gclid]');\n    $log = array();\n    foreach ($ids as $fid) {\n        $cf = WPCF7_ContactForm::get_instance($fid);\n        if (!$cf) { $log[$fid] = 'not found'; continue; }\n        $mail = $cf->prop('mail');\n        $body = isset($mail['body']) ? $mail['body'] : '';\n        $needs = array('[utm_source]','[utm_medium]','[utm_campaign]','[utm_term]','[utm_content]','[gclid]');\n        $missing = array();\n        foreach ($needs as $tag) { if (strpos($body, $tag) === false) $missing[] = $tag; }\n        if (empty($missing)) { $log[$fid] = 'already ok'; continue; }\n        $lines = explode(\"\\n\", $body);\n        $filtered = array();\n        foreach ($lines as $ln) {\n            $t = trim($ln);\n            if (preg_match('/^(utm\\s|gclid:)/i', $t)) continue;\n            $filtered[] = $ln;\n        }\n        while (count($filtered) > 0 && trim(end($filtered)) === '') array_pop($filtered);\n        $new_body = implode(\"\\n\", $filtered) . \"\\n\\n\" . implode(\"\\n\", $utm_lines);\n        $mail['body'] = $new_body;\n        $cf->set_properties(array('mail' => $mail));\n        $ok = $cf->save();\n        $log[$fid] = $ok ? 'patched' : 'save failed';\n    }\n    update_option('leo_cf7_mail_utm_ensure_v1_log', $log);\n    update_option('leo_cf7_mail_utm_ensure_v1', 'done');\n}, 20);",
  "active": true,
  "scope": "global",
  "priority": 10
}
