{"id":12679,"date":"2020-06-08T12:58:18","date_gmt":"2020-06-08T09:58:18","guid":{"rendered":"https:\/\/oz-plugin.com\/?page_id=12679"},"modified":"2021-10-30T10:18:57","modified_gmt":"2021-10-30T07:18:57","slug":"create-a-video-conference","status":"publish","type":"page","link":"https:\/\/oz-plugin.com\/es\/create-a-video-conference\/","title":{"rendered":"(EN) WordPress plugin for creating video conferences"},"content":{"rendered":"<p class=\"qtranxs-available-languages-message qtranxs-available-languages-message-es\">Disculpa, pero esta entrada est\u00e1 disponible s\u00f3lo en <a href=\"https:\/\/oz-plugin.com\/en\/wp-json\/wp\/v2\/pages\/12679\" class=\"qtranxs-available-language-link qtranxs-available-language-link-en\" title=\"EN\">Ingl\u00e9s Estadounidense<\/a>, <a href=\"https:\/\/oz-plugin.com\/ru\/wp-json\/wp\/v2\/pages\/12679\" class=\"qtranxs-available-language-link qtranxs-available-language-link-ru\" title=\"RU\">Ruso<\/a> y <a href=\"https:\/\/oz-plugin.com\/pb\/wp-json\/wp\/v2\/pages\/12679\" class=\"qtranxs-available-language-link qtranxs-available-language-link-pb\" title=\"PB\">Portugu\u00e9s De Brasil<\/a>.<\/p><p><\/p>\n<div class=\"row py-4\">\n<div class=\"col-12 col-md-6 position-static\">\n<div class=\"oz_form_wrap oz_form_wrap_form\">\n\t<style>\n.wpcf7 .ajax-loader {\n    visibility: hidden;\n    display: inline-block;\n    background-color: #23282d;\n    opacity: 0.75;\n    width: 24px;\n    height: 24px;\n    border: none;\n    border-radius: 100%;\n    padding: 0;\n    margin: 0 24px;\n    position: relative;\n}\n\n.wpcf7.loading .ajax-loader,\n.wpcf7 .sending .ajax-loader {\n\tvisibility:visible;\n}\n\n.wpcf7 .ajax-loader::before {\n    content: '';\n    position: absolute;\n    background-color: #fbfbfc;\n    top: 4px;\n    left: 4px;\n    width: 6px;\n    height: 6px;\n    border: none;\n    border-radius: 100%;\n    transform-origin: 8px 8px;\n    animation-name: spin;\n    animation-duration: 1000ms;\n    animation-timing-function: linear;\n    animation-iteration-count: infinite;\n}\n@media (prefers-reduced-motion: reduce) {\n\t.wpcf7 .ajax-loader::before {\n\t\tanimation-name: blink;\n\t\tanimation-duration: 2000ms;\n\t}\n}\n\n@keyframes spin {\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n@keyframes blink {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\t50% {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n.wpcf7-response-output.success {\n\tcolor:#fff;\n}\n\t<\/style>\n\t<div id=\"form-2\" class=\"wpcf7 loading\"><span class=\"ajax-loader\"><\/span><\/div>\n\t<script>\n\tfunction isInViewport(el) {\n\t\tconst rect = el.getBoundingClientRect();\n\t\treturn (\n\t\t\t(rect.bottom - rect.height)  <= (window.innerHeight || document.documentElement.clientHeight)\n\n\t\t);\n\t}\n\t\n\tconst loadVideo = async() => {\n\t\tif (isInViewport(document.querySelector('[data-loading=\"asyncSection\"]').closest('section'))) {\n\t\t\tdocument.removeEventListener('scroll', loadVideo);\n\t\t\t[...document.querySelectorAll('[data-loading=\"asyncSection\"]')].forEach(el => {\n\t\t\t\tel.innerHTML = '<div class=\"section_subscription__img\">'+\n\t\t\t\t\t'<video playsinline=\"\" autoplay=\"\" loop=\"\" muted=\"\">'+\n\t\t\t\t\t\t'<source src=\"https:\/\/oz-plugin.com\/wp-content\/themes\/2021\/video\/screencast-demo.oz-plugin.ru_.mp4\" type=\"video\/mp4\">'+\n\t\t\t\t\t\t'<source src=\"https:\/\/oz-plugin.com\/wp-content\/themes\/2021\/video\/screencast-demo.oz-plugin.ru_.ogv\" type=\"video\/ogg\">'+\n\t\t\t\t\t\t'<source src=\"https:\/\/oz-plugin.com\/wp-content\/themes\/2021\/video\/screencast-demo.oz-plugin.ru_.webm\" type=\"video\/webm\">'+\n\t\t\t\t\t\t'<img src=\"https:\/\/oz-plugin.com\/wp-content\/themes\/2021\/img\/subscription.png\">'+\n\t\t\t\t\t'<\/video>'+\n\t\t\t\t'<\/div>'\t\t\t\t\n\t\t\t})\n\t\t}\n\t}\n\t\n\tconst sendForm = async (form, data) => {\n\t\tconst msg = {\n\t\t\tsuccess: 'Thanks. The link was sent to you by email (also check the spam folder)',\n\t\t\terror: 'There was an error trying to send your message. Please try again later.',\n\t\t}\n\t\tform.classList.add('sending')\n\t\t\/\/let data = new FormData(e.target);\n\t\tlet body = new URLSearchParams();\n\t\tbody.set('action', 'send_form');\n\t\tif (Object.keys(data).length) {\n\t\t\tObject.entries(data).forEach(el => body.set(el[0], el[1]))\n\t\t}\n\t\ttry {\n\t\t\tlet res = await (await fetch('https:\/\/oz-plugin.com\/wp-admin\/admin-ajax.php', {\n\t\t\t\tmethod: 'post',\n\t\t\t\tbody\n\t\t\t})).json();\n\t\t\tform.classList.remove('sending')\n\t\t\tif (res.success) {\n\t\t\t\tform.reset()\n\t\t\t\tform.querySelector('.oz-form').style.visibility = 'hidden'\n\t\t\t\tform.querySelector('.oz-form').style.height = 0\n\t\t\t\tform.querySelector('.wpcf7-response-output').innerText = res.text\n\t\t\t\tform.querySelector('.wpcf7-response-output').classList.add('success')\n\t\t\t\tform.classList.add('sent')\n\t\t\t}\n\t\t\telse {\n\t\t\t\tform.classList.add('invalid')\n\t\t\t\tform.querySelector('.wpcf7-response-output').innerText = res.text\n\t\t\t}\n\t\t}\n\t\tcatch (e) {\n\t\t\tconsole.log(e)\n\t\t}\n\t}\n\t\n\tconst loadFormAsync = () => {\n\t\tif (isInViewport(document.getElementById('form-2').closest('section'))) {\n\t\t\tdocument.removeEventListener('DOMContentLoaded', loadFormAsync);\n\t\t\t(async ()=> {\n\t\t\t\t\tlet body = new URLSearchParams();\n\t\t\t\t\tbody.set('action', 'load_form');\n\t\t\t\t\t\t\t\t\t\tbody.set('type', 'conf_page');\n\t\t\t\t\t\t\t\t\t\tlet res = await (await fetch('https:\/\/oz-plugin.com\/wp-admin\/admin-ajax.php', {\n\t\t\t\t\t\tmethod: 'post',\n\t\t\t\t\t\tbody\n\t\t\t\t\t})).text();\n\t\t\t\t\tif (res && document.getElementById('form-2')) {\n\t\t\t\t\t\tdocument.getElementById('form-2').classList.remove('loading')\n\t\t\t\t\t\tdocument.getElementById('form-2').innerHTML = res\n\t\t\t\t\t\tdocument.getElementById('form-2').getElementsByTagName('form')[0].onsubmit = async (e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tlet form = e.target.elements\n\t\t\t\t\t\t\tlet req = [];\n\t\t\t\t\t\t\tlet data = {}\n\t\t\t\t\t\t\tfor (let input of form) {\n\t\t\t\t\t\t\t\tlet isValid = true;\n\t\t\t\t\t\t\t\tswitch(input.type) {\n\t\t\t\t\t\t\t\t\tcase 'text':\n\t\t\t\t\t\t\t\t\t\tif (input.ariaRequired == 'true' && (!input.value || input.value == '')) {\n\t\t\t\t\t\t\t\t\t\t\treq.push(input)\n\t\t\t\t\t\t\t\t\t\t\tisValid = false\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 'email':\n\t\t\t\t\t\t\t\t\t\tconst re = \/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/;\n\t\t\t\t\t\t\t\t\t\tif (input.ariaRequired == 'true' && (!input.value || input.value == '' || !re.test(String(input.value).toLowerCase()) )) {\n\t\t\t\t\t\t\t\t\t\t\treq.push(input)\n\t\t\t\t\t\t\t\t\t\t\tisValid = false\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 'submit':\n\t\t\t\t\t\t\t\t\tisValid = false\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\t\t\t\tdata[input.name] = input.value\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (req.length) {\n\t\t\t\t\t\t\t\te.target.classList.add('invalid')\n\t\t\t\t\t\t\t\treq.forEach(el => el.classList.add('wpcf7-not-valid'))\n\t\t\t\t\t\t\t\tif (e.target.querySelector('.wpcf7-response-output'))\n\t\t\t\t\t\t\t\t\te.target.querySelector('.wpcf7-response-output').innerText = 'One or more fields have an error. Please check and try again.'\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\te.target.classList.remove('invalid')\n\t\t\t\t\t\t\t\t\treq.forEach(el => el.classList.remove('wpcf7-not-valid'))\n\t\t\t\t\t\t\t\tif (e.target.querySelector('.wpcf7-response-output'))\n\t\t\t\t\t\t\t\t\te.target.querySelector('.wpcf7-response-output').innerText = ''\n\t\t\t\t\t\t\t\t},2000)\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsendForm(e.target, data)\n\/* \t\t\t\t\tgrecaptcha.ready(function() {\n\t\t\t\t\t  grecaptcha.execute('6LeEZ4EaAAAAAOHgsc1sgCbQhS7f-et2lRx9DK_q', {action: 'submit'}).then(function(token) {\n\t\t\t\t\t\t  if (token) {\n\t\t\t\t\t\t\t  sendForm(e.target, data)\n\t\t\t\t\t\t  }\n\t\t\t\t\t  }).catch(err => console.log(err));\n\t\t\t\t\t}); *\/\n\t\t\t\t\t\t}\t\n\/* \t\t\t\t\t\tlet captcha = document.createElement(\"script\");\n\t\t\t\t\t\tcaptcha.setAttribute(\"src\", \"https:\/\/www.google.com\/recaptcha\/api.js?render=6LeEZ4EaAAAAAOHgsc1sgCbQhS7f-et2lRx9DK_q\");\n\t\t\t\t\t\tdocument.body.appendChild(captcha); *\/\n\t\t\t\t\t}\n\t\t\t\t})()\t\t\t\n\t\t}\n\n\t}\n\t\n\n\t\n\tdocument.addEventListener('DOMContentLoaded', loadFormAsync, {\n\t\tpassive: true\n\t});\n\tdocument.addEventListener('scroll', loadVideo, {\n\t\tpassive: true\n\t});\n\n\t<\/script>\n\t\n<\/div>\n<\/div>\n<div class=\"col-12 col-md-6 px-5\">\n<div class=\"single-feature\">\n<h5>Try video conferencing service<\/h5>\n<p>Submit a request and we will create video conference room for 15 minutes for you. A link to the room will be sent to you by email (also check spam folder). Open this link on two devices (on your phone and your PC for example) to start a video conference with built-in chat\n<\/p><\/div>\n<\/div>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Disculpa, pero esta entrada est\u00e1 disponible s\u00f3lo en Ingl\u00e9s Estadounidense, Ruso y Portugu\u00e9s De Brasil. Try video conferencing service Submit a request and we will create video conference room for 15 minutes for you. A link to the room will be sent to you by email (also check spam folder). Open this link on two [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/pages\/12679"}],"collection":[{"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/comments?post=12679"}],"version-history":[{"count":0,"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/pages\/12679\/revisions"}],"wp:attachment":[{"href":"https:\/\/oz-plugin.com\/es\/wp-json\/wp\/v2\/media?parent=12679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}