';
// If the COA was a scan, surface the review note.
if (!$row['text_ok']) {
echo '
This certificate is a scanned image. Individual cannabinoid and '
. 'contaminant values are pending OCR extraction. The full signed lab document remains the '
. 'authoritative record.
';
}
// PDF / document link. Today there is no public PDF host; link is the on-site
// page until R2 (coa.solverraholistics.com) is enabled. Swap point noted.
$pdf_url = solverra_coa_pdf_url($row, $settings);
if ($pdf_url !== '') {
echo '
';
}
// Resolve the public PDF URL. Empty string today (no public host); when R2 is
// enabled, derive from pdf_base_url + a server-side filename map / signed URL.
function solverra_coa_pdf_url($row, $settings) {
if (solverra_coa_source() !== 'r2kv') {
return '';
}
$base = isset($settings['pdf_base_url']) ? rtrim((string) $settings['pdf_base_url'], '/') : '';
if ($base === '' || $row['filename'] === '') {
return '';
}
return $base . '/' . rawurlencode($row['filename']);
}
// ---------------------------------------------------------------------------
// 11. Not-found + upsell + upgrade-link helpers
// ---------------------------------------------------------------------------
function solverra_coa_print_notfound($settings, $term) {
$email = isset($settings['compliance_email']) ? $settings['compliance_email'] : 'compliance@solverraholistics.com';
echo '
';
echo '
No matching certificate found
';
echo '
We could not find a COA for ' . esc_html($term) . '. '
. 'Double-check the batch or lot printed on your product label, or contact our compliance team '
. 'and we will send the certificate directly.
';
}
// ---------------------------------------------------------------------------
// 17. Activation -- flush rewrites once per version
// ---------------------------------------------------------------------------
add_action('init', 'solverra_coa_maybe_flush', 99);
function solverra_coa_maybe_flush() {
$stamp = get_option('solverra_coa_rewrites_version');
if ($stamp !== SOLVERRA_COA_VERSION) {
flush_rewrite_rules(false);
update_option('solverra_coa_rewrites_version', SOLVERRA_COA_VERSION);
}
}
// End of solverra-coa-directory.php
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 1597
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-perf.php on line 218
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 165
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 167
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 168
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 169
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 170
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 180
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 183
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-hardening.php on line 184
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-includes/pluggable.php on line 1535
Warning: Cannot modify header information - headers already sent by (output started at /home/solverraholistic/public_html/wp-content/mu-plugins/solverra-coa-directory.php:774) in /home/solverraholistic/public_html/wp-includes/pluggable.php on line 1538