[{"id":2,"date":"2025-04-14T10:33:47","date_gmt":"2025-04-14T10:33:47","guid":{"rendered":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/?page_id=2"},"modified":"2025-05-12T10:30:48","modified_gmt":"2025-05-12T10:30:48","slug":"sample-page","status":"publish","type":"page","link":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/","title":{"rendered":""},"content":{"rendered":"    <div class=\"wp-block-zolid-certificate-generator-certificate-form zcg-hero-container\">\n        <div class=\"zcg-logo-container\">\n            <img decoding=\"async\" src=\"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-content\/plugins\/zolid-certificate-generator\/assets\/images\/AG_Logo_SZ_w.png\" alt=\"Amann Girrbach Logo\" class=\"zcg-hero-logo\">\n        <\/div>\n        <h2 class=\"zcg-hero-title\">Zolid Product Certificate<\/h2>\n        <p class=\"zcg-hero-subtitle\">Enter your product HIBC code to generate your warranty certificate<\/p>\n        \n        <div class=\"zcg-form-container\">\n            <div id=\"zcg-message\" class=\"zcg-message\"><\/div>\n            \n            <form id=\"zcg-certificate-form\" method=\"post\">\n                <div class=\"zcg-form-row\">\n                    <label for=\"zcg-hibc-code\">Enter HIBC Code<\/label>\n                    <input type=\"text\" id=\"zcg-hibc-code\" name=\"hibc_code\" required \n                           placeholder=\"Example: +E999ZOLMULTI7Z\/90123ABC\">\n                <\/div>\n                \n                <div class=\"zcg-form-row\">\n                    <label for=\"zcg-email\">Email Address<\/label>\n                    <input type=\"email\" id=\"zcg-email\" name=\"email\" required\n                           placeholder=\"Your email address\">\n                <\/div>\n                \n                <div class=\"zcg-form-row\">\n                    <input type=\"hidden\" id=\"zcg-nonce\" name=\"nonce\" value=\"ca56ff3543\">\n                    <button type=\"submit\" class=\"zcg-submit-button\">\n                        Generate Certificate                    <\/button>\n                    <span class=\"zcg-spinner\" style=\"display: none;\">\n                        Processing&#8230;                    <\/span>\n                <\/div>\n            <\/form>\n        <\/div>\n    <\/div>\n    \n    <!-- Inline script to handle form submission via AJAX -->\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n        const certificateForm = document.getElementById('zcg-certificate-form');\n        const messageDiv = document.getElementById('zcg-message');\n        const submitButton = certificateForm.querySelector('.zcg-submit-button');\n        const spinner = certificateForm.querySelector('.zcg-spinner');\n        \n        certificateForm.addEventListener('submit', function(event) {\n            event.preventDefault(); \/\/ Prevent default form submission\n            \n            \/\/ Basic form validation\n            const hibcInput = document.getElementById('zcg-hibc-code');\n            const emailInput = document.getElementById('zcg-email');\n            const nonceInput = document.getElementById('zcg-nonce');\n            \n            if (!hibcInput.value.trim()) {\n                messageDiv.textContent = 'Please enter a HIBC code.';\n                messageDiv.className = 'zcg-message zcg-error';\n                return;\n            }\n            \n            if (!emailInput.value.trim() || !\/^\\S+@\\S+\\.\\S+$\/.test(emailInput.value)) {\n                messageDiv.textContent = 'Please enter a valid email address.';\n                messageDiv.className = 'zcg-message zcg-error';\n                return;\n            }\n            \n            \/\/ Show loading state\n            submitButton.disabled = true;\n            spinner.style.display = 'inline-block';\n            messageDiv.textContent = '';\n            messageDiv.className = 'zcg-message';\n            \n            \/\/ Create form data for submission\n            const formData = new FormData(certificateForm);\n            formData.append('action', 'zolid_generate_certificate');\n            \n            \/\/ Send AJAX request\n            fetch('https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                body: formData\n            })\n            .then(function(response) {\n                const contentType = response.headers.get('content-type');\n                \n                if (response.ok && contentType && contentType.includes('application\/pdf')) {\n                    \/\/ PDF download success\n                    return response.blob().then(function(blob) {\n                        const url = window.URL.createObjectURL(blob);\n                        const a = document.createElement('a');\n                        a.style.display = 'none';\n                        a.href = url;\n                        a.download = 'zolid-certificate.pdf';\n                        document.body.appendChild(a);\n                        a.click();\n                        window.URL.revokeObjectURL(url);\n                        a.remove();\n                        \n                        \/\/ Show success message\n                        messageDiv.textContent = 'Certificate download initiated successfully!';\n                        messageDiv.className = 'zcg-message zcg-success';\n                    });\n                } else {\n                    \/\/ Handle error response\n                    return response.json().then(function(data) {\n                        let errorMsg = 'An unexpected error occurred. Please try again.';\n                        if (data && data.data && data.data.message) {\n                            errorMsg = data.data.message;\n                        }\n                        messageDiv.textContent = errorMsg;\n                        messageDiv.className = 'zcg-message zcg-error';\n                    }).catch(function() {\n                        messageDiv.textContent = 'Server error. Please try again later.';\n                        messageDiv.className = 'zcg-message zcg-error';\n                    });\n                }\n            })\n            .catch(function(error) {\n                \/\/ Network error handling\n                messageDiv.textContent = 'Connection error. Please check your internet connection.';\n                messageDiv.className = 'zcg-message zcg-error';\n                console.error('AJAX Error:', error);\n            })\n            .finally(function() {\n                \/\/ Re-enable form submission\n                submitButton.disabled = false;\n                spinner.style.display = 'none';\n            });\n        });\n    });\n    <\/script>\n    ","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_acf_changed":false,"_eb_attr":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/comments?post=2"}],"version-history":[{"count":0,"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/pages\/2\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.amanngirrbach.com\/zolid-certificate\/wp-json\/wp\/v2\/media?parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}]