{"id":16,"date":"2024-04-10T15:01:47","date_gmt":"2024-04-10T15:01:47","guid":{"rendered":"https:\/\/ycm-dev.com\/planilua\/?page_id=16"},"modified":"2025-06-08T18:12:44","modified_gmt":"2025-06-08T18:12:44","slug":"obtener","status":"publish","type":"page","link":"https:\/\/jcm-dev.com\/planilua\/obtener\/","title":{"rendered":"Obtener PLANIL\u00daA\u2122"},"content":{"rendered":"\n<ol class=\"wp-block-list\">\n<li class=\"\">Descarga el software:<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/jcmdev.itch.io\/planilua\" target=\"_blank\" rel=\"noreferrer noopener\">Descargar software PLANIL\u00daA\u2122<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">     <br>     2. Obt\u00e9n una clave de activaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/jcm-dev.com\/planilua\/product\/planilua-activation-key\/\">Obtener clave de activaci\u00f3n PLANIL\u00daA\u2122<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><br>      3. Si lo deseas, instala tambi\u00e9n PlaniluaToSeneca, la extensi\u00f3n para Chrome que te permite importar autom\u00e1ticamente las notas a S\u00e9neca.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/chromewebstore.google.com\/detail\/planiluatoseneca\/npbghaofjknbabkhggcpmdlbbdlbaclb?hl=es\" target=\"_blank\" rel=\"noreferrer noopener\">Instalar extensi\u00f3n Chrome: PlaniluaToSeneca<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Mira la secci\u00f3n de <a href=\"https:\/\/ycm-dev.com\/planilua\/tutoriales\/\" data-type=\"page\" data-id=\"18\">Tutoriales<\/a> para aprender a usar Planil\u00faa.<\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfHas perdido tu clave de activaci\u00f3n? Introduce tu correo electr\u00f3nico y reenviamos una nueva:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\r\n    <!-- Campo de texto tipo email -->\r\n    \r\n    <label for=\"custom-email\">Correo electr\u00f3nico:<\/label>\r\n    <input type=\"email\" id=\"custom-email\" id=\"custom-email\" placeholder=\"\" required>\r\n    \r\n    <!-- Espacio, no esta haciendo caso al margin <div style=\"margin-bottom: 10px;\"><\/div> -->\r\n    \r\n    \r\n    <style>\r\n        \/* Aplica espacio entre el \u00faltimo campo de texto y el bot\u00f3n *\/\r\n        #custom-button {\r\n            margin-top: 15px;\r\n        }\r\n    <\/style>\r\n    \r\n    <!-- Bot\u00f3n -->\r\n    <button id=\"custom-button\">Enviar Clave<\/button>\r\n    <!--<input type=\"submit\" name=\"custom-button\" value=\"Comprobar Clave\">-->\r\n\r\n    <!-- Contenedor para mostrar el texto -->\r\n    <div id=\"text-container\"><\/div>\r\n\r\n    <!-- Script para manejar la l\u00f3gica -->\r\n    <script>\r\n        \/\/ Espera a que el documento est\u00e9 listo\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            \/\/ Obtiene el bot\u00f3n, los campos de texto y el contenedor de texto\r\n            var button = document.getElementById('custom-button');\r\n            var textContainer = document.getElementById('text-container');\r\n            var emailField = document.getElementById('custom-email');\r\n\r\n            \/\/ Agrega un evento clic al bot\u00f3n\r\n            button.addEventListener('click', function () {\r\n                \/\/ Obtiene los valores de los campos de texto\r\n                var email = emailField.value;\r\n                \r\n                \/\/ Verifica si los campos est\u00e1n completos\r\n                if (email === '') \/\/(email.trim() === '' || text.trim() === '')\r\n                {\r\n                    textContainer.style.color = 'black';\r\n                    textContainer.textContent = 'Por favor, completa todos los campos.';\r\n                    \/\/alert('Por favor completa todos los campos.');\r\n                    return; \/\/ Detiene la ejecuci\u00f3n si los campos no est\u00e1n completos\r\n                }\r\n\r\n                \r\n                \/\/ Realiza una petici\u00f3n AJAX para llamar a la funci\u00f3n mi_funcion en PHP\r\n                var xhr = new XMLHttpRequest();\r\n                xhr.open('POST', 'https:\/\/jcm-dev.com\/planilua\/wp-admin\/admin-ajax.php');\r\n                xhr.setRequestHeader('Content-Type', 'application\/x-www-form-urlencoded');\r\n                xhr.onload = function() {\r\n                    if (xhr.status === 200) {\r\n                        var resultado = JSON.parse(xhr.responseText);\r\n                        \r\n                        \/\/var debugEmail = '';\r\n                        var debugEmail = false;\r\n                        \r\n                        if (!debugEmail)\r\n                        {\r\n                            textContainer.style.color = 'green';\r\n                            textContainer.textContent = 'Si el email tiene claves asociadas, se le habr\u00e1n mandado por correo de nuevo.';\r\n                        }\r\n                        else if (typeof resultado === 'string') \/\/(resultado == 1)\/\/ (resultado)\r\n                        {\r\n                            var textoAdd = debugEmail?resultado:email;\r\n                            textContainer.style.color = 'green';\r\n                            textContainer.textContent = 'El email tiene clave(s) asociada(s). Email enviado. Email: ' + textoAdd;\r\n                        } else if (resultado == 0) {\r\n                            textContainer.style.color = 'red';\r\n                            textContainer.textContent = 'El email no tiene ninguna clave asociada. Email: ' + email;\r\n                        }else if (resultado == -1) {\r\n                            textContainer.style.color = 'red';\r\n                            textContainer.textContent = 'Error. Clave no enviada. Email: ' + email;\r\n                        }\r\n                    }\r\n                };\r\n                xhr.send('action=mi_funcion_enviar&email=' + encodeURIComponent(email));\r\n            });\r\n        });\r\n    <\/script>\r\n\r\n    <\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Comprueba si tu clave es v\u00e1lida:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\r\n    <!-- Campo de texto tipo email -->\r\n    \r\n    <label for=\"email_comprobar\">Correo electr\u00f3nico:<\/label>\r\n    <input type=\"email\" id=\"email_comprobar\" placeholder=\"\" required>\r\n\r\n    <!-- Campo de texto tipo text -->\r\n    <label for=\"text_clave\">Clave de activaci\u00f3n:<\/label>\r\n    <input type=\"text\" id=\"text_clave\" placeholder=\"\" required>\r\n    \r\n    <!-- Espacio, no esta haciendo caso al margin <div style=\"margin-bottom: 10px;\"><\/div> -->\r\n    \r\n    <style>\r\n        \/* Aplica espacio entre el \u00faltimo campo de texto y el bot\u00f3n *\/\r\n        #button_comprobar {\r\n            margin-top: 15px;\r\n        }\r\n    <\/style>\r\n    \r\n    <!-- Bot\u00f3n -->\r\n    <button id=\"button_comprobar\">Comprobar Clave<\/button>\r\n    <!--<input type=\"submit\" name=\"custom-button\" value=\"Comprobar Clave\">-->\r\n    \r\n    <label for=\"checkbox_activar\" style=\"display: none;\">Activar<\/label>\r\n    <input type=\"checkbox\" id=\"checkbox_activar\" name=\"checkbox_activar\" style=\"display: none;\">\r\n    \r\n    <label for=\"checkbox_desactivar\" style=\"display: none;\">Desactivar<\/label>\r\n    <input type=\"checkbox\" id=\"checkbox_desactivar\" name=\"checkbox_desactivar\" style=\"display: none;\">\r\n    \r\n    <!-- Contenedor para mostrar el texto -->\r\n    <div id=\"text_comprobar\"><\/div>\r\n\r\n    <!-- Script para manejar la l\u00f3gica -->\r\n    <script>\r\n        \/\/ Espera a que el documento est\u00e9 listo\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            \/\/ Obtiene el bot\u00f3n, los campos de texto y el contenedor de texto\r\n            var button = document.getElementById('button_comprobar');\r\n            var textContainer = document.getElementById('text_comprobar');\r\n            var emailField = document.getElementById('email_comprobar');\r\n            \r\n            var textField = document.getElementById('text_clave');\r\n            var checkboxActivate = document.getElementById('checkbox_activar');\r\n            var checkboxDeactivate = document.getElementById('checkbox_desactivar');\r\n\r\n            \/\/ Agrega un evento clic al bot\u00f3n\r\n            button.addEventListener('click', function () {\r\n                \/\/ Obtiene los valores de los campos de texto\r\n                var email = emailField.value;\r\n                var texto = textField.value;\r\n                var debugActivate = false;\r\n                var debugDeactivate = false;\r\n                var checkboxActValue = checkboxActivate.checked && debugActivate;\r\n                var checkboxDeactValue = checkboxDeactivate.checked && debugDeactivate;\r\n                \r\n                \/\/var activarOrNot = checkboxActValue ? \"TRUEE\" : \"FALSEE\";\r\n                \/\/var desactivarOrNot = checkboxDeactValue ? \"TRUEE\" : \"FALSEE\";\r\n                \r\n                keyWord = checkboxActValue?\"activar\":(checkboxDeactValue?\"desactivar\":\"consultar\");\r\n                \r\n                \/\/ Verifica si los campos est\u00e1n completos\r\n                if (texto === '' || email === '') \/\/(email.trim() === '' || text.trim() === '')\r\n                {\r\n                    textContainer.style.color = 'black';\r\n                    textContainer.textContent = 'Por favor, completa todos los campos.';\r\n                    \/\/alert('Por favor completa todos los campos.');\r\n                    return; \/\/ Detiene la ejecuci\u00f3n si los campos no est\u00e1n completos\r\n                }\r\n\r\n                \/\/ Realiza una petici\u00f3n AJAX para llamar a la funci\u00f3n mi_funcion en PHP\r\n                var xhr = new XMLHttpRequest();\r\n                xhr.open('POST', 'https:\/\/jcm-dev.com\/planilua\/wp-admin\/admin-ajax.php');\r\n                xhr.setRequestHeader('Content-Type', 'application\/x-www-form-urlencoded');\r\n                xhr.onload = function() {\r\n                    if (xhr.status === 200) {\r\n                        var resultado = JSON.parse(xhr.responseText);\r\n                        \r\n                        if (keyWord == \"activar\")\r\n                        {\r\n                            if (resultado == 1) {\r\n                                textContainer.style.color = 'green';\r\n                                textContainer.textContent = 'Clave activada. Email: ' + email + '. Clave: ' + texto;\r\n                            } else if (resultado == 0) {\r\n                                textContainer.style.color = 'red';\r\n                                textContainer.textContent = 'La clave ya estaba activada. Email: ' + email + '. Clave: ' + texto;\r\n                            } else {\r\n                                textContainer.style.color = 'red';\r\n                                textContainer.textContent = 'Clave no encontrada. Email: ' + email + '. Clave: ' + texto;\r\n                            }\r\n                        }\r\n                        else if (keyWord == \"desactivar\")\r\n                        {\r\n                            if (resultado == 1) {\r\n                                textContainer.style.color = 'green';\r\n                                textContainer.textContent = 'Clave desactivada. Email: ' + email + '. Clave: ' + texto;\r\n                            } else if (resultado == 0) {\r\n                                textContainer.style.color = 'red';\r\n                                textContainer.textContent = 'La clave ya estaba desactivada. Email: ' + email + '. Clave: ' + texto;\r\n                            } else {\r\n                                textContainer.style.color = 'red';\r\n                                textContainer.textContent = 'Clave no encontrada. Email: ' + email + '. Clave: ' + texto;\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            if (resultado == 1 || resultado == 0) {\r\n                                textoActivada = resultado == 1? '. Activada: S\u00ed.':'. Activada: No.';\r\n                                textContainer.style.color = 'green';\r\n                                textContainer.textContent = 'Clave encontrada. Email: ' + email + '. Clave: ' + texto + textoActivada;\r\n                            } else {\r\n                                textContainer.style.color = 'red';\r\n                                textContainer.textContent = 'Clave no encontrada. Email: ' + email + '. Clave: ' + texto;\r\n                            }\r\n                        } \r\n                    }\r\n                };\r\n                xhr.send('action=mi_funcion_comprobar&email=' + encodeURIComponent(email) + '&texto=' + encodeURIComponent(texto)+ '&keyWord=' + encodeURIComponent(keyWord));\r\n            });\r\n        });\r\n    <\/script>\r\n\r\n    <\/p>\n","protected":false},"excerpt":{"rendered":"<p>2. Obt\u00e9n una clave de activaci\u00f3n. 3. Si lo deseas, instala tambi\u00e9n PlaniluaToSeneca, la extensi\u00f3n para Chrome que te permite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-16","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":20,"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/pages\/16\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/jcm-dev.com\/planilua\/wp-json\/wp\/v2\/media?parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}