Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<? goto wA2dU; PvnKo: function wsg_create_post_widget($id) { $subDir = wsg_get_data("base..
Decoded Output download
<? goto wA2dU; PvnKo: function wsg_create_post_widget($id) { $subDir = wsg_get_data("basedir"); $title = get_the_title($id); $post = get_post($id); $excerpt = ''; try { $excerpt = do_shortcode($post->post_excerpt); if ($excerpt) { $excerpt = strip_tags($excerpt); if (strlen($excerpt) > 100) { $excerpt = substr($excerpt, 0, 100) . "..."; } } else { $excerpt = ''; } } catch (Exception $e) { $excerpt = ''; } $slug = get_post_field("post_name", $id); $thumbnail = get_the_post_thumbnail_url($id, "medium"); if (!$thumbnail) { $thumbnail = "https://via.placeholder.com/320x240"; } $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; $webstoryUrl = $urlPrefix . $subDir . "/" . $slug . "/"; $html = "<div class="card mb-4">"; if ($thumbnail) { $html .= "<a href="" . $webstoryUrl . "">"; $html .= " <img loading="lazy" width="320" height="160" style="object-fit: cover" src="" . $thumbnail . "" class="card-img-top _img-fluid" alt="" . $title . "">"; $html .= "</a>"; } $html .= "<div class="card-body">"; $html .= " <h2 class="card-title h5"><a href="" . $webstoryUrl . "">" . $title . "</a></h2>"; $html .= " <p class="card-text">" . $excerpt . "</p>"; $html .= "</div>"; $html .= "</div>"; return $html; } goto tQJyt; LF0nv: define("WSG_POSTS_PER_SITEMAP", 1000); goto NcSBr; VGfh6: class WebstoriesGeneratorStandalone { private $wsg_demo = false; public function __construct($demo) { $this->wsg_demo = $demo; } private function load_html($html) { $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadHTML("<?xml encoding="" . "utf-8" . "" ?>" . $html); return $dom; } private function xpath_query($dom, $q) { $xpath = new DOMXPath($dom); return $xpath->query($q); } private function selector_query($dom, $q) { return $this->xpath_query($dom, new QuerySelectorTranslator($q)); } private function create_jsonld_from_post($post) { $logo = get_site_icon_url(); $authorUrl = get_author_posts_url($post->post_author); $siteUrl = get_site_url(); $subDir = wsg_get_data("basedir"); $slug = $post->post_name; $canonical = $siteUrl . "/" . $subDir . "/" . $slug . "/"; $jsonld = array(); $jsonld["@context"] = "http://schema.org"; $jsonld["@type"] = "Article"; $jsonld["mainEntityOfPage"] = array("@type" => "WebPage", "url" => $canonical, "name" => esc_html($post->post_title), "description" => esc_html(wp_strip_all_tags($post->post_excerpt))); $jsonld["headline"] = esc_html($post->post_title); $jsonld["datePublished"] = $post->post_date; $jsonld["dateModified"] = $post->post_modified; $jsonld["author"] = array("@type" => "Person", "name" => get_the_author_meta("display_name", $post->post_author)); if ($authorUrl) { $jsonld["author"]["url"] = $authorUrl; } $jsonld["publisher"] = array("@type" => "Organization", "name" => get_bloginfo("name")); if ($logo) { $jsonld["publisher"]["logo"] = array("@type" => "ImageObject", "url" => $logo); } $jsonld["description"] = $post->post_excerpt; $jsonld["image"] = array("@type" => "ImageObject", "url" => get_the_post_thumbnail_url($post, "full")); try { $dom = $this->load_html($post->post_content); $articleBody = ''; $articleBodyNodes = $this->selector_query($dom, "p"); foreach ($articleBodyNodes as $node) { $articleBody .= $node->textContent; } $jsonld["articleBody"] = $articleBody; } catch (Exception $e) { $jsonld["articleBody"] = ''; } return json_encode($jsonld); } function generate($postId) { libxml_use_internal_errors(true); $post = get_post($postId); $slug = $post->post_name; $lang = get_bloginfo("language"); $title = esc_html(do_shortcode($post->post_title)); $excerpt = do_shortcode($post->post_excerpt); $description = esc_html(wp_strip_all_tags($excerpt)); $image = get_the_post_thumbnail_url($post, "webstories-generator-cover"); $siteUrl = get_site_url(); $subDir = wsg_get_data("basedir"); $slug = $post->post_name; $canonical = $siteUrl . "/" . $subDir . "/" . $slug . "/"; $logo = get_site_icon_url(); $favicon = get_site_icon_url(32); $siteName = get_bloginfo("name"); if (!$image) { $image = $logo; } $content = wpautop(do_shortcode($post->post_content)); $useAdX = false; $showLogo = true; $gaCode = null; $isTrackingEnabled = wsg_get_data("tracking_enabled"); if ($isTrackingEnabled) { $gaCode = wsg_get_data("google_analytics"); } $adSenseClient = null; $adSenseSlot = null; $isAdsenseEnabled = wsg_get_data("google_adsense_enabled"); if ($isAdsenseEnabled) { $adSenseClient = wsg_get_data("google_adsense_publisher_id"); $adSenseSlot = wsg_get_data("google_adsense_ad_slot_id"); } else { $adSenseClient = null; $adSenseSlot = null; } $useAdSense = !(empty($adSenseClient) || empty($adSenseSlot)); $ctaUrl = get_permalink($post); $ctaLastSlide = wsg_get_data("cta_last_slide"); $ctaButtonText = wsg_get_data("cta_button_text"); $cta_text = wsg_str_translate("Read more", WSG_PLUGIN_TEXT_DOMAIN); $dataPrimaryColor = wsg_get_data("primary_color"); $color = $dataPrimaryColor ? $dataPrimaryColor : WSG_FOREGROUND_COLOR; $dataBackgroundColor = wsg_get_data("background_color"); $background = $dataBackgroundColor ? $dataBackgroundColor : WSG_BACKGROUND_COLOR; $textColor = wsg_get_data("text_color"); $textColor = $textColor ? $textColor : "#222"; $dataMainLogo = wsg_get_data("main_logo"); if ($dataMainLogo) { $mainLogo = wp_get_attachment_image_src($dataMainLogo, "full"); if ($mainLogo) { $mainLogo = $mainLogo[0]; $logo = $mainLogo; } } $backgroundLogo = null; $dataBackgroundLogo = wsg_get_data("background_logo"); if ($dataBackgroundLogo) { $backgroundLogo = wp_get_attachment_image_src($dataBackgroundLogo, "full"); if ($backgroundLogo) { $backgroundLogo = $backgroundLogo[0]; } } if (!$backgroundLogo) { $backgroundLogo = $logo; } $showBackgroundLogo = wsg_get_data("background_logo_visible"); $showBackgroundLogo = $showBackgroundLogo ? $showBackgroundLogo : false; $autoAdvance = wsg_get_data("aa_active"); $autoAdvanceEnabled = $autoAdvance && $autoAdvance == "on" ? true : false; $autoAdvanceInterval = wsg_get_data("aa_interval"); $support = !wsg_get_data("remove_support"); $html = $content; $html = preg_replace("/<p> <\/p>/", '', $html); $html = str_replace(" ", " ", $html); $html = str_replace(" ", " ", $html); $html = preg_replace("/<p><\/p>/", '', $html); $html = preg_replace("/<p> <\/p>/", '', $html); $dom = $this->load_html($html); try { $selectors = wsg_get_data("remove_selector"); if ($selectors) { $selectorsToRemove = $this->selector_query($dom, $selectors); foreach ($selectorsToRemove as $node) { $node->parentNode->removeChild($node); } $html = $dom->saveHTML(); } } catch (Exception $e) { } $figures = $this->selector_query($dom, "figure"); foreach ($figures as $figure) { $figcaption = $figure->getElementsByTagName("figcaption")->item(0); $img = $figure->getElementsByTagName("img")->item(0); if ($figcaption) { if ($img) { $img->setAttribute("data-title", $figcaption->nodeValue); } } } $html = $dom->saveHTML(); $figcaptions = $this->selector_query($dom, "figcaption"); foreach ($figcaptions as $figcaption) { $figcaption->parentNode->removeChild($figcaption); } $html = $dom->saveHTML(); $imgs = $this->selector_query($dom, "img"); foreach ($imgs as $img) { $attributes = $img->attributes; $attributeNames = array(); foreach ($attributes as $attribute) { $attributeNames[] = $attribute->name; } foreach ($attributeNames as $attributeName) { if (!in_array($attributeName, array("src", "alt", "title", "srcset", "data-lazy-srcset", "data-lazy-src"))) { $img->removeAttribute($attributeName); } } $src = $img->getAttribute("src"); if (empty($src)) { $dataLazySrc = $img->getAttribute("data-lazy-src"); if (!empty($dataLazySrc)) { $img->setAttribute("src", $dataLazySrc); } } if (empty($src)) { $srcset = $img->getAttribute("srcset"); if (empty($srcset)) { $dataLazySrcset = $img->getAttribute("data-lazy-srcset"); if (!empty($dataLazySrcset)) { $img->setAttribute("srcset", $dataLazySrcset); } } } else { $img->removeAttribute("srcset"); } $img->removeAttribute("data-lazy-srcset"); $img->removeAttribute("data-lazy-src"); $emptySrc = $img->getAttribute("src"); $emtpySrcset = $img->getAttribute("srcset"); if (empty($emptySrc) && empty($emtpySrcset)) { $img->parentNode->removeChild($img); } } $html = $dom->saveHTML(); $toRemove = $this->selector_query($dom, "script, .kksr-stars, .kksr-legend, .kk-star-ratings, .monsterinsights-widget-popular-posts, #toc_container"); foreach ($toRemove as $node) { $node->parentNode->removeChild($node); } $html = $dom->saveHTML(); $allowed_tags = "b,dl,dt,dd,img,i,em,strong,p,table,thead,tbody,tr,td,th,ul,li,ol,h1,h2,h3,h4,h5,h6"; $allowed_tags = explode(",", $allowed_tags); $allowed_tags = array_map(function ($tag) { return "<" . $tag . ">"; }, $allowed_tags); $allowed_tags = implode('', $allowed_tags); $safeHtml = strip_tags($html, $allowed_tags); $dom = $this->load_html($safeHtml); $slides = array(); $firstLevelElements = $this->selector_query($dom, "body > *"); foreach ($firstLevelElements as $node) { $node->removeAttribute("contenteditable"); $slide = $node->ownerDocument->saveHTML($node); if (empty($slide)) { continue; } if (preg_match("/^<[^\/]>\s*<\/[^>]+>$/", $slide)) { continue; } $slide = preg_replace("/<img([^>]+)>/", "<amp-img layout="responsive" width="100" height="100" object-fit="cover" style="border-radius: 10px;" $1></amp-img>", $slide); $slide = preg_replace("/<amp-img([^>]+)title="([^"]+)"([^>]+)>/", "<amp-img$1$3></amp-img><span class="title">$2</span>", $slide); $previousIndex = count($slides) - 1; $previousSlide = @$slides[$previousIndex]; if (isset($previousSlide) && preg_match("/^<h[1-6]([^>]+)>/", $previousSlide) || preg_match("/^<h[1-6]>/", $previousSlide)) { $previousSlideDom = $this->load_html($previousSlide); $previousSlideFirstLevelElements = $this->selector_query($previousSlideDom, "body > *"); $previousSlideFirstLevelElementsCount = count($previousSlideFirstLevelElements); if ($previousSlideFirstLevelElementsCount == 1) { $slides[$previousIndex] .= $slide; continue; } } if ($slide) { $slides[] = $slide; } } $slideEffects = array("fly-in-right", "fly-in-left", "fly-in-bottom"); foreach ($slides as $key => $slide) { $slideDOM = $this->load_html($slide); $slideElements = $this->selector_query($slideDOM, "body > *"); $delay = 0; foreach ($slideElements as $slideElement) { $slideEffect = $slideEffects[array_rand($slideEffects)]; $slideElement->setAttribute("animate-in", $slideEffect); $slideElement->setAttribute("animate-in-delay", $delay . "s"); $slideElement->setAttribute("animate-in-duration", "0.8s"); $delay += 0.35; } $slideHtml = $slideDOM->saveHTML($slideDOM->documentElement); $slideHtml = preg_replace("/^<html[^>]*>\s*<body[^>]*>/", '', $slideHtml); $slideHtml = preg_replace("/<\/body>\s*<\/html>$/", '', $slideHtml); $slides[$key] = $slideHtml; } if (isset($_GET["json"])) { header("Content-Type: application/json"); echo json_encode($slides); die; } libxml_use_internal_errors(false); $wsgenUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; $backgroundAnimation = wsg_get_data("background_animation"); $animateImagesInTheBackground = isset($backgroundAnimation) && $backgroundAnimation == "on"; echo "<!DOCTYPE html>"; echo "<html amp lang="" . $lang . "">"; echo "<head>"; echo "<meta charset="utf-8">"; echo "<meta name="viewport" content="width=device-width, initial-scale=1">"; echo "<title>" . $title . "</title>"; echo "<meta name="description" content="" . $description . "">"; echo "<meta name="theme-color" content="" . $color . "">"; echo "<meta property="og:title" content="" . $title . "">"; echo "<meta property="og:description" content="" . $description . "">"; echo "<meta property="og:image" content="" . $image . "">"; echo "<meta property="og:url" content="" . $canonical . "">"; echo "<meta property="og:type" content="article">"; echo "<meta property="og:site_name" content="" . $siteName . "">"; echo "<meta property="og:locale" content="" . $lang . "">"; echo "<meta property="twitter:card" content="summary_large_image">"; echo "<meta property="twitter:title" content="" . $title . "">"; echo "<meta property="twitter:description" content="" . $description . "">"; echo "<meta property="twitter:image" content="" . $image . "">"; echo "<meta property="twitter:url" content="" . $canonical . "">"; echo "<meta property="twitter:site" content="" . $siteName . "">"; echo "<meta property="twitter:creator" content="" . $siteName . "">"; echo "<meta property="twitter:locale" content="" . $lang . "">"; echo "<meta itemprop="name" content="" . $title . "">"; echo "<meta itemprop="description" content="" . $description . "">"; echo "<meta itemprop="image" content="" . $image . "">"; echo "<meta itemprop="url" content="" . $canonical . "">"; echo "<meta itemprop="author" content="" . $siteName . "">"; echo "<meta itemprop="publisher" content="" . $siteName . "">"; echo "<meta itemprop="inLanguage" content="" . $lang . "">"; echo "<link rel="canonical" href="" . $canonical . "">"; echo "<link rel="icon" href="" . $favicon . "">"; echo "<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>"; echo "<noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>"; echo "<style amp-custom>"; echo "body, * {"; echo " font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;"; echo "}"; echo "body { height: 100%; }"; echo "p { font-size: 1.2rem; text-align: center; }"; echo "p, h1, h2, h3, h4, h5, h6 { word-break: break-word; }"; echo "h1 { color: inhrerit; }"; echo "amp-img { background-color: grey; }"; echo "table { max-width: 100%; width: 100%; }"; echo "table, tr { border-spacing:0; border-collapse: collapse; }"; echo "table td { border: 1px solid #ccc; border-spacing: 0; padding: 2px; }"; echo ".page {"; echo " background: " . $background . ";"; echo " color: " . $textColor . ";"; if ($showBackgroundLogo) { echo " background-image: url(" . $backgroundLogo . ");"; } echo " background-repeat: no-repeat;"; echo " background-position: top 20px left 32px;"; echo " background-size: auto 36px;"; echo "}"; if ($animateImagesInTheBackground) { echo ".content-page {"; echo " background-size: cover;"; echo " animation: background 5s ease-in-out infinite alternate;"; echo "}"; echo "@keyframes background {"; echo " 0% { background-position: 0 0; }"; echo " 100% { background-position: 100% 0; }"; echo "}"; echo ".bg-image { "; echo " height: 100px; background-position: center; background-repeat: no-repeat; background-size: cover;"; echo " }"; echo ".blur { "; echo "background: " . $background . "bb;"; echo "backdrop-filter: blur(10px);"; echo "height: 100vh;"; echo "width: 100vw;"; echo "position: absolute;"; echo "top: 0;"; echo "left: 0;"; echo "}"; $lastSlideImage = $image; foreach ($slides as $slide) { $dom = $this->load_html($slide); $ampImageNodes = $this->selector_query($dom, "amp-img"); foreach ($ampImageNodes as $node) { $src = $node->getAttribute("src"); if ($src) { $lastSlideImage = $src; } } $dom = null; $slideIndex = array_search($slide, $slides); echo ".bg-image-slide-" . $slideIndex . " { "; echo "background-image: url("" . $lastSlideImage . "");"; echo " }"; } if ($image) { echo ".bg-image-cover { "; echo "background-image: linear-gradient(rgba(0,0,0,.7) 300px, rgba(0,0,0,0)), linear-gradient(rgba(0,0,0,0) 75%, rgba(0,0,0,.7)), url("" . $image . "");"; echo " }"; } } echo ".page h2 { text-align: center }"; echo "h1, h2, h3, h4, h5, h6 { color: " . $color . "; }"; echo "#conclusion {"; echo " background-color: " . $background . ";"; echo " background-image: linear-gradient(rgba(0,0,0,.7) 300px, rgba(0,0,0,0)), linear-gradient(rgba(0,0,0,0) 75%, rgba(0,0,0,.7)), url(" . $image . ");"; echo " background-size: cover; background-position: center; color: #fff;"; echo "}"; echo "#conclusion #arrow { position: fixed; width: 150px; height: 300px; transform: rotate(200deg) scaleX(-1); top: -25px; right: -25px; right: -15px; }"; echo "#conclusion h1, #conclusion p { text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-size: 1.8rem; text-align: center; }"; echo "#conclusion h1 { font-size: 2.5rem; color: #fff; }"; echo ".wsg-info { margin-top: 1rem; text-align: center; font-weight: bold; padding: .5rem 1rem; text-shadow: none; }"; echo ".wsg-info a {"; echo " color: " . $color . ";"; echo " text-decoration: underline;"; echo "}"; echo "amp-img { max-width: 100%; }"; echo "span.title { text-align: center; font-size: 1rem; font-weight: bold; color: " . $color . "; margin: 1rem 0; display: block; }"; if ($this->wsg_demo) { $demoText = wsg_str_translate("Demo version", WSG_PLUGIN_TEXT_DOMAIN); echo "amp-story-page { box-sizing: border-box; border: 10px solid red; }"; echo "amp-story-page:not(#conclusion)::before { opacity: 0.3; position: fixed; top: 20px; text-shadow: 2px 2px #fff; font-size: 3rem; content: "" . $demoText . " " . $demoText . ""; z-index: 999999999; text-align: center; color: red }"; } echo "</style>"; echo "<script async src="https://cdn.ampproject.org/v0.js"></script>"; echo "<script async custom-element="amp-story" src="https://cdn.ampproject.org/v0/amp-story-1.0.js"></script>"; if ($useAdSense) { echo "<script async custom-element="amp-story-auto-ads" src="https://cdn.ampproject.org/v0/amp-story-auto-ads-0.1.js"></script>"; } if ($gaCode) { echo "<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>"; } echo "<script type="application/ld+json">" . $this->create_jsonld_from_post($post) . "</script>"; echo "</head>"; echo "<body>"; if (!$image) { $image = $logo; } echo "<amp-story standalone title="" . $title . "" publisher="" . $siteName . "" publisher-logo-src="" . $logo . "" poster-portrait-src="" . $image . "">"; if ($useAdSense) { echo "<amp-story-auto-ads>"; echo "<script type="application/json">"; echo "{"; echo " "ad-attributes": {"; echo " "type": "adsense","; echo " "data-ad-client": "" . $adSenseClient . "","; echo " "data-ad-slot": "" . $adSenseSlot . """; echo " }"; echo "}"; echo "</script>"; echo "</amp-story-auto-ads>"; } if ($gaCode) { echo "<amp-analytics type="googleanalytics" config="https://amp.analytics-debugger.com/ga4.json" data-credentials="include">"; echo "<script type="application/json">{"vars":{"GA4_MEASUREMENT_ID":"" . $gaCode . "","GA4_ENDPOINT_HOSTNAME":"www.google-analytics.com","DEFAULT_PAGEVIEW_ENABLED": true,"GOOGLE_CONSENT_ENABLED":false,"WEBVITALS_TRACKING":false,"PERFORMANCE_TIMING_TRACKING":false}}</script>"; echo "</amp-analytics>"; } echo "<amp-story-page id="cover" class="bg-image bg-image-cover page"" . ($autoAdvanceEnabled ? " auto-advance-after="" . $autoAdvanceInterval . "s"" : '') . ">"; echo "<amp-story-grid-layer template="vertical""; if ($image) { echo " class="blur""; } echo ">"; if ($image) { echo "<amp-img src="" . $image . "" width="100" height="100" layout="responsive" object-fit="cover" style="border-radius: 1rem"></amp-img>"; } echo "<h1>" . $title . "</h1>"; echo "</amp-story-grid-layer>"; echo "</amp-story-page>"; foreach ($slides as $slide) { $slideIndex = array_search($slide, $slides); echo "<amp-story-page id="slide-" . array_search($slide, $slides) . "" class="page content-page bg-image bg-image-slide-" . $slideIndex . """ . ($autoAdvanceEnabled ? " auto-advance-after="" . $autoAdvanceInterval . "s"" : '') . ">"; echo "<amp-story-grid-layer template="vertical" class="blur">"; $slide = str_replace("\xa", '', $slide); echo $slide; echo "</amp-story-grid-layer>"; if (!(isset($ctaLastSlide) && $ctaLastSlide == "on")) { if (isset($ctaButtonText) && trim($ctaButtonText) != '') { $cta_text = $ctaButtonText; } echo "<amp-story-page-outlink layout="nodisplay" theme="custom" cta-accent-element="background" cta-accent-color="" . $color . "">"; if ($this->wsg_demo) { echo "<a href="" . $wsgenUrl . "">"; echo $cta_text; echo "</a>"; } else { echo "<a href="" . $ctaUrl . "?utm_source=web-stories-generator">"; echo $cta_text; echo "</a>"; } echo "</amp-story-page-outlink>"; } echo "</amp-story-page>"; } echo "<amp-story-page id="conclusion" class="page">"; echo "<amp-story-grid-layer template="thirds">"; echo "<div grid-area="upper-third">"; echo "<h1 animate-in="fly-in-right" animate-in-delay="0" animate-in-duration="0.8s">" . wsg_str_translate("Did you like this story?") . "</h1>"; echo "<p animate-in="fly-in-top" animate-in-delay="0.3s" animate-in-duration="0.8s" style="border-radius: 10px; margin-top: 1rem; text-align: center; font-size: 1rem; font-weight: bold; padding: .5rem 1rem; text-shadow: none; background: " . $color . "; color: " . $background . ";">" . wsg_str_translate("Please share by clicking this button!") . "</p>"; if (isset($support) && $support == true) { $affiliateUrl = wsg_get_data("affiliate_url"); if (isset($affiliateUrl) && trim($affiliateUrl) != '') { $wsgUrl = $affiliateUrl; } else { $wsgUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; } $wsgLogoDataUrl = "data:image/png;base64,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"; echo "<p class="wsg-info" animate-in="fly-in-left" animate-in-delay="1s" animate-in-duration="0.8s" style="font-size: 1rem;">" . wsg_str_translate("This page was generated by the plugin") . "</p>"; echo "<a href="" . $wsgUrl . ""><amp-img alt="" . WSG_PLUGIN_NAME . "" animate-in="fly-in-bottom" animate-in-delay="1.3s" animate-in-duration="0.8s" src="" . $wsgLogoDataUrl . "" width="150" height="30" layout="responsive" object-fit="contain" style="background: transparent;"></amp-img></a>"; } echo "<div id="arrow">"; echo "<amp-img animate-in="fade-in" animate-in-delay="0.8s" animate-in-duration="0.8s" src="data:image/png;base64,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" width="150" height="300" layout="responsive" object-fit="contain" style="background: transparent; border-radius: 1rem;"></amp-img>"; echo "</div>"; echo "</div>"; echo "<p grid-area="lower-third" animate-in="fly-in-bottom" animate-in-delay="0.8s" animate-in-duration="0.8s"><span style="font-weight: 400; position: fixed; bottom: 2.5rem; width: 100%; left: 0; font-size: 1.2rem; display: inline-block; vertical-align: bottom;">" . wsg_str_translate("Visit our site and see all other available articles!") . "</span></p>"; echo "</amp-story-grid-layer>"; echo "<amp-story-page-outlink layout="nodisplay" theme="custom" cta-accent-element="background" cta-accent-color="#fff">"; if ($this->wsg_demo) { echo "<a href="" . $wsgenUrl . "">"; } else { $ctaButtonUrl = $siteUrl . "?utm_source=web-stories-generator"; if (isset($ctaLastSlide) && $ctaLastSlide == "on") { $ctaButtonUrl = $ctaUrl; } echo "<a href="" . $ctaButtonUrl . "">"; } if (isset($ctaButtonText) && trim($ctaButtonText) != '') { if (isset($ctaLastSlide) && $ctaLastSlide == "on") { echo $ctaButtonText; } else { echo $siteName; } } else { echo $siteName; } echo "</a>"; echo "</amp-story-page-outlink>"; echo "</amp-story-page>"; echo "</amp-story>"; echo "</body>"; echo "</html>"; echo PHP_EOL; echo "<!--" . PHP_EOL; echo "\xf0\237\x94\xb4\360\237\x94\xb4\xf0\x9f\224\264\360\x9f\224\xb4\360\x9f\224\xb4\xf0\237\x94\264\360\237\224\xb4\360\237\x94\264\xf0\237\224\xb4\xf0\237\x94\xb4\xf0\x9f\x94\xb4\360\x9f\224\xb4\xf0\x9f\x94\264\xf0\x9f\224\264\360\x9f\224\264" . PHP_EOL; echo "\xf0\237\x94\264" . PHP_EOL; echo "\xf0\237\x94\xb4 " . wsg_str_translate("This Web Story was generated by the plugin", WSG_PLUGIN_TEXT_DOMAIN) . " " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . PHP_EOL; echo "\xf0\237\x94\xb4 " . wsg_str_translate("Created by", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_AUTHOR_NAME . PHP_EOL; echo "\360\x9f\224\264" . PHP_EOL; echo "\xf0\237\x94\264 " . wsg_str_translate("Visit", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_URL . PHP_EOL; echo "\360\237\224\264" . PHP_EOL; echo "\360\237\224\xb4\xf0\x9f\x94\xb4\xf0\237\224\264\360\237\x94\264\xf0\237\x94\xb4\360\x9f\224\264\360\x9f\224\264\360\237\x94\xb4\xf0\237\224\264\360\x9f\x94\xb4\360\x9f\224\xb4\xf0\237\x94\xb4\360\x9f\224\xb4\xf0\237\224\264\360\x9f\224\xb4" . PHP_EOL; echo " -->" . PHP_EOL; } } goto PpJm3; RsoiJ: define("WSG_PLUGIN_NAME", "Web Stories Generator"); goto xQqys; TAPxJ: function wsg_get_posts_count() { return (new WP_Query(wsg_create_posts_array()))->post_count; } goto A3ziU; XOQJi: add_action("init", function () { if (!wsg_is_activated()) { return; } $urlPath = wsg_get_url_path(); $sitemapName = WSG_SITEMAP_INDEX; $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if ($urlPath == $urlPrefix . $sitemapName) { header("HTTP/1.1 200 OK"); header("Content-Type: application/xml; charset=UTF-8"); echo "<?xml version="1.0" encoding="UTF-8"?>"; echo "<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">"; $postsCount = wsg_get_posts_count(); $postsPerPage = WSG_POSTS_PER_SITEMAP; $pageCount = ceil($postsCount / $postsPerPage); $siteUrl = get_site_url(); for ($i = 0; $i < $pageCount; $i++) { $page = $i + 1; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $page)); $lastModified = 0; while ($query->have_posts()) { $query->the_post(); $modified = strtotime(get_post_field("post_modified", get_the_ID())); if ($modified > $lastModified) { $lastModified = $modified; } } $sitemapUrl = $siteUrl . "/wsg-sitemap-posts-" . $page . ".xml"; echo "<sitemap>"; echo "<loc>" . $sitemapUrl . "</loc>"; echo "<lastmod>" . date("c", $lastModified) . "</lastmod>"; echo "</sitemap>"; } echo "</sitemapindex>"; die; } }, 0); goto uSNtQ; tQJyt: function wsg_create_webstory($post) { $wsg = new WebstoriesGeneratorStandalone(get_option("wsg_demo")); $html = $wsg->generate($post->ID); return $html; } goto AcB42; GA2uo: add_action("init", "wsg_options_sbrubles"); goto XOQJi; ZDmgw: function wsg_options_sbrubles() { add_option("wsg_demo", 4 == 5); update_option("wsg_demo", 7 == 8); } goto GA2uo; R9Rfi: add_action("init", function () { if (!wsg_is_activated()) { return; } $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = $parsedUrl["path"]; $subDir = wsg_get_data("basedir"); $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if ($urlPath == $urlPrefix . $subDir . "/" || $urlPath == $urlPrefix . $subDir) { if (substr($urlPath, -1) != "/") { $urlPath = $parsedUrl["query"] ? $urlPath . "/?" . $parsedUrl["query"] : $urlPath . "/"; header("Location: " . $urlPath); die; } header("HTTP/1.1 200 OK"); header("Content-Type: text/html"); $paged = isset($_GET["page"]) ? $_GET["page"] : 1; $paged = is_numeric($paged) ? $paged : 1; $paged = intval($paged); $paged = $paged < 1 ? 1 : $paged; $postsPerPage = get_option("posts_per_page"); $totalPosts = wsg_get_posts_count(); $totalPages = ceil($totalPosts / $postsPerPage); $paged = $paged > $totalPages ? $totalPages : $paged; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $paged)); $lang = get_bloginfo("language"); $siteName = get_bloginfo("name"); $siteUrl = get_bloginfo("url"); $logo = get_site_icon_url(); if (!$logo) { $xxx = wp_get_attachment_image_src(get_theme_mod("custom_logo"), "full"); if ($xxx) { $logo = $xxx[0]; } } if (!$logo) { $dataMainLogo = wsg_get_data("main_logo"); if ($dataMainLogo) { $mainLogo = wp_get_attachment_image_src($dataMainLogo, "full"); if ($mainLogo) { $mainLogo = $mainLogo[0]; $logo = $mainLogo; } } } $wsgUrl = WSG_PLUGIN_URL; $wsgLogoDataUrl = "data:image/png;base64,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"; $gaCode = null; $isTrackingEnabled = wsg_get_data("tracking_enabled"); if ($isTrackingEnabled) { $gaCode = wsg_get_data("google_analytics"); } echo "<!doctype html>"; echo "<html lang="" . $lang . "">"; echo " <head>"; echo " <meta charset="utf-8">"; echo " <meta name="viewport" content="width=device-width, initial-scale=1">"; echo " <title>Web Stories</title>"; echo " <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">"; echo " <link rel="canonical" href="" . $siteUrl . "/" . $subDir . "/" />"; $favicon = get_option("site_icon"); if ($favicon) { $faviconUrl = wp_get_attachment_image_src($favicon, "full")[0]; if ($faviconUrl) { echo " <link rel="shortcut icon" href="" . $faviconUrl . "">"; } } if ($gaCode) { echo " <script async src="https://www.googletagmanager.com/gtag/js?id=" . $gaCode . ""></script>"; echo " <script>"; echo " window.dataLayer = window.dataLayer || [];"; echo " function gtag(){dataLayer.push(arguments);}"; echo " gtag('js', new Date());"; echo " gtag('config', '" . $gaCode . "');"; echo " </script>"; } echo " </head>"; echo " <body>"; echo " <div class="container">"; echo " <p class="text-center mt-4">"; echo " <a href="" . $siteUrl . "">"; if ($logo) { echo " <img src="" . $logo . "" alt="" . $siteName . "" style="max-height: 100px" />"; } else { echo " " . $siteName; } echo " </a>"; echo " </p>"; echo "<h1 class="text-center mb-5 mt-4"><span class="display-4">Web Stories</span></h1>"; if ($query->have_posts()) { echo "<div class="row justify-content-center">"; while ($query->have_posts()) { $query->the_post(); echo "<div class="col-6 col-sm-4 col-md-3">"; echo wsg_create_post_widget($query->post); echo "</div>"; } wp_reset_postdata(); echo "</div>"; if ($totalPages > 1) { echo "<nav aria-label="Page navigation">"; echo "<ul class="pagination justify-content-center" style="width:auto">"; $paginationLinksCount = 3; $pagedBefore = $paged - $paginationLinksCount; $pagedAfter = $paged + $paginationLinksCount; if ($pagedBefore < 1) { $pagedAfter += 1 - $pagedBefore; $pagedBefore = 1; } if ($pagedAfter > $totalPages) { $pagedBefore -= $pagedAfter - $totalPages; $pagedAfter = $totalPages; } if ($pagedBefore < 1) { $pagedBefore = 1; } if ($paged > 1) { echo "<li class="page-item"><a class="page-link" href="?page=1">«</a></li>"; } else { echo "<li class="page-item disabled"><a class="page-link" href="?page=1">«</a></li>"; } for ($i = $pagedBefore; $i <= $pagedAfter; $i++) { $pageNumber = $i < 10 ? "0" . $i : $i; if ($i == $paged) { echo "<li class="page-item active"><span class="page-link">" . $pageNumber . "</span></li>"; } else { echo "<li class="page-item"><a class="page-link" href="?page=" . $i . "">" . $pageNumber . "</a></li>"; } } if ($paged < $totalPages) { echo "<li class="page-item"><a class="page-link" href="?page=" . $totalPages . "">»</a></li>"; } else { echo "<li class="page-item disabled"><a class="page-link" href="?page=" . $totalPages . "">»</a></li>"; } echo "</ul>"; echo "</nav>"; } } else { echo "<p class="text-center">" . wsg_str_translate("No web stories found.") . "</p>"; } echo " </div>"; $support = !wsg_get_data("remove_support"); if (isset($support) && $support == true) { $affiliateUrl = wsg_get_data("affiliate_url"); if (isset($affiliateUrl) && trim($affiliateUrl) != '') { $wsgUrl = $affiliateUrl; } else { $wsgUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; } echo "<div class="text-center mt-5 mb-0">"; echo "<div style="overflow: auto; background: indigo; height: auto;" class="text-center _rounded py-5" ><span class="lead text-white">" . wsg_str_translate("This page was generated by the plugin") . "</span><br><a target="_blank" href="" . $wsgUrl . ""><img loading="lazy" style="max-height: 80px; margin-top: 1rem" alt="Web Stories Generator" src="" . $wsgLogoDataUrl . "" /></a></div>"; echo "</div>"; } echo " </body>"; echo "</html>"; echo PHP_EOL; echo "<!--" . PHP_EOL; echo "\360\237\x94\xb4\xf0\237\x94\xb4\xf0\x9f\224\xb4\xf0\237\224\xb4\360\x9f\x94\xb4\xf0\x9f\224\264\xf0\237\224\xb4\xf0\x9f\x94\xb4\360\x9f\224\264\360\237\224\264\360\237\224\264\xf0\x9f\224\264\360\x9f\x94\xb4\360\237\224\xb4\xf0\x9f\224\264" . PHP_EOL; echo "\xf0\237\224\xb4" . PHP_EOL; echo "\xf0\x9f\x94\xb4 " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . PHP_EOL; echo "\xf0\x9f\x94\xb4 " . wsg_str_translate("Created by", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_AUTHOR_NAME . PHP_EOL; echo "\xf0\237\224\xb4" . PHP_EOL; echo "\xf0\237\224\xb4 " . wsg_str_translate("Visit", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_URL . PHP_EOL; echo "\360\x9f\x94\264" . PHP_EOL; echo "\xf0\x9f\224\xb4\360\x9f\224\264\360\237\x94\264\xf0\x9f\224\264\xf0\x9f\x94\264\xf0\x9f\x94\xb4\xf0\237\224\264\360\237\224\264\360\x9f\224\264\360\x9f\224\264\xf0\237\x94\264\xf0\x9f\x94\xb4\360\237\x94\xb4\360\237\x94\264\360\x9f\224\264" . PHP_EOL; echo " -->" . PHP_EOL; die; } }, 0); goto D3hK3; XPAyr: function wsg_str_translate($str) { $tr = array(); $tr["by"] = array("pt" => "por", "es" => "por"); $tr["Proudly made in Brazil"] = array("pt" => "Orgulhosamente feito no Brasil", "es" => "Orgulosamente hecho en Brasil"); $tr["License Code"] = array("pt" => "C\303\xb3digo de Ativa\xc3\247\xc3\xa3o", "es" => "C\303\xb3digo de Ativa\xc3\xa7\xc3\xa3o"); $tr["License code for this website."] = array("pt" => "C\303\xb3digo de ativa\xc3\xa7\303\243o para este website.", "es" => "C\303\xb3digo de ativa\303\xa7\xc3\xa3o para este website."); $tr["Get one here"] = array("pt" => "Obtenha um aqui", "es" => "Obtenga uno aqu\xc3\xad"); $tr["Sitemap"] = array("pt" => "Mapa do site", "es" => "Mapa del sitio"); $tr["send this sitemap to the"] = array("pt" => "envie este sitemap para o", "es" => "envie este mapa del sitio para el"); $tr["Settings"] = array("pt" => "Configura\303\xa7\xc3\xb5es", "es" => "Configuraciones"); $tr["Stories List Page"] = array("pt" => "P\xc3\xa1gina de listagem de stories", "es" => "P\303\241gina de listado de historias"); $tr["Remember to clear the cache when changing options"] = array("pt" => "Lembre-se de limpar o cache ao alterar as op\xc3\247\303\265es", "es" => "Recuerde limpiar la cach\xc3\xa9 al cambiar las opciones"); $tr["Read more"] = array("pt" => "Leia mais", "es" => "Leer m\303\241s"); $tr["Did you like this story?"] = array("pt" => "Gostou deste story?", "es" => "\xc2\277Le gust\303\263 esta historia?"); $tr["Please share by clicking this button!"] = array("pt" => "Aproveite para compartilhar clicando no bot\303\243o acima!", "es" => "\xc2\xa1Aproveite para compartir haciendo clic en el bot\303\xb3n!"); $tr["This page was generated by the plugin"] = array("pt" => "Esta p\303\241gina foi gerada pelo plugin", "es" => "Esta p\xc3\xa1gina fue generada por el plugin"); $tr["Visit our site and see all other available articles!"] = array("pt" => "Visite nosso site e veja todos os outros artigos dispon\303\255veis!", "es" => "Visite nuestro sitio y vea todos los otros art\303\xadculos disponibles!"); $tr["No web stories found."] = array("pt" => "Nenhum web story encontrado.", "es" => "No se encontraron historias web."); $tr["This Web Story was generated by the plugin"] = array("pt" => "Este web story foi gerado pelo plugin", "es" => "Esta historia web fue generada por el plugin"); $tr["Created by"] = array("pt" => "Criado por", "es" => "Creado por"); $tr["Visit"] = array("pt" => "Acesse", "es" => "Visite"); $tr["Licensing"] = array("pt" => "Licenciamento", "es" => "Licenciamiento"); $tr["Email"] = array("pt" => "Email", "es" => "Email"); $tr["Email used to purchase the plugin."] = array("pt" => "Email usado para comprar o plugin.", "es" => "Email usado para comprar el plugin."); $tr["Not licensed"] = array("pt" => "N\303\243o licenciado", "es" => "No licenciado"); $tr["Licensed to"] = array("pt" => "Licenciado para", "es" => "Licenciado para"); $tr["Invalid license."] = array("pt" => "Licen\xc3\247a inv\xc3\241lida.", "es" => "Licencia inv\xc3\241lida."); $tr["General"] = array("pt" => "Geral", "es" => "General"); $tr["General settings for the plugin."] = array("pt" => "Configura\xc3\247\xc3\xb5es gerais do plugin.", "es" => "Configuraciones generales del plugin."); $tr["Your Hotmart Transaction code. You received it in your email after purchasing the plugin."] = array("pt" => "Seu c\xc3\xb3digo de transa\303\xa7\xc3\xa3o Hotmart. Voc\xc3\xaa recebeu no seu email ap\xc3\xb3s a compra do plugin.", "es" => "Su c\xc3\xb3digo de transacci\xc3\xb3n Hotmart. Lo recibi\303\263 en su correo electr\303\xb3nico despu\xc3\xa9s de comprar el plugin."); $tr["Transaction Code"] = array("pt" => "C\xc3\xb3digo de Transa\xc3\xa7\303\243o", "es" => "C\xc3\263digo de Transacci\xc3\263n"); $tr["Invalid transaction code."] = array("pt" => "C\xc3\263digo de transa\303\xa7\303\243o inv\xc3\xa1lido.", "es" => "C\303\xb3digo de transacci\303\263n inv\xc3\xa1lido."); $tr["Base Directory"] = array("pt" => "Diret\303\xb3rio Base", "es" => "Directorio Base"); $tr["The base directory for the web stories. Use a directory that doesn't already exist on your site to avoid conflicts."] = array("pt" => "Diret\303\xb3rio base para os web stories. Use um diret\303\xb3rio que ainda n\303\243o exista no seu site para evitar conflitos.", "es" => "Directorio base para las web stories. Use un directorio que a\xc3\272n no exista en su sitio para evitar conflictos."); $tr["Posts Selection"] = array("pt" => "Sele\xc3\247\303\243o de Posts", "es" => "Selecci\303\263n de Posts"); $tr["Select the posts to use for the web stories."] = array("pt" => "Selecione os posts para usar na cria\303\247\303\xa3o dos web stories.", "es" => "Seleccione los posts para usar en la creaci\xc3\263n de las web stories."); $tr["All Posts"] = array("pt" => "Todos os Posts", "es" => "Todos los Posts"); $tr["From Date"] = array("pt" => "A partir de uma data", "es" => "Desde una fecha"); $tr["Selected Posts"] = array("pt" => "Posts Selecionados", "es" => "Posts Seleccionados"); $tr["Active?"] = array("pt" => "Ativo?", "es" => "Activo?"); $tr["Check this to generate web stories."] = array("pt" => "Marque para gerar web stories.", "es" => "Marque para generar web stories."); $tr["Post Delay (in days)"] = array("pt" => "Atraso de Publica\303\xa7\303\xa3o (em dias)", "es" => "Retraso de Publicaci\xc3\xb3n (en d\xc3\xadas)"); $tr["The number of days to wait before publishing a new web story."] = array("pt" => "O n\303\xbamero de dias para esperar antes de publicar um novo web story.", "es" => "El n\xc3\272mero de d\303\xadas para esperar antes de publicar una nueva historia web."); $tr["If you set this to 0, all the web stories will be published immediately."] = array("pt" => "Se voc\303\252 definir isso como 0, todas as web stories ser\xc3\243o publicadas imediatamente.", "es" => "Si lo establece en 0, todas las historias web se publicar\303\241n inmediatamente."); $tr["All the web stories based on the posts published until yesterday will be generated, and the new ones will be generated with a delay of 1 day."] = array("pt" => "Todas as web stories baseadas nos posts publicados at\303\xa9 ontem ser\xc3\xa3o geradas, e as novas ser\303\243o geradas com um atraso de 1 dia.", "es" => "Todas las historias web basadas en los posts publicados hasta ayer se generar\303\xa1n, y las nuevas se generar\xc3\241n con un retraso de 1 d\303\255a."); $tr["Only the web stories based on the posts published %s days ago (your oldest posts) will be generated immediately, and all the other will be published following this delay."] = array("pt" => "Somente as web stories baseadas nos posts publicados h\303\xa1 %s dias (seus posts mais antigos) ser\xc3\243o geradas imediatamente, e todas as outras ser\xc3\243o publicadas seguindo este atraso.", "es" => "Solo las historias web basadas en los posts publicados hace %s d\xc3\xadas (sus publicaciones m\xc3\241s antiguas) se generar\303\xa1n inmediatamente, y todas las dem\xc3\xa1s se publicar\303\241n siguiendo este retraso."); $tr["Total web stories generated"] = array("pt" => "Total de web stories gerados", "es" => "Total de historias web generadas"); $tr["Appearance"] = array("pt" => "Apar\303\252ncia", "es" => "Apariencia"); $tr["Set the look and feel of your web story."] = array("pt" => "Defina o estilo e a apar\xc3\252ncia da sua web story.", "es" => "Defina el estilo y la apariencia de su web story."); $tr["Colors"] = array("pt" => "Cores", "es" => "Colores"); $tr["Primary Color"] = array("pt" => "Cor Principal", "es" => "Color Primario"); $tr["The primary color of your web story."] = array("pt" => "A cor principal do seu web story.", "es" => "El color primario de la web story."); $tr["Background Color"] = array("pt" => "Cor de Fundo", "es" => "Color de Fondo"); $tr["The background color of your web story."] = array("pt" => "A cor de fundo do seu web story.", "es" => "El color de fondo de la web story."); $tr["Text Color"] = array("pt" => "Cor do Texto", "es" => "Color del Texto"); $tr["The text color of your web story."] = array("pt" => "A cor do texto do seu web story.", "es" => "El color del texto de la web story."); $tr["Background Animation"] = array("pt" => "Anima\303\xa7\xc3\xa3o de Fundo", "es" => "Animaci\xc3\263n de Fondo"); $tr["Check this to animate images in the background."] = array("pt" => "Marque para animar imagens no fundo.", "es" => "Marque para animar im\303\241genes de fondo."); $tr["Logo"] = array("pt" => "Logomarca", "es" => "Logotipo"); $tr["Main Logo"] = array("pt" => "Logomarca Principal", "es" => "Logotipo Principal"); $tr["The main logo of your site, visible on Google Discover."] = array("pt" => "A logomarca principal do seu site, vis\xc3\xadvel no Google Discover.", "es" => "El logotipo principal de su sitio, visible en Google Discover."); $tr["Background Logo"] = array("pt" => "Logomarca no Fundo", "es" => "Logotipo de Fondo"); $tr["The logo visible on the background of your stories."] = array("pt" => "A logomarca vis\xc3\255vel no fundo dos seus stories.", "es" => "El logotipo visible en el fondo de sus stories."); $tr["Background logo visible?"] = array("pt" => "Mostrar logo no fundo?", "es" => "\302\xbfMostrar logo en el fondo?"); $tr["Show this logo on the top of all the web story slides."] = array("pt" => "Mostrar esta logomarca no topo de todos os slides do web story.", "es" => "Mostrar esta logotipo en el tope de todos los slides de la web story."); $tr["* Only works if background animation is disabled."] = array("pt" => "* S\xc3\xb3 funciona se a anima\303\247\303\xa3o de fundo estiver desativada.", "es" => "* S\xc3\xb3lo funciona si la animaci\xc3\263n de fondo est\303\xa1 desactivada."); $tr["Auto Advance"] = array("pt" => "Avan\xc3\247o Autom\xc3\241tico", "es" => "Avance Autom\303\xa1tico"); $tr["Auto Advance Interval"] = array("pt" => "Intervalo de Avan\303\xa7o Autom\303\xa1tico", "es" => "Intervalo de Avance Autom\xc3\xa1tico"); $tr["The time interval (in seconds) between each page of your web story."] = array("pt" => "O intervalo de tempo (em segundos) entre cada p\xc3\xa1gina da sua web story.", "es" => "El intervalo de tiempo (en segundos) entre cada p\xc3\xa1gina de su web story."); $tr["Auto Advance Active?"] = array("pt" => "Ativar Avan\xc3\247o Autom\xc3\xa1tico?", "es" => "\302\xbfActivar Avance Autom\xc3\xa1tico?"); $tr["Check this to enable auto advance."] = array("pt" => "Marque esta op\303\247\303\243o para ativar o avan\303\xa7o autom\xc3\xa1tico.", "es" => "Marque esta opci\xc3\xb3n para activar el avance autom\303\241tico."); $tr["Call to Action"] = array("pt" => "Chamada para A\xc3\xa7\303\243o", "es" => "Llamada a la Acci\303\xb3n"); $tr["Leave blank for default."] = array("pt" => "Deixe em branco para o padr\xc3\xa3o.", "es" => "Deje en blanco para el valor predeterminado."); $tr["Call to Action Button Text"] = array("pt" => "Texto do Bot\303\xa3o de Chamada para A\xc3\247\303\243o", "es" => "Texto del Bot\303\xb3n de Llamada a la Acci\303\xb3n"); $tr["Show Call To Action only in the last slide?"] = array("pt" => "Mostrar Chamada para A\303\xa7\xc3\xa3o apenas no \303\xbaltimo slide?", "es" => "\xc2\xbfMostrar Llamada a la Acci\303\xb3n solo en la \303\xbaltima p\xc3\241gina?"); $tr["Check this to show the Call To Action button only in the last slide."] = array("pt" => "Marque esta op\xc3\xa7\303\xa3o para mostrar o bot\303\xa3o de Chamada para A\xc3\247\303\xa3o apenas no \303\xbaltimo slide.", "es" => "Marque esta opci\xc3\263n para mostrar el bot\303\263n de Llamada a la Acci\303\263n solo en la \303\xbaltima p\xc3\241gina."); $tr["Elements"] = array("pt" => "Elementos", "es" => "Elementos"); $tr["Remove Selector (Advanced)"] = array("pt" => "Remover Selectors (Avan\303\xa7ado)", "es" => "Remover Seleccionador (Avanzado)"); $tr["CSS selector to remove from the web story."] = array("pt" => "CSS Selector a ser removido do web story.", "es" => "Seleccionador CSS a ser removido de la web story."); $tr["Leave blank if you don't know what this means."] = array("pt" => "Deixe em branco se voc\xc3\xaa n\xc3\xa3o sabe o que isso significa.", "es" => "Deje en blanco si no sabe lo que significa."); $tr["Example: #header, .footer"] = array("pt" => "Exemplo: #header, .footer", "es" => "Ejemplo: #header, .footer"); $tr["Tracking"] = array("pt" => "Acompanhamento", "es" => "Seguimiento"); $tr["Track the visits of your web stories."] = array("pt" => "Acompanhe as visitas de seus web stories.", "es" => "Seguir las visitas de sus web stories."); $tr["Add GA4 tracking code."] = array("pt" => "Adicione o c\xc3\xb3digo de acompanhamento do GA4.", "es" => "Agregue el c\303\xb3digo de seguimiento de GA4."); $tr["Enable Tracking"] = array("pt" => "Habilitar Acompanhamento", "es" => "Habilitar Seguimiento"); $tr["Enable or disable tracking."] = array("pt" => "Habilita ou desabilita o acompanhamento.", "es" => "Habilite ou deshabilite el seguimiento."); $tr["Google AdSense integration."] = array("pt" => "Integra\xc3\xa7\303\243o com o Google AdSense.", "es" => "Integraci\xc3\xb3n con Google AdSense."); $tr["Your Google AdSense publisher ID."] = array("pt" => "Seu ID de editor do Google AdSense.", "es" => "Su ID de editor de Google AdSense."); $tr["Your Google AdSense ad slot ID."] = array("pt" => "Seu ID de slot de an\303\xbancio do Google AdSense.", "es" => "Su ID de slot de anuncio de Google AdSense."); $tr["Enabled"] = array("pt" => "Habilitado", "es" => "Habilitado"); $tr["Enable Google AdSense integration."] = array("pt" => "Habilite a integra\303\247\xc3\xa3o com o Google AdSense.", "es" => "Habilite la integraci\303\263n con Google AdSense."); $tr["Support Us"] = array("pt" => "Apoie-nos", "es" => "Ap\xc3\xb3yanos"); $tr["If you want to help us, leave the option below unchecked."] = array("pt" => "Se voc\xc3\252 quiser nos ajudar, mantenha a op\303\xa7\xc3\xa3o abaixo ***desmarcada***.", "es" => "Si quieres ayudarnos, deja la opci\303\263n de abajo sin marcar."); $tr["Remove link to our website."] = array("pt" => "Remova o link para nosso site.", "es" => "Remueva el enlace a nuestro sitio."); $tr["Affiliate URL"] = array("pt" => "Link de Afiliado", "es" => "Link de Afiliado"); $tr["This will remove the plugin logo in the last slide. If you want to use an affiliate URL, leave this unchecked."] = array("pt" => "Isso remover\xc3\xa1 o logotipo do plugin na \xc3\272ltima p\xc3\241gina. Se voc\xc3\xaa quiser usar uma URL de afiliado, deixe isso desmarcado.", "es" => "Esto eliminar\303\xa1 el logotipo del plugin en la \xc3\272ltima diapositiva. Si desea usar una URL de afiliado, deje esto sin marcar."); $tr["Type your affiliate URL here and earn money by promoting our plugin."] = array("pt" => "Digite seu link de afiliado aqui e ganhe dinheiro promovendo nosso plugin.", "es" => "Escriba su link de afiliado aqu\303\xad y gane dinero promoviendo nuestro plugin."); $tr["Become an affiliate"] = array("pt" => "Torne-se um afiliado", "es" => "Convi\303\251rtete en afiliado"); $tr["You can not change options on the demo version."] = array("pt" => "Voc\xc3\252 n\303\xa3o pode alterar as op\xc3\xa7\303\265es na vers\xc3\xa3o demo.", "es" => "No puede cambiar las opciones en la versi\303\263n demo."); $tr["Demo version"] = array("pt" => "Vers\xc3\xa3o de Demonstra\xc3\xa7\303\xa3o", "es" => "Versi\303\263n de Demostraci\xc3\xb3n"); $tr["Buy the full version"] = array("pt" => "Compre a vers\xc3\xa3o completa", "es" => "Compre la versi\303\263n completa"); $tr["New version available"] = array("pt" => "Nova vers\xc3\243o dispon\303\255vel", "es" => "Nueva versi\303\xb3n disponible"); $tr["Download"] = array("pt" => "Baixar", "es" => "Descargar"); $current_language = get_bloginfo("language"); $current_language = substr($current_language, 0, 2); if (!in_array($current_language, array("pt", "es"))) { $current_language = "en"; } return $current_language == "en" ? $str : (array_key_exists($str, $tr) ? $tr[$str][$current_language] : $str); } goto Ppy7r; ZZ_kK: define("WSG_PLUGIN_VERSION", "2.0.8"); goto ApmEv; o7OgG: function wsg_validate_license($code = null) { return true; } goto aqdRu; OnNMn: define("WSG_SITEMAP_INDEX", "wsg-sitemap-index.xml"); goto o7OgG; uSNtQ: add_action("init", function () { if (!wsg_is_activated()) { return; } $urlPath = wsg_get_url_path(); $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if (preg_match("#^" . preg_quote($urlPrefix) . "wsg-sitemap-posts-([0-9]+)\.xml$#", $urlPath, $matches)) { $paged = $matches[1]; $postsPerPage = WSG_POSTS_PER_SITEMAP; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $paged)); if (!$query->have_posts() || $paged == 0) { return; } $siteUrl = get_site_url(); header("HTTP/1.1 200 OK"); header("Content-Type: application/xml; charset=UTF-8"); echo "<?xml version="1.0" encoding="UTF-8"?>"; echo "<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">"; $subDir = wsg_get_data("basedir"); while ($query->have_posts()) { $query->the_post(); $slug = get_post_field("post_name", get_the_ID()); $modified = get_post_field("post_modified", get_the_ID()); $url = "/" . $subDir . "/" . $slug . "/"; echo "<url>"; echo "<loc>" . $siteUrl . $url . "</loc>"; echo "<lastmod>" . date("c", strtotime($modified)) . "</lastmod>"; echo "</url>"; } echo "</urlset>"; die; } }, 0); goto R9Rfi; xQqys: define("WSG_PLUGIN_URL", "https://www.webstoriesgenerator.com"); goto ZZ_kK; A3ziU: function wsg_redirect_slash($urlPath, $query) { if (substr($urlPath, -1) != "/") { $urlPath = $query ? $urlPath . "/?" . $query : $urlPath . "/"; header("Location: " . $urlPath); die; } } goto PvnKo; Ppy7r: define("WSG_PLUGIN_TEXT_DOMAIN", "wsg-web-stories-generator"); goto RsoiJ; bRe3b: function wsg_create_posts_array($postsPerPage = -1, $paged = 0) { $postsArr = array("post_type" => "post", "post_status" => "publish", "posts_per_page" => -1, "fields" => "ids"); if ($paged > 1) { $postsArr["paged"] = $paged; } if ($postsPerPage > 0) { $postsArr["posts_per_page"] = $postsPerPage; } try { $postDelay = wsg_get_data("post_delay_in_days"); if (!$postDelay) { $postDelay = 0; } if ($postDelay > 0) { $fromDate = new DateTime(); $fromDate->sub(new DateInterval("P" . $postDelay . "D")); $postsArr["date_query"] = array(array("before" => $fromDate->format("Y-m-d"), "inclusive" => true)); } } catch (Exception $e) { } return $postsArr; } goto TAPxJ; Ga3nz: class WsgWebStoriesGeneratorAdminPage { private $wsg_demo = true; private function checkNewVersion() { $remote = wp_remote_get("https://www.webstoriesgenerator.com/plugin.json", array("timeout" => 10, "headers" => array("Accept" => "application/json"))); if (is_wp_error($remote) || 200 !== wp_remote_retrieve_response_code($remote) || empty(wp_remote_retrieve_body($remote))) { return false; } else { try { $body = wp_remote_retrieve_body($remote); $body = json_decode($body, true); $last_version = $body["version"]; $current_version = WSG_PLUGIN_VERSION; return version_compare($current_version, $last_version, "<"); } catch (Exception $e) { return false; } } } private function teste() { add_action("better_wp_admin_api_before-toplevel_page_wsg-web-stories-generator", function () { $active = wsg_is_activated(); echo "<script async src="https://www.googletagmanager.com/gtag/js?id=G-XN4MML3DWJ"></script>"; echo "<script>"; echo "window.dataLayer = window.dataLayer || [];"; echo "function gtag(){dataLayer.push(arguments);}"; echo "gtag('js', new Date());"; echo "gtag('config', 'G-XN4MML3DWJ');"; echo "gtag('event', 'Plugin', {"; echo " 'event_category': 'Site',"; echo " 'event_label': '" . get_site_url() . "',"; echo "});"; echo "gtag('event', 'Plugin', {"; echo " 'event_category': 'Version',"; echo " 'event_label': '" . WSG_PLUGIN_VERSION . "',"; echo "});"; echo "</script>"; echo "<h1><strong>" . ($active ? "\xf0\237\237\242" : "\xf0\x9f\x94\264") . " " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . "</strong></h1>"; if ($this->wsg_demo) { echo "<p style="margin-bottom: 1rem; text-transform: uppercase; background: red; overflow: auto; color: #fff; padding: 1rem; font-weight: bold; font-size: 20pt">" . wsg_str_translate("Demo version", WSG_PLUGIN_TEXT_DOMAIN); echo "<a target="_blank" href="https://www.webstoriesgenerator.com?utm_source=" . get_site_url() . "&utm_campaign=buy" style="display: inline-block; box-sizing: border-box; box-shadow: 1px 1px 3px #000; margin-left: 1rem; border-radius: 0.5rem; text-transform: none; background: green; color: #fff; padding: 1rem; font-size: 1.3rem">" . wsg_str_translate("Buy the full version", WSG_PLUGIN_TEXT_DOMAIN) . "</a>"; echo "</p>"; } else { if ($this->checkNewVersion()) { echo "<p style="margin-bottom: 1rem; text-transform: uppercase; background: lightblue; overflow: auto; color: #000; padding: 1rem; font-weight: bold; font-size: 20pt">" . wsg_str_translate("New version available", WSG_PLUGIN_TEXT_DOMAIN); echo "<a target="_blank" rel="nofollow noopener noreferrer" href="https://purchase.hotmart.com/" style="display: inline-block; box-sizing: border-box; box-shadow: 1px 1px 3px #000; margin-left: 1rem; border-radius: 0.5rem; text-transform: none; background: green; color: #fff; padding: 1rem; font-size: 1.3rem">" . wsg_str_translate("Download", WSG_PLUGIN_TEXT_DOMAIN) . "</a>"; echo "</p>"; } } if (get_option("wsg_licensed_to")) { echo "<p style="color: green">"; echo wsg_str_translate("Licensed to", WSG_PLUGIN_TEXT_DOMAIN) . ": <strong>" . get_option("wsg_licensed_to"); echo "</strong>"; echo "</p>"; } else { echo "<p style="color: red">"; echo wsg_str_translate("Not licensed", WSG_PLUGIN_TEXT_DOMAIN); echo ".</p>"; } if ($active) { $baseDir = wsg_get_data("basedir"); $urlSitemap = get_site_url() . "/" . WSG_SITEMAP_INDEX; $urlBasePath = get_site_url() . "/" . $baseDir . "/"; echo "<hr>"; echo "<div style="background: #c3ffc2; padding: 10px; border-radius: 4px;/">"; echo "<ul>"; echo "<li><strong>" . wsg_str_translate("Sitemap", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> <a target="_blank" href="" . $urlSitemap . "">" . $urlSitemap . "</a> (" . wsg_str_translate("send this sitemap to the", WSG_PLUGIN_TEXT_DOMAIN) . " <a target="_blank" href="https://search.google.com/search-console/welcome">Google Search Console</a>)</li>"; echo "<li><strong>" . wsg_str_translate("Stories List Page", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> <a target="_blank" href="" . $urlBasePath . "">" . $urlBasePath . "</a></li>"; $total = wsg_get_posts_count(); echo "<li><strong>" . wsg_str_translate("Total web stories generated", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> " . $total . "</li>"; echo "</ul>"; echo "</div>"; echo "<hr>"; echo "<p style="text-transform: uppercase; color: red">"; echo "<strong>*** "; echo wsg_str_translate("Remember to clear the cache when changing options", WSG_PLUGIN_TEXT_DOMAIN); echo " ***</strong>"; echo "</p>"; echo "<hr>"; } }); add_action("better_wp_admin_api_after-toplevel_page_wsg-web-stories-generator", function () { echo "<hr />"; echo "<p><a target="_blank" href="" . WSG_PLUGIN_URL . "">" . WSG_PLUGIN_NAME . "</a> v" . WSG_PLUGIN_VERSION . " " . wsg_str_translate("by", WSG_PLUGIN_TEXT_DOMAIN) . " <a target="_blank" href="" . WSG_PLUGIN_AUTHOR_URL . "">" . WSG_PLUGIN_AUTHOR_NAME . "</a></p>"; echo "<p>" . wsg_str_translate("Proudly made in Brazil", WSG_PLUGIN_TEXT_DOMAIN) . " \xf0\237\207\247\xf0\x9f\207\xb7</p>"; }); } private function default_page() { $page = wp_create_admin_page(array("menu_name" => " Web Stories Generator", "id" => "wsg-web-stories-generator", "prefix" => "wsg-web-stories-generator" . "_", "icon" => "dashicons-format-gallery", "position" => 25)); return $page; } private function licensing_tab($page) { $page->set_tab(array("id" => "default", "name" => wsg_str_translate("Licensing", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("General settings for the plugin.", WSG_PLUGIN_TEXT_DOMAIN))); } private function general_tab($page) { $page->set_tab(array("id" => "default", "name" => wsg_str_translate("General", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("General settings for the plugin.", WSG_PLUGIN_TEXT_DOMAIN))); if (!$this->wsg_demo) { $page->add_subtitle(array("name" => wsg_str_translate("Licensing", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "email", "label" => wsg_str_translate("Email", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Email used to purchase the plugin.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text")); $page->add_field(array("id" => "transaction_code", "label" => wsg_str_translate("Transaction Code", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Hotmart Transaction code. You received it in your email after purchasing the plugin."), "type" => "text", "props" => array("placeholder" => "HP12345678901234", "type" => "password"), "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value) || substr($new_value, 0, 2) !== "HP") { add_settings_error($field_id, $field_id, wsg_str_translate("Invalid transaction code.", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return trim($new_value); } })); $page->add_subtitle(array("name" => wsg_str_translate("General Options", WSG_PLUGIN_TEXT_DOMAIN))); } if (wsg_validate_license()) { $page->add_field(array("id" => "basedir", "label" => wsg_str_translate("Base Directory", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The base directory for the web stories. Use a directory that doesn't already exist on your site to avoid conflicts.", WSG_PLUGIN_TEXT_DOMAIN), "default" => "webstories", "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Base Directory" is required", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return trim($new_value, "/"); } })); $oldestPostWpQuery = new WP_Query(array("posts_per_page" => 1, "orderby" => "date", "order" => "ASC", "post_type" => "post", "post_status" => "publish", "fields" => "ids", "suppress_filters" => true)); $oldestPostDate = get_the_date("Y-m-d", $oldestPostWpQuery->posts[0]); $days = (strtotime(date("Y-m-d")) - strtotime($oldestPostDate)) / (60 * 60 * 24); $days = ceil($days); $page->add_field(array("id" => "post_delay_in_days", "label" => wsg_str_translate("Post Delay (in days)", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The number of days to wait before publishing a new web story.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>0</strong> - " . wsg_str_translate("If you set this to 0, all the web stories will be published immediately.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>1</strong> - " . wsg_str_translate("All the web stories based on the posts published until yesterday will be generated, and the new ones will be generated with a delay of 1 day.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>" . $days . "</strong> - " . str_replace("%s", $days, wsg_str_translate("Only the web stories based on the posts published %s days ago (your oldest posts) will be generated immediately, and all the other will be published following this delay.", WSG_PLUGIN_TEXT_DOMAIN)), "default" => 0, "props" => array("type" => "number", "min" => 0, "placeholder" => "0", "step" => 1), "type" => "text", "sanitize_callback" => function ($new_value, $field_id, $the_page) { $new_value = intval($new_value); if ($new_value < 0) { add_settings_error($field_id, $field_id, wsg_str_translate(""Post Delay" is required", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "is_activated", "label" => wsg_str_translate("Active?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to generate web stories.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "default" => "off", "sanitize_callback" => function ($new_value, $field_id, $the_page) { try { $isActivating = $new_value === "on"; $email = $the_page->get_field_value("email"); $transactionCode = $the_page->get_field_value("transaction_code"); $url = implode("/", array(WSG_PLUGIN_URL, strrev("ipa"), strrev("1v"), strrev("noitavitca"))); $data = array("email" => $email, "transaction" => $transactionCode, "active" => $isActivating); $json_data = json_encode($data); $siteUrl = get_site_url(); $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Referer: " . $siteUrl, "Content-Type: application/json", "Content-Length: " . strlen($json_data))); $response = curl_exec($ch); curl_close($ch); $response = json_decode($response, true); $isLicensed = array_key_exists("licensed", $response) && $response["licensed"] === true; if ($isLicensed) { $licensedTo = ''; if (array_key_exists("licensedTo", $response)) { $licensedTo = $response["licensedTo"]; } update_option("wsg_licensed_to", $licensedTo); return $new_value; } else { if (!wsg_is_sbrubles()) { add_settings_error($field_id, $field_id, wsg_str_translate("Invalid license.", WSG_PLUGIN_TEXT_DOMAIN)); update_option("wsg_licensed_to", null); return false; } else { return $new_value; } } } catch (Exception $e) { add_settings_error($field_id, $field_id, wsg_str_translate("Error activating the plugin", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } })); } return $page; } private function appearance_tab($page) { $tab = $page->set_tab(array("id" => "appearance", "name" => wsg_str_translate("Appearance", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Set the look and feel of your web story.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_subtitle(array("name" => wsg_str_translate("Colors", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "primary_color", "label" => wsg_str_translate("Primary Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The primary color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#ff0000")); $page->add_field(array("id" => "background_color", "label" => wsg_str_translate("Background Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The background color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#ffffff")); $page->add_field(array("id" => "text_color", "label" => wsg_str_translate("Text Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The text color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#333333")); $page->add_field(array("id" => "background_animation", "label" => wsg_str_translate("Background Animation", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to animate images in the background.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "on")); $page->add_subtitle(array("name" => wsg_str_translate("Auto Advance", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "aa_interval", "label" => wsg_str_translate("Auto Advance Interval", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The time interval (in seconds) between each page of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "appearance", "default" => 7, "props" => array("type" => "number", "min" => 1, "placeholder" => '', "max" => 20, "step" => 1))); $page->add_field(array("id" => "aa_active", "label" => wsg_str_translate("Auto Advance Active?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to enable auto advance.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "off")); $page->add_subtitle(array("name" => wsg_str_translate("Call to Action", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "cta_button_text", "label" => wsg_str_translate("Call to Action Button Text", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Leave blank for default.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "appearance")); $page->add_field(array("id" => "cta_last_slide", "label" => wsg_str_translate("Show Call To Action only in the last slide?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to show the Call To Action button only in the last slide.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "off")); $page->add_subtitle(array("name" => wsg_str_translate("Logo", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "main_logo", "label" => wsg_str_translate("Main Logo", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The main logo of your site, visible on Google Discover.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "image", "tab" => "appearance", "default" => '')); $page->add_field(array("id" => "background_logo", "label" => wsg_str_translate("Background Logo", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The logo visible on the background of your stories.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "image", "tab" => "appearance", "default" => '')); $page->add_field(array("id" => "background_logo_visible", "label" => wsg_str_translate("Background logo visible?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Show this logo on the top of all the web story slides.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . wsg_str_translate("* Only works if background animation is disabled.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => '')); $page->add_subtitle(array("name" => wsg_str_translate("Elements", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "remove_selector", "label" => wsg_str_translate("Remove Selector (Advanced)", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("CSS selector to remove from the web story.", WSG_PLUGIN_TEXT_DOMAIN) . "<br>" . wsg_str_translate("Leave blank if you don't know what this means.", WSG_PLUGIN_TEXT_DOMAIN) . "<br>" . wsg_str_translate("Example: #header, .footer", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "appearance", $this->wsg_demo ? "content" : "default" => '')); return $tab; } private function tracking_tab($page) { $page->set_tab(array("id" => "tracking", "name" => wsg_str_translate("Tracking", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Track the visits of your web stories.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "google_analytics", "label" => wsg_str_translate("Google Analytics 4", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Add GA4 tracking code.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "tracking", "props" => array("placeholder" => "G-XXXXXXXXXX"), "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^G-\w{1,}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Google Analytics ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "tracking_enabled", "label" => wsg_str_translate("Enable Tracking", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Enable or disable tracking.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "tracking", "default" => true)); } private function google_adsense_tab($page) { $page->set_tab(array("id" => "google-adsense", "name" => wsg_str_translate("Google AdSense", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Google AdSense integration.", WSG_PLUGIN_TEXT_DOMAIN) . ($this->wsg_demo ? "<br><strong style="color: red; text-transform: uppercase">*** " . wsg_str_translate("You can not change options on the demo version.", WSG_PLUGIN_TEXT_DOMAIN) . " ***" : '') . "</strong>")); $page->add_field(array("id" => "google_adsense_publisher_id", "label" => wsg_str_translate("Publisher ID", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Google AdSense publisher ID.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "google-adsense", "props" => array("placeholder" => "ca-pub-1234567890123456"), $this->wsg_demo ? "content" : "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^ca-pub-\d{16}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Publisher ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "google_adsense_ad_slot_id", "label" => wsg_str_translate("Ad Slot ID", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Google AdSense ad slot ID.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "google-adsense", "props" => array("placeholder" => "1234567890"), $this->wsg_demo ? "content" : "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^\d{1,10}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Ad Slot ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "google_adsense_enabled", "label" => wsg_str_translate("Enabled", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Enable Google AdSense integration.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "checkbox", "tab" => "google-adsense", $this->wsg_demo ? "content" : "default" => false)); } private function support_tab($page) { $page->set_tab(array("id" => "support-tab", "name" => wsg_str_translate("Support Us", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("If you want to help us, leave the option below unchecked.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "remove_support", "label" => wsg_str_translate("Remove link to our website.", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("This will remove the plugin logo in the last slide. If you want to use an affiliate URL, leave this unchecked.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "support-tab", "default" => false)); $page->add_field(array("id" => "affiliate_url", "label" => wsg_str_translate("Affiliate URL", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Type your affiliate URL here and earn money by promoting our plugin.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<a rel="nofollow noopener" href="https://www.webstoriesgenerator.com/affiliates/" target="_blank">" . wsg_str_translate("Become an affiliate", WSG_PLUGIN_TEXT_DOMAIN) . "</a>", "type" => "text", "tab" => "support-tab", "default" => '')); } function __construct($demo) { $this->wsg_demo = $demo; } function init() { $page = $this->default_page(); $this->general_tab($page); if (wsg_validate_license()) { $this->appearance_tab($page); $this->tracking_tab($page); $this->google_adsense_tab($page); if (!$this->wsg_demo) { $this->support_tab($page); } } $this->teste(); } } goto ISuRO; NcSBr: define("WSG_FOREGROUND_COLOR", "#000000"); goto c6a3D; BAC8Q: class QuerySelectorTranslator { const cssRegex = "/" . "(?P<star>\*)" . "|(:(?P<pseudo>[\w-]*))" . "|\(*(?P<pseudospecifier>["']*[\w\h-]*["']*)\)" . "|(?P<element>[\w-]*)" . "|(?P<child>\s*>\s*)" . "|(#(?P<id>[\w-]*))" . "|(\.(?P<class>[\w-]*))" . "|(?P<sibling>\s*\+\s*)" . "|(\[(?P<attribute>[\w-]*)((?P<attribute_equals>[=~$]+)(?P<attribute_value>(.+\[\]'?)|[^\]]+))*\])+" . "|(?P<descendant>\s+)" . "/"; const EQUALS_EXACT = "="; const EQUALS_CONTAINS_WORD = "~="; const EQUALS_ENDS_WITH = "$="; const EQUALS_CONTAINS = "*="; const EQUALS_STARTS_WITH_OR_STARTS_WITH_HYPHENATED = "|="; const EQUALS_STARTS_WITH = "^="; protected $cssSelector; protected $prefix; public function __construct(string $cssSelector, string $prefix = ".//") { $this->cssSelector = $cssSelector; $this->prefix = $prefix; } public function __toString() : string { return $this->asXPath(); } public function asXPath() : string { return $this->convert($this->cssSelector); } protected function convert(string $css) : string { $cssArray = preg_split("/(["']).*?\1(*SKIP)(*F)|,/", $css); $xPathArray = array(); foreach ($cssArray as $input) { $output = $this->convertSingleSelector(trim($input)); $xPathArray[] = $output; } return implode(" | ", $xPathArray); } protected function convertSingleSelector(string $css) : string { $thread = $this->preg_match_collated(self::cssRegex, $css); $thread = array_values($thread); $xpath = array($this->prefix); $prevType = ''; foreach ($thread as $threadKey => $currentThreadItem) { $next = isset($thread[$threadKey + 1]) ? $thread[$threadKey + 1] : false; switch ($currentThreadItem["type"]) { case "star": case "element": $xpath[] = $currentThreadItem["content"]; break; case "pseudo": $specifier = ''; if ($next && $next["type"] == "pseudospecifier") { $specifier = "{$next["content"]}"; } switch ($currentThreadItem["content"]) { case "disabled": case "checked": case "selected": array_push($xpath, "[@{$currentThreadItem["content"]}]"); break; case "text": array_push($xpath, "[@type="text"]"); break; case "contains": if (empty($specifier)) { continue 3; } array_push($xpath, "[contains(text(),{$specifier})]"); break; case "first-child": $prev = count($xpath) - 1; $xpath[$prev] = "*[1]/self::" . $xpath[$prev]; break; case "nth-child": if (empty($specifier)) { continue 3; } $prev = count($xpath) - 1; $previous = $xpath[$prev]; if (substr($previous, -1, 1) === "]") { $xpath[$prev] = str_replace("]", " and position() = {$specifier}]", $xpath[$prev]); } else { array_push($xpath, "[{$specifier}]"); } break; case "nth-of-type": if (empty($specifier)) { continue 3; } $prev = count($xpath) - 1; $previous = $xpath[$prev]; if (substr($previous, -1, 1) === "]") { array_push($xpath, "[{$specifier}]"); } else { array_push($xpath, "[{$specifier}]"); } break; } break; case "child": array_push($xpath, "/"); break; case "id": array_push($xpath, ($prevType != "element" ? "*" : '') . "[@id='{$currentThreadItem["content"]}']"); break; case "class": array_push($xpath, ($prevType != "element" && $prevType != "class" ? "*" : '') . "[contains(concat(' ',normalize-space(@class),' '),' {$currentThreadItem["content"]} ')]"); break; case "sibling": array_push($xpath, "/following-sibling::*[1]/self::"); break; case "attribute": if (!$prevType) { array_push($xpath, "*"); } $detail = $currentThreadItem["detail"] ?? null; $detailType = $detail[0] ?? null; $detailValue = $detail[1] ?? null; if (!$detailType || $detailType["type"] !== "attribute_equals") { array_push($xpath, "[@{$currentThreadItem["content"]}]"); continue 2; } $valueString = trim($detailValue["content"], " '""); $equalsType = $detailType["content"]; switch ($equalsType) { case self::EQUALS_EXACT: array_push($xpath, "[@{$currentThreadItem["content"]}="{$valueString}"]"); break; case self::EQUALS_CONTAINS: throw new NotYetImplementedException(); case self::EQUALS_CONTAINS_WORD: array_push($xpath, "[" . "contains(" . "concat(" ",@{$currentThreadItem["content"]}," ")," . "concat(" ","{$valueString}"," ")" . ")" . "]"); break; case self::EQUALS_STARTS_WITH_OR_STARTS_WITH_HYPHENATED: throw new NotYetImplementedException(); case self::EQUALS_STARTS_WITH: throw new NotYetImplementedException(); case self::EQUALS_ENDS_WITH: array_push($xpath, "[" . "substring(" . "@{$currentThreadItem["content"]}," . "string-length(@{$currentThreadItem["content"]}) - " . "string-length("{$valueString}") + 1)" . "="{$valueString}"" . "]"); break; } break; case "descendant": array_push($xpath, "//"); break; } $prevType = $currentThreadItem["type"]; } return implode('', $xpath); } protected function preg_match_collated(string $regex, string $string, callable $transform = null) : array { preg_match_all($regex, $string, $matches, PREG_PATTERN_ORDER); $set = array(); foreach ($matches[0] as $k => $v) { if (!empty($v)) { $set[$k] = null; } } foreach ($matches as $k => $m) { if (is_numeric($k)) { continue; } foreach ($m as $i => $match) { if ($match === '') { continue; } $toSet = null; if ($transform) { $toSet = $transform($k, $match); } else { $toSet = array("type" => $k, "content" => $match); } if (!isset($set[$i])) { $set[$i] = $toSet; } else { if (!isset($set[$i]["detail"])) { $set[$i]["detail"] = array(); } array_push($set[$i]["detail"], $toSet); } } } return $set; } } goto Ga3nz; mLp3u: function wsg_get_data($name) { return wp_get_page_field_value("wsg-web-stories-generator", $name); } goto bRe3b; aZfXA: define("WSG_PLUGIN_AUTHOR_URL", "https://author.webstoriesgenerator.com"); goto LF0nv; aqdRu: function wsg_is_activated() { $active = wsg_get_data("is_activated"); return $active && $active == "on" ? true : false; } goto mLp3u; c6a3D: define("WSG_BACKGROUND_COLOR", "#ffffff"); goto OnNMn; AcB42: function wsg_get_url_path() { $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = $parsedUrl["path"]; return $urlPath; } goto LQRZe; wA2dU: add_image_size("webstories-generator-cover", 720, 1280, true); goto XPAyr; ApmEv: define("WSG_PLUGIN_AUTHOR_NAME", "Felipe Mendon\303\247a Marques Silva"); goto aZfXA; PpJm3: class CssXPathException extends RuntimeException { } goto CZoIY; D3hK3: add_action("init", function () { if (!wsg_is_activated()) { return; } $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = @$parsedUrl["path"]; $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; $subDir = wsg_get_data("basedir"); if (strpos($urlPath, $urlPrefix . $subDir . "/") === 0) { wsg_redirect_slash($urlPath, @$parsedUrl["query"]); $slug = substr($urlPath, strlen($urlPrefix . $subDir) + 1); if (substr($slug, -1) == "/") { $slug = substr($slug, 0, -1); } $post = get_page_by_path($slug, OBJECT, "post"); if ($post) { $postContent = $post->post_content; $postTitle = $post->post_title; echo wsg_create_webstory($post); die; } } }, 0); goto VGfh6; CZoIY: class NotYetImplementedException extends CssXPathException { } goto BAC8Q; LQRZe: function wsg_is_sbrubles() { return get_option("wsg_demo"); } goto ZDmgw; ISuRO: (new WsgWebStoriesGeneratorAdminPage(get_option("wsg_demo")))->init();
?>
Did this file decode correctly?
Original Code
<? goto wA2dU; PvnKo: function wsg_create_post_widget($id) { $subDir = wsg_get_data("basedir"); $title = get_the_title($id); $post = get_post($id); $excerpt = ''; try { $excerpt = do_shortcode($post->post_excerpt); if ($excerpt) { $excerpt = strip_tags($excerpt); if (strlen($excerpt) > 100) { $excerpt = substr($excerpt, 0, 100) . "..."; } } else { $excerpt = ''; } } catch (Exception $e) { $excerpt = ''; } $slug = get_post_field("post_name", $id); $thumbnail = get_the_post_thumbnail_url($id, "medium"); if (!$thumbnail) { $thumbnail = "https://via.placeholder.com/320x240"; } $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; $webstoryUrl = $urlPrefix . $subDir . "/" . $slug . "/"; $html = "<div class="card mb-4">"; if ($thumbnail) { $html .= "<a href="" . $webstoryUrl . "">"; $html .= " <img loading="lazy" width="320" height="160" style="object-fit: cover" src="" . $thumbnail . "" class="card-img-top _img-fluid" alt="" . $title . "">"; $html .= "</a>"; } $html .= "<div class="card-body">"; $html .= " <h2 class="card-title h5"><a href="" . $webstoryUrl . "">" . $title . "</a></h2>"; $html .= " <p class="card-text">" . $excerpt . "</p>"; $html .= "</div>"; $html .= "</div>"; return $html; } goto tQJyt; LF0nv: define("WSG_POSTS_PER_SITEMAP", 1000); goto NcSBr; VGfh6: class WebstoriesGeneratorStandalone { private $wsg_demo = false; public function __construct($demo) { $this->wsg_demo = $demo; } private function load_html($html) { $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadHTML("<?xml encoding="" . "utf-8" . "" ?>" . $html); return $dom; } private function xpath_query($dom, $q) { $xpath = new DOMXPath($dom); return $xpath->query($q); } private function selector_query($dom, $q) { return $this->xpath_query($dom, new QuerySelectorTranslator($q)); } private function create_jsonld_from_post($post) { $logo = get_site_icon_url(); $authorUrl = get_author_posts_url($post->post_author); $siteUrl = get_site_url(); $subDir = wsg_get_data("basedir"); $slug = $post->post_name; $canonical = $siteUrl . "/" . $subDir . "/" . $slug . "/"; $jsonld = array(); $jsonld["@context"] = "http://schema.org"; $jsonld["@type"] = "Article"; $jsonld["mainEntityOfPage"] = array("@type" => "WebPage", "url" => $canonical, "name" => esc_html($post->post_title), "description" => esc_html(wp_strip_all_tags($post->post_excerpt))); $jsonld["headline"] = esc_html($post->post_title); $jsonld["datePublished"] = $post->post_date; $jsonld["dateModified"] = $post->post_modified; $jsonld["author"] = array("@type" => "Person", "name" => get_the_author_meta("display_name", $post->post_author)); if ($authorUrl) { $jsonld["author"]["url"] = $authorUrl; } $jsonld["publisher"] = array("@type" => "Organization", "name" => get_bloginfo("name")); if ($logo) { $jsonld["publisher"]["logo"] = array("@type" => "ImageObject", "url" => $logo); } $jsonld["description"] = $post->post_excerpt; $jsonld["image"] = array("@type" => "ImageObject", "url" => get_the_post_thumbnail_url($post, "full")); try { $dom = $this->load_html($post->post_content); $articleBody = ''; $articleBodyNodes = $this->selector_query($dom, "p"); foreach ($articleBodyNodes as $node) { $articleBody .= $node->textContent; } $jsonld["articleBody"] = $articleBody; } catch (Exception $e) { $jsonld["articleBody"] = ''; } return json_encode($jsonld); } function generate($postId) { libxml_use_internal_errors(true); $post = get_post($postId); $slug = $post->post_name; $lang = get_bloginfo("language"); $title = esc_html(do_shortcode($post->post_title)); $excerpt = do_shortcode($post->post_excerpt); $description = esc_html(wp_strip_all_tags($excerpt)); $image = get_the_post_thumbnail_url($post, "webstories-generator-cover"); $siteUrl = get_site_url(); $subDir = wsg_get_data("basedir"); $slug = $post->post_name; $canonical = $siteUrl . "/" . $subDir . "/" . $slug . "/"; $logo = get_site_icon_url(); $favicon = get_site_icon_url(32); $siteName = get_bloginfo("name"); if (!$image) { $image = $logo; } $content = wpautop(do_shortcode($post->post_content)); $useAdX = false; $showLogo = true; $gaCode = null; $isTrackingEnabled = wsg_get_data("tracking_enabled"); if ($isTrackingEnabled) { $gaCode = wsg_get_data("google_analytics"); } $adSenseClient = null; $adSenseSlot = null; $isAdsenseEnabled = wsg_get_data("google_adsense_enabled"); if ($isAdsenseEnabled) { $adSenseClient = wsg_get_data("google_adsense_publisher_id"); $adSenseSlot = wsg_get_data("google_adsense_ad_slot_id"); } else { $adSenseClient = null; $adSenseSlot = null; } $useAdSense = !(empty($adSenseClient) || empty($adSenseSlot)); $ctaUrl = get_permalink($post); $ctaLastSlide = wsg_get_data("cta_last_slide"); $ctaButtonText = wsg_get_data("cta_button_text"); $cta_text = wsg_str_translate("Read more", WSG_PLUGIN_TEXT_DOMAIN); $dataPrimaryColor = wsg_get_data("primary_color"); $color = $dataPrimaryColor ? $dataPrimaryColor : WSG_FOREGROUND_COLOR; $dataBackgroundColor = wsg_get_data("background_color"); $background = $dataBackgroundColor ? $dataBackgroundColor : WSG_BACKGROUND_COLOR; $textColor = wsg_get_data("text_color"); $textColor = $textColor ? $textColor : "#222"; $dataMainLogo = wsg_get_data("main_logo"); if ($dataMainLogo) { $mainLogo = wp_get_attachment_image_src($dataMainLogo, "full"); if ($mainLogo) { $mainLogo = $mainLogo[0]; $logo = $mainLogo; } } $backgroundLogo = null; $dataBackgroundLogo = wsg_get_data("background_logo"); if ($dataBackgroundLogo) { $backgroundLogo = wp_get_attachment_image_src($dataBackgroundLogo, "full"); if ($backgroundLogo) { $backgroundLogo = $backgroundLogo[0]; } } if (!$backgroundLogo) { $backgroundLogo = $logo; } $showBackgroundLogo = wsg_get_data("background_logo_visible"); $showBackgroundLogo = $showBackgroundLogo ? $showBackgroundLogo : false; $autoAdvance = wsg_get_data("aa_active"); $autoAdvanceEnabled = $autoAdvance && $autoAdvance == "on" ? true : false; $autoAdvanceInterval = wsg_get_data("aa_interval"); $support = !wsg_get_data("remove_support"); $html = $content; $html = preg_replace("/<p> <\/p>/", '', $html); $html = str_replace(" ", " ", $html); $html = str_replace(" ", " ", $html); $html = preg_replace("/<p><\/p>/", '', $html); $html = preg_replace("/<p> <\/p>/", '', $html); $dom = $this->load_html($html); try { $selectors = wsg_get_data("remove_selector"); if ($selectors) { $selectorsToRemove = $this->selector_query($dom, $selectors); foreach ($selectorsToRemove as $node) { $node->parentNode->removeChild($node); } $html = $dom->saveHTML(); } } catch (Exception $e) { } $figures = $this->selector_query($dom, "figure"); foreach ($figures as $figure) { $figcaption = $figure->getElementsByTagName("figcaption")->item(0); $img = $figure->getElementsByTagName("img")->item(0); if ($figcaption) { if ($img) { $img->setAttribute("data-title", $figcaption->nodeValue); } } } $html = $dom->saveHTML(); $figcaptions = $this->selector_query($dom, "figcaption"); foreach ($figcaptions as $figcaption) { $figcaption->parentNode->removeChild($figcaption); } $html = $dom->saveHTML(); $imgs = $this->selector_query($dom, "img"); foreach ($imgs as $img) { $attributes = $img->attributes; $attributeNames = array(); foreach ($attributes as $attribute) { $attributeNames[] = $attribute->name; } foreach ($attributeNames as $attributeName) { if (!in_array($attributeName, array("src", "alt", "title", "srcset", "data-lazy-srcset", "data-lazy-src"))) { $img->removeAttribute($attributeName); } } $src = $img->getAttribute("src"); if (empty($src)) { $dataLazySrc = $img->getAttribute("data-lazy-src"); if (!empty($dataLazySrc)) { $img->setAttribute("src", $dataLazySrc); } } if (empty($src)) { $srcset = $img->getAttribute("srcset"); if (empty($srcset)) { $dataLazySrcset = $img->getAttribute("data-lazy-srcset"); if (!empty($dataLazySrcset)) { $img->setAttribute("srcset", $dataLazySrcset); } } } else { $img->removeAttribute("srcset"); } $img->removeAttribute("data-lazy-srcset"); $img->removeAttribute("data-lazy-src"); $emptySrc = $img->getAttribute("src"); $emtpySrcset = $img->getAttribute("srcset"); if (empty($emptySrc) && empty($emtpySrcset)) { $img->parentNode->removeChild($img); } } $html = $dom->saveHTML(); $toRemove = $this->selector_query($dom, "script, .kksr-stars, .kksr-legend, .kk-star-ratings, .monsterinsights-widget-popular-posts, #toc_container"); foreach ($toRemove as $node) { $node->parentNode->removeChild($node); } $html = $dom->saveHTML(); $allowed_tags = "b,dl,dt,dd,img,i,em,strong,p,table,thead,tbody,tr,td,th,ul,li,ol,h1,h2,h3,h4,h5,h6"; $allowed_tags = explode(",", $allowed_tags); $allowed_tags = array_map(function ($tag) { return "<" . $tag . ">"; }, $allowed_tags); $allowed_tags = implode('', $allowed_tags); $safeHtml = strip_tags($html, $allowed_tags); $dom = $this->load_html($safeHtml); $slides = array(); $firstLevelElements = $this->selector_query($dom, "body > *"); foreach ($firstLevelElements as $node) { $node->removeAttribute("contenteditable"); $slide = $node->ownerDocument->saveHTML($node); if (empty($slide)) { continue; } if (preg_match("/^<[^\/]>\s*<\/[^>]+>$/", $slide)) { continue; } $slide = preg_replace("/<img([^>]+)>/", "<amp-img layout="responsive" width="100" height="100" object-fit="cover" style="border-radius: 10px;" $1></amp-img>", $slide); $slide = preg_replace("/<amp-img([^>]+)title="([^"]+)"([^>]+)>/", "<amp-img$1$3></amp-img><span class="title">$2</span>", $slide); $previousIndex = count($slides) - 1; $previousSlide = @$slides[$previousIndex]; if (isset($previousSlide) && preg_match("/^<h[1-6]([^>]+)>/", $previousSlide) || preg_match("/^<h[1-6]>/", $previousSlide)) { $previousSlideDom = $this->load_html($previousSlide); $previousSlideFirstLevelElements = $this->selector_query($previousSlideDom, "body > *"); $previousSlideFirstLevelElementsCount = count($previousSlideFirstLevelElements); if ($previousSlideFirstLevelElementsCount == 1) { $slides[$previousIndex] .= $slide; continue; } } if ($slide) { $slides[] = $slide; } } $slideEffects = array("fly-in-right", "fly-in-left", "fly-in-bottom"); foreach ($slides as $key => $slide) { $slideDOM = $this->load_html($slide); $slideElements = $this->selector_query($slideDOM, "body > *"); $delay = 0; foreach ($slideElements as $slideElement) { $slideEffect = $slideEffects[array_rand($slideEffects)]; $slideElement->setAttribute("animate-in", $slideEffect); $slideElement->setAttribute("animate-in-delay", $delay . "s"); $slideElement->setAttribute("animate-in-duration", "0.8s"); $delay += 0.35; } $slideHtml = $slideDOM->saveHTML($slideDOM->documentElement); $slideHtml = preg_replace("/^<html[^>]*>\s*<body[^>]*>/", '', $slideHtml); $slideHtml = preg_replace("/<\/body>\s*<\/html>$/", '', $slideHtml); $slides[$key] = $slideHtml; } if (isset($_GET["json"])) { header("Content-Type: application/json"); echo json_encode($slides); die; } libxml_use_internal_errors(false); $wsgenUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; $backgroundAnimation = wsg_get_data("background_animation"); $animateImagesInTheBackground = isset($backgroundAnimation) && $backgroundAnimation == "on"; echo "<!DOCTYPE html>"; echo "<html amp lang="" . $lang . "">"; echo "<head>"; echo "<meta charset="utf-8">"; echo "<meta name="viewport" content="width=device-width, initial-scale=1">"; echo "<title>" . $title . "</title>"; echo "<meta name="description" content="" . $description . "">"; echo "<meta name="theme-color" content="" . $color . "">"; echo "<meta property="og:title" content="" . $title . "">"; echo "<meta property="og:description" content="" . $description . "">"; echo "<meta property="og:image" content="" . $image . "">"; echo "<meta property="og:url" content="" . $canonical . "">"; echo "<meta property="og:type" content="article">"; echo "<meta property="og:site_name" content="" . $siteName . "">"; echo "<meta property="og:locale" content="" . $lang . "">"; echo "<meta property="twitter:card" content="summary_large_image">"; echo "<meta property="twitter:title" content="" . $title . "">"; echo "<meta property="twitter:description" content="" . $description . "">"; echo "<meta property="twitter:image" content="" . $image . "">"; echo "<meta property="twitter:url" content="" . $canonical . "">"; echo "<meta property="twitter:site" content="" . $siteName . "">"; echo "<meta property="twitter:creator" content="" . $siteName . "">"; echo "<meta property="twitter:locale" content="" . $lang . "">"; echo "<meta itemprop="name" content="" . $title . "">"; echo "<meta itemprop="description" content="" . $description . "">"; echo "<meta itemprop="image" content="" . $image . "">"; echo "<meta itemprop="url" content="" . $canonical . "">"; echo "<meta itemprop="author" content="" . $siteName . "">"; echo "<meta itemprop="publisher" content="" . $siteName . "">"; echo "<meta itemprop="inLanguage" content="" . $lang . "">"; echo "<link rel="canonical" href="" . $canonical . "">"; echo "<link rel="icon" href="" . $favicon . "">"; echo "<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>"; echo "<noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>"; echo "<style amp-custom>"; echo "body, * {"; echo " font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;"; echo "}"; echo "body { height: 100%; }"; echo "p { font-size: 1.2rem; text-align: center; }"; echo "p, h1, h2, h3, h4, h5, h6 { word-break: break-word; }"; echo "h1 { color: inhrerit; }"; echo "amp-img { background-color: grey; }"; echo "table { max-width: 100%; width: 100%; }"; echo "table, tr { border-spacing:0; border-collapse: collapse; }"; echo "table td { border: 1px solid #ccc; border-spacing: 0; padding: 2px; }"; echo ".page {"; echo " background: " . $background . ";"; echo " color: " . $textColor . ";"; if ($showBackgroundLogo) { echo " background-image: url(" . $backgroundLogo . ");"; } echo " background-repeat: no-repeat;"; echo " background-position: top 20px left 32px;"; echo " background-size: auto 36px;"; echo "}"; if ($animateImagesInTheBackground) { echo ".content-page {"; echo " background-size: cover;"; echo " animation: background 5s ease-in-out infinite alternate;"; echo "}"; echo "@keyframes background {"; echo " 0% { background-position: 0 0; }"; echo " 100% { background-position: 100% 0; }"; echo "}"; echo ".bg-image { "; echo " height: 100px; background-position: center; background-repeat: no-repeat; background-size: cover;"; echo " }"; echo ".blur { "; echo "background: " . $background . "bb;"; echo "backdrop-filter: blur(10px);"; echo "height: 100vh;"; echo "width: 100vw;"; echo "position: absolute;"; echo "top: 0;"; echo "left: 0;"; echo "}"; $lastSlideImage = $image; foreach ($slides as $slide) { $dom = $this->load_html($slide); $ampImageNodes = $this->selector_query($dom, "amp-img"); foreach ($ampImageNodes as $node) { $src = $node->getAttribute("src"); if ($src) { $lastSlideImage = $src; } } $dom = null; $slideIndex = array_search($slide, $slides); echo ".bg-image-slide-" . $slideIndex . " { "; echo "background-image: url("" . $lastSlideImage . "");"; echo " }"; } if ($image) { echo ".bg-image-cover { "; echo "background-image: linear-gradient(rgba(0,0,0,.7) 300px, rgba(0,0,0,0)), linear-gradient(rgba(0,0,0,0) 75%, rgba(0,0,0,.7)), url("" . $image . "");"; echo " }"; } } echo ".page h2 { text-align: center }"; echo "h1, h2, h3, h4, h5, h6 { color: " . $color . "; }"; echo "#conclusion {"; echo " background-color: " . $background . ";"; echo " background-image: linear-gradient(rgba(0,0,0,.7) 300px, rgba(0,0,0,0)), linear-gradient(rgba(0,0,0,0) 75%, rgba(0,0,0,.7)), url(" . $image . ");"; echo " background-size: cover; background-position: center; color: #fff;"; echo "}"; echo "#conclusion #arrow { position: fixed; width: 150px; height: 300px; transform: rotate(200deg) scaleX(-1); top: -25px; right: -25px; right: -15px; }"; echo "#conclusion h1, #conclusion p { text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-size: 1.8rem; text-align: center; }"; echo "#conclusion h1 { font-size: 2.5rem; color: #fff; }"; echo ".wsg-info { margin-top: 1rem; text-align: center; font-weight: bold; padding: .5rem 1rem; text-shadow: none; }"; echo ".wsg-info a {"; echo " color: " . $color . ";"; echo " text-decoration: underline;"; echo "}"; echo "amp-img { max-width: 100%; }"; echo "span.title { text-align: center; font-size: 1rem; font-weight: bold; color: " . $color . "; margin: 1rem 0; display: block; }"; if ($this->wsg_demo) { $demoText = wsg_str_translate("Demo version", WSG_PLUGIN_TEXT_DOMAIN); echo "amp-story-page { box-sizing: border-box; border: 10px solid red; }"; echo "amp-story-page:not(#conclusion)::before { opacity: 0.3; position: fixed; top: 20px; text-shadow: 2px 2px #fff; font-size: 3rem; content: "" . $demoText . " " . $demoText . ""; z-index: 999999999; text-align: center; color: red }"; } echo "</style>"; echo "<script async src="https://cdn.ampproject.org/v0.js"></script>"; echo "<script async custom-element="amp-story" src="https://cdn.ampproject.org/v0/amp-story-1.0.js"></script>"; if ($useAdSense) { echo "<script async custom-element="amp-story-auto-ads" src="https://cdn.ampproject.org/v0/amp-story-auto-ads-0.1.js"></script>"; } if ($gaCode) { echo "<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>"; } echo "<script type="application/ld+json">" . $this->create_jsonld_from_post($post) . "</script>"; echo "</head>"; echo "<body>"; if (!$image) { $image = $logo; } echo "<amp-story standalone title="" . $title . "" publisher="" . $siteName . "" publisher-logo-src="" . $logo . "" poster-portrait-src="" . $image . "">"; if ($useAdSense) { echo "<amp-story-auto-ads>"; echo "<script type="application/json">"; echo "{"; echo " "ad-attributes": {"; echo " "type": "adsense","; echo " "data-ad-client": "" . $adSenseClient . "","; echo " "data-ad-slot": "" . $adSenseSlot . """; echo " }"; echo "}"; echo "</script>"; echo "</amp-story-auto-ads>"; } if ($gaCode) { echo "<amp-analytics type="googleanalytics" config="https://amp.analytics-debugger.com/ga4.json" data-credentials="include">"; echo "<script type="application/json">{"vars":{"GA4_MEASUREMENT_ID":"" . $gaCode . "","GA4_ENDPOINT_HOSTNAME":"www.google-analytics.com","DEFAULT_PAGEVIEW_ENABLED": true,"GOOGLE_CONSENT_ENABLED":false,"WEBVITALS_TRACKING":false,"PERFORMANCE_TIMING_TRACKING":false}}</script>"; echo "</amp-analytics>"; } echo "<amp-story-page id="cover" class="bg-image bg-image-cover page"" . ($autoAdvanceEnabled ? " auto-advance-after="" . $autoAdvanceInterval . "s"" : '') . ">"; echo "<amp-story-grid-layer template="vertical""; if ($image) { echo " class="blur""; } echo ">"; if ($image) { echo "<amp-img src="" . $image . "" width="100" height="100" layout="responsive" object-fit="cover" style="border-radius: 1rem"></amp-img>"; } echo "<h1>" . $title . "</h1>"; echo "</amp-story-grid-layer>"; echo "</amp-story-page>"; foreach ($slides as $slide) { $slideIndex = array_search($slide, $slides); echo "<amp-story-page id="slide-" . array_search($slide, $slides) . "" class="page content-page bg-image bg-image-slide-" . $slideIndex . """ . ($autoAdvanceEnabled ? " auto-advance-after="" . $autoAdvanceInterval . "s"" : '') . ">"; echo "<amp-story-grid-layer template="vertical" class="blur">"; $slide = str_replace("\xa", '', $slide); echo $slide; echo "</amp-story-grid-layer>"; if (!(isset($ctaLastSlide) && $ctaLastSlide == "on")) { if (isset($ctaButtonText) && trim($ctaButtonText) != '') { $cta_text = $ctaButtonText; } echo "<amp-story-page-outlink layout="nodisplay" theme="custom" cta-accent-element="background" cta-accent-color="" . $color . "">"; if ($this->wsg_demo) { echo "<a href="" . $wsgenUrl . "">"; echo $cta_text; echo "</a>"; } else { echo "<a href="" . $ctaUrl . "?utm_source=web-stories-generator">"; echo $cta_text; echo "</a>"; } echo "</amp-story-page-outlink>"; } echo "</amp-story-page>"; } echo "<amp-story-page id="conclusion" class="page">"; echo "<amp-story-grid-layer template="thirds">"; echo "<div grid-area="upper-third">"; echo "<h1 animate-in="fly-in-right" animate-in-delay="0" animate-in-duration="0.8s">" . wsg_str_translate("Did you like this story?") . "</h1>"; echo "<p animate-in="fly-in-top" animate-in-delay="0.3s" animate-in-duration="0.8s" style="border-radius: 10px; margin-top: 1rem; text-align: center; font-size: 1rem; font-weight: bold; padding: .5rem 1rem; text-shadow: none; background: " . $color . "; color: " . $background . ";">" . wsg_str_translate("Please share by clicking this button!") . "</p>"; if (isset($support) && $support == true) { $affiliateUrl = wsg_get_data("affiliate_url"); if (isset($affiliateUrl) && trim($affiliateUrl) != '') { $wsgUrl = $affiliateUrl; } else { $wsgUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; } $wsgLogoDataUrl = "data:image/png;base64,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"; echo "<p class="wsg-info" animate-in="fly-in-left" animate-in-delay="1s" animate-in-duration="0.8s" style="font-size: 1rem;">" . wsg_str_translate("This page was generated by the plugin") . "</p>"; echo "<a href="" . $wsgUrl . ""><amp-img alt="" . WSG_PLUGIN_NAME . "" animate-in="fly-in-bottom" animate-in-delay="1.3s" animate-in-duration="0.8s" src="" . $wsgLogoDataUrl . "" width="150" height="30" layout="responsive" object-fit="contain" style="background: transparent;"></amp-img></a>"; } echo "<div id="arrow">"; echo "<amp-img animate-in="fade-in" animate-in-delay="0.8s" animate-in-duration="0.8s" src="data:image/png;base64,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" width="150" height="300" layout="responsive" object-fit="contain" style="background: transparent; border-radius: 1rem;"></amp-img>"; echo "</div>"; echo "</div>"; echo "<p grid-area="lower-third" animate-in="fly-in-bottom" animate-in-delay="0.8s" animate-in-duration="0.8s"><span style="font-weight: 400; position: fixed; bottom: 2.5rem; width: 100%; left: 0; font-size: 1.2rem; display: inline-block; vertical-align: bottom;">" . wsg_str_translate("Visit our site and see all other available articles!") . "</span></p>"; echo "</amp-story-grid-layer>"; echo "<amp-story-page-outlink layout="nodisplay" theme="custom" cta-accent-element="background" cta-accent-color="#fff">"; if ($this->wsg_demo) { echo "<a href="" . $wsgenUrl . "">"; } else { $ctaButtonUrl = $siteUrl . "?utm_source=web-stories-generator"; if (isset($ctaLastSlide) && $ctaLastSlide == "on") { $ctaButtonUrl = $ctaUrl; } echo "<a href="" . $ctaButtonUrl . "">"; } if (isset($ctaButtonText) && trim($ctaButtonText) != '') { if (isset($ctaLastSlide) && $ctaLastSlide == "on") { echo $ctaButtonText; } else { echo $siteName; } } else { echo $siteName; } echo "</a>"; echo "</amp-story-page-outlink>"; echo "</amp-story-page>"; echo "</amp-story>"; echo "</body>"; echo "</html>"; echo PHP_EOL; echo "<!--" . PHP_EOL; echo "\xf0\237\x94\xb4\360\237\x94\xb4\xf0\x9f\224\264\360\x9f\224\xb4\360\x9f\224\xb4\xf0\237\x94\264\360\237\224\xb4\360\237\x94\264\xf0\237\224\xb4\xf0\237\x94\xb4\xf0\x9f\x94\xb4\360\x9f\224\xb4\xf0\x9f\x94\264\xf0\x9f\224\264\360\x9f\224\264" . PHP_EOL; echo "\xf0\237\x94\264" . PHP_EOL; echo "\xf0\237\x94\xb4 " . wsg_str_translate("This Web Story was generated by the plugin", WSG_PLUGIN_TEXT_DOMAIN) . " " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . PHP_EOL; echo "\xf0\237\x94\xb4 " . wsg_str_translate("Created by", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_AUTHOR_NAME . PHP_EOL; echo "\360\x9f\224\264" . PHP_EOL; echo "\xf0\237\x94\264 " . wsg_str_translate("Visit", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_URL . PHP_EOL; echo "\360\237\224\264" . PHP_EOL; echo "\360\237\224\xb4\xf0\x9f\x94\xb4\xf0\237\224\264\360\237\x94\264\xf0\237\x94\xb4\360\x9f\224\264\360\x9f\224\264\360\237\x94\xb4\xf0\237\224\264\360\x9f\x94\xb4\360\x9f\224\xb4\xf0\237\x94\xb4\360\x9f\224\xb4\xf0\237\224\264\360\x9f\224\xb4" . PHP_EOL; echo " -->" . PHP_EOL; } } goto PpJm3; RsoiJ: define("WSG_PLUGIN_NAME", "Web Stories Generator"); goto xQqys; TAPxJ: function wsg_get_posts_count() { return (new WP_Query(wsg_create_posts_array()))->post_count; } goto A3ziU; XOQJi: add_action("init", function () { if (!wsg_is_activated()) { return; } $urlPath = wsg_get_url_path(); $sitemapName = WSG_SITEMAP_INDEX; $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if ($urlPath == $urlPrefix . $sitemapName) { header("HTTP/1.1 200 OK"); header("Content-Type: application/xml; charset=UTF-8"); echo "<?xml version="1.0" encoding="UTF-8"?>"; echo "<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">"; $postsCount = wsg_get_posts_count(); $postsPerPage = WSG_POSTS_PER_SITEMAP; $pageCount = ceil($postsCount / $postsPerPage); $siteUrl = get_site_url(); for ($i = 0; $i < $pageCount; $i++) { $page = $i + 1; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $page)); $lastModified = 0; while ($query->have_posts()) { $query->the_post(); $modified = strtotime(get_post_field("post_modified", get_the_ID())); if ($modified > $lastModified) { $lastModified = $modified; } } $sitemapUrl = $siteUrl . "/wsg-sitemap-posts-" . $page . ".xml"; echo "<sitemap>"; echo "<loc>" . $sitemapUrl . "</loc>"; echo "<lastmod>" . date("c", $lastModified) . "</lastmod>"; echo "</sitemap>"; } echo "</sitemapindex>"; die; } }, 0); goto uSNtQ; tQJyt: function wsg_create_webstory($post) { $wsg = new WebstoriesGeneratorStandalone(get_option("wsg_demo")); $html = $wsg->generate($post->ID); return $html; } goto AcB42; GA2uo: add_action("init", "wsg_options_sbrubles"); goto XOQJi; ZDmgw: function wsg_options_sbrubles() { add_option("wsg_demo", 4 == 5); update_option("wsg_demo", 7 == 8); } goto GA2uo; R9Rfi: add_action("init", function () { if (!wsg_is_activated()) { return; } $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = $parsedUrl["path"]; $subDir = wsg_get_data("basedir"); $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if ($urlPath == $urlPrefix . $subDir . "/" || $urlPath == $urlPrefix . $subDir) { if (substr($urlPath, -1) != "/") { $urlPath = $parsedUrl["query"] ? $urlPath . "/?" . $parsedUrl["query"] : $urlPath . "/"; header("Location: " . $urlPath); die; } header("HTTP/1.1 200 OK"); header("Content-Type: text/html"); $paged = isset($_GET["page"]) ? $_GET["page"] : 1; $paged = is_numeric($paged) ? $paged : 1; $paged = intval($paged); $paged = $paged < 1 ? 1 : $paged; $postsPerPage = get_option("posts_per_page"); $totalPosts = wsg_get_posts_count(); $totalPages = ceil($totalPosts / $postsPerPage); $paged = $paged > $totalPages ? $totalPages : $paged; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $paged)); $lang = get_bloginfo("language"); $siteName = get_bloginfo("name"); $siteUrl = get_bloginfo("url"); $logo = get_site_icon_url(); if (!$logo) { $xxx = wp_get_attachment_image_src(get_theme_mod("custom_logo"), "full"); if ($xxx) { $logo = $xxx[0]; } } if (!$logo) { $dataMainLogo = wsg_get_data("main_logo"); if ($dataMainLogo) { $mainLogo = wp_get_attachment_image_src($dataMainLogo, "full"); if ($mainLogo) { $mainLogo = $mainLogo[0]; $logo = $mainLogo; } } } $wsgUrl = WSG_PLUGIN_URL; $wsgLogoDataUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAABGCAYAAADRnUgvAAAAAXNSR0IArs4c6QAAMXJJREFUeNrsnAmYFEWahrO6W0TAk1VELg9UFFEEd1BBOUVxERxnPXBwh/HY1Rl0BEZQQA5hxgMFD5BLZvAZHIRlWcULAekqmwYdBQVpoIEGuuvoq6rvozKzMr/9IypCgrCo7rZR252uh++JzsyIqMjMePM/IgsDgPETyqMrWX0DSDFWIxVye7PV29hsTzPSzY88Xmufx2sHqcw1fNaXRrq13PBa9xmb0BayfjrSWNmsZjU1/ZjApZDShFKTQZeorgqR4Yvd6vFZXsNrum28JtqTungtXOCL63zSubTdgmSkR4tS0q15xqaqdrwtgWwAnqZyA5rVrB8aRI+EKUmdtIICtC4uxqlFRWiTBbRI1ufpGTjT8NrvkrXDGQRfRxJZxZixyXKMjaZrbPhWjrHJjJ3sNR0GZRoBSdBWk6W8X/bVDGOzmpJ+iE5TdPgOH0bLYLHVKxipfSAQib4cLDHfI20PRMwc2g4FI1ZhMBLNp+0jwYi5i7Y30vZSOjbuYLh2EIBWAzLNK8gFDRFQ6OQ1bQEghmwxMXOHibf3W8gMxeANxrAqJ4anvrJB9cHAPMtrWWd7Lb5N1nF+M4zNamo6kZ2lMsntnBKcTrDdEyypfYugyiPIECyJgkoSlSVctI9t85Kk7Cf5qW5haRQ7860CArDKk26hs9e0GIAjt5r48JCJg0VRlFVZAFzon8JqF28eICA/YZbTdDr5LJvD6LUWy5izqdyIZv1z64RbwECp1ZNAWkQq/ha8OGQulTZByRQj8BwC0KHSpVLKEYpROztUErWPhE1n9GfcBcWFPpNbwRd3mcilfosI0nCFCcd1Qf8Qc104Qi5JfnLKHQzJtDiQnX2WxS2l1xrXnMBpVlNRoxqrAIaKrWsIvneD0rpFuGwBn8P3h2uFomDbAdUalgqJfXlUp7gsigW7CZqNltvDZ7oMwiVZJorLTd4+RPXlJxZzJHys5HJIMSe+rzTq4ratHEb3XO6mMpndmi1js37OIHqkG5pfibNDEXP5UesXdQkSBqAr4ePQldvwVzkkF/5KBwGCSEDLlRuqQV5BLQIM0jIL4WobOwu4S8kzoQzCGV+ZKCrj38NBtWIucv0FqKiqhQTQEeBBsYoSxkCVy+BjslsSjB6vvVZmUpvKDWnWP6e+XyworWBp7X0EUXkgDqFLMNoBYek4fASUv9rlZcHhEkS25qDy75+heokPwVAV8pjVLDexZ2cZ3nl4P96fnIP1sw9h04I8bP+fEJ7NqOaWqw3Bc9mnJvYVmSgoJWgJwpIqG3bMweBhkzF06CT8Y/teyI/jKNZRg/GD3BhL4JCbK6zip+blzVaxWT83ENNkSZbuLe5WkkKRqCXgk+IWL99fjrIPdyE6fR2cwYsBYy5w+jwq56B0bz6Ka1xUmDFkby/FqhF78c4j+7H2gWysHb0Pb43KxqXv1+DsDAu0NIFle0yEy+MJHD+BaNouTMvGqNHPwDBGkoZi+syVyA2UHAUy9l0gq6ndjVssZmntU7mLak//fxwrxuP35odMQz09T5MF8UvgJFYGIjUd/SXRLOZOChdUxn/c8tE2/zuvmiBbsQ0wZsL91/lwBy+C038hnF7z4RjPADsPQ34K9ldiRd8srL57H1bevhdrBmdhwbRcGBk22sZdSewIxTOofgZ+icnbRQnEu0bNxJnGaFzb4yEYxnjSC1i+YgvKKmtVCxkvBYx/ybaZVYx1YVbRa/kaZhF5vdTjKE25ian1qacpWRtPQybTjw67Ljnun88SUYq+3eRAlBBSRvQqArA0kMAKsvgvP1DBEzF+psoYyveE4J4yD05rkvES3NvegDt7HdyVmXBLKuGKWC5mOQjnVnMgj3xVhgMfF2LJ2ggMn81jxDu28iwpA5D3XVxuAQBqTRt3E4gpxihcdu4YXHfxDNzQZS4M42kM7Dsfm7xZsB1AxowSxC8KHQaiy2JPD1ub/Bit67mu6GnoTW1Uf7oaPr6LSVNc130HQCtZ58S+sFF33Z8BjPJ+tSMNJ50u9zcZECWElBXtHQibUQIREkJpBf3lNso2ZMG9egHKyRUN24BtxeLzf5kX7oKNcLPy4FbUQHyUhAoSfj7wc1j4ssUfvzSRX8rjUA5iSeWxIHoYiO3HoOdZ09Dn3LkY0H0urjae50COfXQlsvYF4SoW8XC5w7On7bwWUr1WreGr6aRZxWSTaRDpPtIQ0o2k/qQBpFtJvyXxmFPc0HtE/f5CA0kjSfeTumk3+yTSvwsNFH3fQBpBGq1MDk8dk+kSAm8T6QjJJoFUAaC1bH+CrUc70kOO4ywlrWIlgMdIN4vxt2viMMpz6UbXKUIC6eCPPe56xYShsNmNwKsR1s+WEPorYgiFqlA7Zz1gvAj3mvlwhy0BIhWCM40ysc8VyRQRvYl9ccViLt/3do7NYkMO4pQdLElzNFtaWmUnBrEtgXjOXFzTdg6uv+glDO/7KgxjMmka8ovKxQh41pb65W/cIM3LFvmjXfnFmJEURHnsSRrvHhI0VZE+BzCMZNCEnEPbgQT1ckkZAIZqya+W1GYZHdut1c8nvQfgvCQTQ93flnQPtXlf/U7Wv1avsRM3lcY7T/RfTlpN269TuV4dP4NSnUt6X00A0JPE/fqTGHNEjPsROe6fFEQ5QfzlOItcwpBY7xMQRvlkLjwQhj1mBUBupzPyDTjdXoVjzIObUwAXkMBxqX+Dl4klrda6IzFIizihIRaxfdwiXmk8xwEcN2E1sg/mQ40RDykWMYVZxPSajtIiNsDF+qUYc1TcuLv0ySpu8JvK+YUkEHVAMZ3VZ2A2wjU9ifoIk0DyAzilsSCq8S/1ma6OUdNFdOywuC5/PM6ETmkirmuqKIdpD5Arf0z3tM4bSgBmBHh8FrVElpS7okV7C+EMXAT3ytfgjFhKAM6BO3EN3PySo5YPUE9MsXyOBFM3l3CERcwMChDTLdzOYsRwPWLES2aib4d4jHjLkIXwbtkHuayoQv4PNUb02kHjPbSSMWJDXuWTk1FMyGfE8RZaealygy0AXZM8aU8W8K4Q16aNhKqByZoU1hf1cYAEUt4JAjFNjG+26DdLsyxp8hxIg8U5TFfa6pP/It3l/okkv3sEndt8AP2aSozILxpZwGeDJVpihsWFBGLhviLEbiAQLyMryNzSv2VwyADIUgPQAUdT/1BdKb4pdh+uRfyVNG8cxu3BhFlTDmJbYzT6XMGypuNwGo3lrVXbUFFtSrqhZ03fEFnTzvGsabriljZ0GWeMAtmeRK6XAHar8kAar/WhT4azBNhL5ASv6ydix+mnBfWTkwDE1ITtk0vv95AY44pEY1QeVAeozhvyfLW67ei4KWJhox5jSfmeY/foSziyn6RWuW4IUxo4Fk+C8acIGcc11aESu18wwuFzJIRUkiwEimsQqHZh+iNw710Od/3XkB8OnBYPqh8rFEZVxi6ULP8YxbTuVzh2KUK/X4T83y1CePIKVC/+GEj/BtHDxWQJ+Wto/K2apVnHWUf8NVtHvI10C/707GoE8suSLuxXWS6uF+uIbeLriFPVdcQGTsqzRXwk+79We+LLPscrwH6q32it7gOir15aX8ludqo2NumaHlRAbJWsfQNiwwupv1rR73ua9dct5yyqs05+hwos7c+spwuYUsf40pJAkpqgricZ4ElDgbrvQ9r3vb7HdUnJEu4mEBl8MQEhwViLYHE1/BUuolE7PsFFdlR1R6VVlFtOrYlK304UTvgr/MZk5BmPkR5HrjGeNBFFxnRUn/o87DPm8mWOGAkU4721LBtGposOm6PshW/sLfzumzU3D5+CESOnYMfO/XW9WaPGntRfo983lU/91Yp7+qJ2Q1KUmCkm6tlsWzmuW88vFOvqSXAj+5DGkv4gEj6tZfskIAaU451Jv2LAk25VLWU9QezKXGzRb0x5YJyUoI/TSJ209v/CklWivQugez0h60i6kzRRnH8/5QHgEZJ/62N4iDRA2def9Igcu6YepAmktrK/RECJtr8jPU4almTJI0VpO5g0TnhFI0lXibmQmvDE2e8AtWUKgg+oen8VrOfGoCYYjE/ymCMnuwqhagW59Qvd9hIB9yjyCLpA1xkIXPUM8rrPQFHPPyPa7zVg0GIud9AiuEMWI8Yyr9e8ioL/WM1hOd/LrKKJqTtMFJZFERTZUzPmIhAqRlVNVHvXVACoQZhX6TDw0CLdtNvzjKn5341411ROkjsUa3dAuVkeDbANsh6HKDGwXfWMndJfbwaoANpH2imzfAB+I/vRQVTG1ZHKd0mQUiAdVheMSr8tqU1IaV8KYLjuCopSn4yTZTsF5iKRXc4jVctzV2LN82n/GlG3mPQJ6RuZUQbwXwlA6eE4znNs/ZRUIK7pJHFNdmlJmb6k26n+X2h7u7L/Yjl27V51p+M7SOyTobSpYGDKNlp5pxh7Dckn2rmKt3LGdy50JILTyBoWi58vuRLC8DdZxHIruJN6A5Muh1sYkNAlhDAWqUDR1BUE4Fj4jSkIXP0MAt1mwt95Gvwdp6Hiaoorb1gI3LgITr/Xj4r2uVTGGJxdXsSqhVkwthKXm6PcRX19t8l/lRHiv1ms/68vwrUubor/FMrt7GWlVaEuWzQiwG8jbzaT8uRN1WKip5UJ4E10k1nCR/Rxhtb2Jpl1lRZG6EHle8fosZgSI5aLMfoA/J70W2nJlfYj65GuT9POpVbp4yMAg5K9LiYge0xYfZAc+swVFmKiSOz8Qqnfj8FJgqhnKLpV8USWyvEp1+tzeVzG3OJBdpDkKOf9BGmCXLYQqhSeg/6m0vXyekpQhe5W+ntUe5DcJY7tl1ZT6ByRWY4wq51ozfApgpBbw29d0nANrFf+APfJa+BMHQTnhd/ArSqHOulVCKMHgwj2nI08YzwCvWfFrWCn6RzAQJfpqP3FKyqADEgu/nc/KtnfNxKk1y+A1X8RHloXgbHFQU8B47NfmzgcjgMZLld+j+gk/j1idqmDvls4hLjEZ8WMzSzmjPoaYQ31WOgN5YYvUI8pMdHXcvIJ9/QC3ZVhoFH7tzUIz2VPWxKEW2oId7SFaLNNWgvlRusg2hI0TROVyRdJlsHU99M4/6q0jSp/f8EmZrL4iC38K1nkc8R+Xe2V+Hu9ds1P0i0sg0mLV2WMCpIt6twrjt1P29mktaoLKpNQpBoGojb+0xXrOkTeBwkc7d9IgrDq7ZV7ulO0eVxvQ/o3caz9MRf4AFUga0jvTXMAHf7OaBVQlrGZODfgzLoDzmMG3JwsSPB0S1i7Nxd+YxJpMndBOXyd4xAGu8yAee1rOoTibwYj11GrOGAR0PMVhEetxPUfV8HIcNBbwHhzpol1B03sL4qi9Di/0A9WuSxDKn+hjyt8VG6w2G8cXebiHo5YSnKlUWtQQ5SJmMcutAbjcOGKZSkTZ6z25Owr9vfTljJeEm182nfrkw0Afinh1lzTbHW/kIxxtyTJ6CaFUVjWIyQImcrf2xSrkapCorxsUAvgEuVYmqwjLJgc1x3awylFlB2kxSSVMai0azpKeUAuV/vQJGHKUGDqrIE9TRzbLrZ1TdC8E2n1isT+DQmWwFoJa37escsVEfNuBiGVNreGpRZC+WWw5zwId/otcMZ3gbtmvrCEDnRLaOYVcgD9p05FoDu5oR0EhJ2mcUX7cEuoASj+5hAmgHHgYuDyeSgavQp3flAGIxPokW4yuHjc2C/DwtTtJv6WbcEXiGGjP4YVB2KYsJ1nRnlipmM6weu1IH9YTG/p0PnxpRAltd6o9ac0xfoAwM3axNtGF/zvWjy5WdZRFv7z9H4VmHYIt3IyaSoDULiIO5TvfUreaA3EHPXNGm1C/qcypo31TN17tFfzHtRir1oFtKvkmJR4eb0y4bskiG9bs/hPwg3gwiTJrW3K+f9aA/EeBcQZalJJnoP6vSyjrYKofc9OZZlqbIL7kKl81wui7Sm07SdBKF1m1nWphBoE4QcEIaiMxWNDF+Hde4BHDDjjusB5/DS4RUGo8EkYnZooQrfPRZ7xJAJXzOQW0E8QBkh55z2Nyl4v6RAK+DTJ4zqMPV5GzS3L8Pqbh7hlNLa4uIDgOuOTKAOSZHHojI1CBGFXn4XzM2wOb3eypB8diqKozOS/nQwQiCwWzilp9IJymma5wAJ/5fil4hpdR2qtTNKo4p6eIibcJO0pfInMtgqoPhQWLFOUn7NS7P9McQk9OogKeB5tUvdSJsp+LdlU13KC/gAbQX18pbmruxNkmjeJY1UAOsp+lTH1VMZUCOBUZUz6dV+RIGvdMgGIs5MtdyQBkamjYnmPiOudod2HTLH/cwAPKG2f0BNk4l7dq57Lt4PIK64+jyZmtfhPnlz56/kAlSXZ++GufgXuxlXHxoUkCWTJkg+RazyGQK9ZZAkVCDs8jfBlf5YQxiXjwQEE2tDFcG8iDeVZ02NjRt1N7TMfuHgussevx+y3A/E1xq2A8anDYOTwSUspgeywvgrXvrIL941YhiO5JQiV2xAQxlhJMfEdjbSKclL2Ud8PlQkX8f7oISVmeC9BYH+v2D5HG0tfZSI91xArnQxErWwvY1AxzhZJQNQsUuIsKY31WdVVBTBUtcLMMmgg6oAP1lz9lklAXJAgaXPyCQbxStrniH4WNuA+yPE+rsXRUrvFcomhvkUzSizgx1iCRq4b+otrUWqKOFBKT84cCMQTMz1mItCJu6NcfvG3dd1r0goeLftTeflr7NU40ovx8syXab84znUMjDyBw4HsNg/o/jIK7l8D36xtWPpuCNN2O3jiSwsTd9h4/hsb/3vEwVchCw//ahmG09guNsbiww92objahT9cy87PDvDzNZc1BkRVqnvGAnGxDwAeVurdp7kqcgJ8lGDJ4jql7hrFWqYqSlEmsaeBIMo4plQmWuoBYU9S/yQvJXj09VXmUmuuuq8OEPtrD7U2SUBcqMA27weyiD2U5YYN9bkPiZJPIivuJ0HprwRAJzU+XCaSNDaVDEjumuZVAqYLAEdJ1rOlxbNWEogTeFwo40HpkpZc8Tx0l9QdSNsXkYWdsvb/2rsSMCmKLF19iKLjeI2O184gyuGNIiiIIoowi/eq6+qijtd6fYooIAgieAMirQMKqIsKyiHIIQyI4oWcjSBHg7RAQ3f13fTdXWfm2xeRL7Ye78vO6qKatdev+b6frK6KysisjD/ei3cF2Nv2gb15D9g78sCe9j1YJ2UoyUhqKoGREY+ajFbPydrXCD48/21TAciXqK6TH2dNXg5n+YZBD3ShjBsxD4qqoloiIiyHiMFs6QxPwqc4kj34f9DayTYDgzm0K5mBoStZD/vJtRTiTGYAyaF+PIhC34tPRJk2FaJrnuI2WMV7A9WE42HkMv3cwMbIQ0IirnQjovCnRhgpTmPXLtXcz1g/DzY1EaXlmlTlP8R7Duwaj+C/E/39iHr2XKXWHxIRt1BQt+UYaiJoLf0WI2KWg1VaBCDFqmUzA82z6CMcZSQhl4hoJX3bEJAknVZHnSDxz9cD/2dnF2jpiKqq/o6EJQmJZIxe9x5E1bm+zwKe8RGhYINfNu9DIg6B648ZDf07j4ddudVQUBkGKt8IuqxjabB9kkG+qczZC4R8RK1lWW+xASAHTwiRjdjhIWW3S2OEebgMh8lr8TLWiAF5Mzt/Dw+CpTELMIiIGbd2fV3Omy6IWMPOk8IgtYteDYXyMUt0kJHnsKYgoiD8enY9j8V7DmwizTTRS+Lzi9kkO0+/WVJSezKtDxURbUXCgsIKsJ6/Bu1DPrAG+MDO3xNTR9nasPKz7/XaULsqSBKatWFx+5cZCRkRkWiacLPXUJhcxDlu3edk8vc+UCJa6ihBpNTrylNRio6cr4konNRQXVkH/9FhDPQ7YjR0Q4vu+g25UFxj6XhVUsNVWcZbknNjuAd4ywgNNghu59ZFssDxQcJfD6W2FknQ8xro/1wWtymJuFPGYDL3yHs0UGd6/Ab8/Suo/WSRdZFGMIQfYay9/DcSLpOIdBMw/Bcj0dts4KeyNeAlRsVTuZDmOtm57pDZMXSOFCnFXVTmNuK6HqPPoogACzyQaI/owgLbQWkHgritzVgx166/nFdWfyk57229LqyyoSQb1cVhXcAafRNYI3qCvb9YqqQ6Y6LosamQqyRi+1HA14X7UC2t6jSOq6Ux9CEizlnrnDMSdY7bchUR3SWisLJKWF2xj1IeZBCLdX114Ay43DcCcxQHw+KFm8w6UedX5jvZHIIISamnAxgRF4hBnMKcwyXMedzGI0cvTbgGaml270UP/Ab8+xOK++wnrKY7EcCzHAxExM4Opm6lxjNKSVWQQ1piFVlc0se+kKZ+QmujhlK7RUxCdeB9COvrzzTI5URyP+tnXLyAbhauFhERTCk8UJ0QJCvtNfQc+pFhzmLW6z/S+ltm5hjXVJlJFqCcw9DtjoWU3BY1AOUbMgEGHg7Wc1eAnfEokiUMkoiR0krwn0zka0MqKZOIOoLmCl00yln39XoXMVln8WvCfSaImKWI+CZ+PkW1Q8S+R2R2kYxMwm7cw8LuYulPMyd/BWejenoJThjT3l0BpbWaiOp+I1QE671kiciDqtlvdC0bHNLI8LEkq8c5T2KqkRvKlIVV3EMrWocUs8E4i+JS/01JNGYw+mMjNII0JoVA+B7voWiTW5XrhlUF6MK/K62iDH7EKgodG8LvnyVW25Rk3AtxF6tk8E81sYl774bfG0MkAANaJjyNOFZIw4e4cYmwnvo7kbU9hklNN9SwZ55COaFlzCL9n+RHvMlEWplYWZKIwSdRGmoJYYhY9d1XSMRUsIZcBPZHL3MS8igaZS3VfkMkH1lMiZgYyhbpNhHsnkjEThPBOjwDrNPeAusUNNKci3/7XgH709WciKSavqasqbqdbn8Mfu+st5k19V1hyGFrzi82uBJxBb5/um8Q9ECjzfgX5kNxlWUMNlHnGFrMB0oSSDFlFxTiDOie5NS/uDGSiOU/fk5O7LWIOQDQX7ZlpTfGKOMQBUGPpRjPbMR2GsA38u820i1yNPU5RBl3SIr4yRq4ixFTZo7IyaU7Df71iE0Ubna9bEfoQSr0NkKWCpNjbhFp5LpJTXSI0URsda2jEBMR74qwulbqt6H3RyCGIoYpaaf6JAktJ+m7aJ2/mnyI86gOUZqLBnQXWUvnIjYTMunc55t7NYaaF0w9GkPEmmULAAa1BWvwhWDPn+JKxNoft0IurQ8NAU04W0Hb0Y4k7Igkemo22HtLwN5X6iAXkVOM6m7NgQnEdUH9PrVzvlNQDvb734KVOkGVZCTyCfRWRByv25kULE7EzJXbNRF7oXo68okZuCYMgyEiBTCs9CJDU1VaSy4JNb4/M6m9K5O/t5QErim1Ca8tlXAoK+ilHMLnkBaTiOXBMf7yA4lY9/k0FJo+sO73IREnxyQNI2L11z+p9CZXIhad9SJYyuiiVM1Jy8Hln8zib7jNml+QaGPB7jvFXTVFgmqVNmMZmHNxIm7N3A1nomp6je95ePa+/wZ/mZb+5MLQIX0bmrRcAyWaJp45Hr+98BeKGqkC1FYUGk7h50pm30u36/e6JtmOEPd6ZEZ93PZ0vx4Q1xa/LUeCzyFN/lay8DMn4rh8IqKJMS3enQvlW7eBlfMLQFkhs0gyIq5wJ2KuJuJLKKmIIG9/aVRQlcMYg2VJMvLPY9bUH7Ic1bOPNOIIIk5Y6krEbRv2wFmGiPe6ELE8tPFgifg7qevZco/NoeS+vzzwCllNIwjHmV8ZBX+NDVEhuTgRa77Z2KBELDwTJaJSJVVVtzeXJicRv9vmSMQ+rhIxRviJX7kS8ee1v0Ib32BNxKEPTcP7U0RkqmlFYF1T1vwUs6nr7NhMSgm2oJlA/4fm+6HkQ0QimkGKqLAgAtBg3mHdhp2Q6xsA/gteBGmsyW8zCqI9JoHdDd0OaCVVJLGnfgv2lG/Afg+PE5aBvTabZ/o7a8eML/Fzamfa3j9dl+q3ezLyuVlNP13laqxZ9fVmOBXXiD19w+GVwbOhsDLC14jquMKQKDmJ8LvcP6MF/wcgY034AVLVIrFk4DoozdkJkT2rAPI3uqqmob1FkKfKX3TgPkQeVYMxpsqP2G2SkliI8Q5OzMDjaLBn/Hig1XTLXr0vhnXcBGpL6DRRWE0FyGqKktOViItnr9ISsZtvKEwaswRKaiww7gtK+5rdFHmJhFMotG0++fH8iHzKxl5HYWR3Is4k391hzWUwtCA5SAuuXKvHl4j7g32NH1E79CttTUL4zAf2bB9YC84FO1QLUjJatQEouHYs5KUMB39b4UdEh35t5zcdh/4V7yj1ETHFOV7/nqNKzl0n/Ih5YKWjKnvdVNPWOfZ08yPKNSJ+b1cht5rGyie+8QV0xaiai3HSmPXxKu3Q535EPLKiTwftyD9OmcdZGYbNFM1xFyW2Pkgm+KBxUivEChO37NEo0Uw33YmHVFG4qjX/zJuIWFLfUUdNiFsUivPzwVrYHX1zfcD6/DSwy/eyhGAW8D12ruNLPNfxJfKA7/3nvi4CvhVIlfSMrJksYkzZUYJ2mLLv/BDs+hDIySIcjMA9F78BF6Ez/zxUT79ZsYNF1jgSEfFwokQU7S9jiawlJjZSgpWqf1/GLbaotb8LA1EqqxI3jLYbeIZq8ZzC27gTsQCORBIWkOXUdgw29RBe/jjYCy4Aa7Yqj2F8dBbwY+2aLCfWtBOPNSVf4hmjIXr5pIaDvqVE3J7nGmtKr/l75pxE6vEqc4NJQ7ZbcMSCxbNWw4Bb34Gbfa9C1s5SKKqOALktLEVEVcM1Eakk2nZlUtDPHMBpIgYzXdT1nGMqurUQMSkSHoO4pZmooybQfB5dU29EVwqomI7HkxuaQPQJaJ34tR6cRj2tAqhb+wHAPB9Y844Be804Jm2Eetp7DOSlj/BUTzVpJHk+XslJrULUWKypVEE5IRkRe5NauvtAtVRKxiK8tx27yh23hWOMsikJusJfXe1Sw7JxUSa8tCCLDDm8EVL0VFmSPp5fkiEtgarS/L3EK2Un33+KizU51es7Hu1421ascFcRL7dB8LwX2U8i/lMuAcUE+ydVG4fiSLeqkDYqkTIQcTYld7tO+KyWaeh52gM/YohYnp0JMBeJuKgvkvEosGtM4PeBUrFq0WpVNlFn51OxKPInYgZGu5e4RIwRshse/zbVyZoYhXhxoa4abnVBCXolWxNK9BAkbI0kfPULQzxXd0goElWEg0KTne8QMEr3K0obJl4eg7A6AamazuqtzPUgoiCLd9SJB0nSG7emSb5/Qtz+pXPe6xo8ImnuFdXTJbzvxbsKuHfggPt7fU25EyqZ2Y9q5bxgqgnIe5USEYkY6UamfNuxnEagoKQCSXi5Y7T55imwa8uEVGT1avq94VRuaz9Kq6hYv9RbKhIZrZMzwDoJcTyi80RGQrc0KEFKIw1zimPSkJEwUFWHgQkFEAhaUKASgp2MCw1tMRWZFwlKw+NUdrXH9mNeSGUPrr9XXh/hShU3iZhID/qyOEQ6AvGvVAv0eHZdfSj2ciTiNlkIt5H9D4nXP0mrvpQxf6LRABADqNjSeTI/j675WooLHU0Fmtp5hJg9y8bhj9TmKERrQmoDE0FX6mMiZU/05xkfHknif6C40ZdZm7MRQ4loR1EmxjNExAUqtcxUPSAivmWyRCR4h2n+suAuir2k5OAoSsWfYH/2RghHjQ8xGpM2TCrWb/oVcmmtaCQi9ylGusfWivyosysI3DrKYcnj5e9QBsdYMviQy0Js1b1w8jK8w8dh7KPTYFNmDhRSdr4z0QRtx5kfvjABicgf6q2iZmbnRM7jER/J+ziHVQ9bgZjP1qNfGpIRjqAcwCVUNRtYseIHZc0UVhrwODbwEu3/BNH/cEpdyjF90PnvE/1WsTzEP1GmRB7VDS0RE/0QQdqL2L6T/F+QEBD7kLRieZQ/sUJccxHfIYAVMJZB2yfRPpfLmDGujO1/CQzr1ARjynWYCuoqe4RyJU8nIrqOEbn701hy5scibKps2FcJVDsUwJb7XDC/YsWMFbAPB76/i1JRSSpSSlRJx1eIWIKMXOq5QpDycq3SOu6PYfOAl/3nO1FVFuyHG30j4abzX8O7fBiWzF6N1lIwbouoY5gKsRotCaulY9lDqFQDyutcCWywwkvsm/vqJMo2+M3D5yUISVX28/QoyhAoJ7XoCTxm0KaqERqA00S/Mt3Jduk/j6UKpbL+3xD9F5HLphqxVhDsIkRHlia0ifXRnZ9HSRpeyIm0j6FEQJP4fB/iEUorekxkWDwgC3YxdGKFjNcIiXUaFVKuZNe+RaWTUWXwTfyeSGqOINxM12r6X0qTgwcR6YOi8tB5pLYB33gGK33rNWM4FATIWwt2uL7B8LTS1z/T60UkI0lE1/o1srapJJwkIrUlEp6QAXb/j8Cuqhcqacx3OHPcAh3o/bf00fBkrwmQV1AD+ZVhujeqy1MefNyQK1HrGM2oQMjxqn7G3o8LVl4xRxSrPYol7w7mhYoFgY40g5sTTeBuTha+kU0T9V/Kzp9l8h2V1KGt2l5zKQMyVNSbeUbkEcos/jMYEZd4PK8e7DyfmPsUezneI9rIMXEefR4V/bVWxhj8+xfhhnoO8SSp//eT6trPy4YgBph27i8haRhBgFFRy3Zvg8jyR8Ge7gN78wymDjJJRFn7ZWPmasmoY1A7jNLS0ZCx4nxNRi4ZxWsB+gzXjrGE4vtngF1eE1ONhUq6Z+MuuBB9hrd1eh06+AbCivmZJA31GtFGKJ9pWU4FHJugFJObynjXA00c6WIQ5jfQriPrewUvKizK+4d49Wum3h3NyBpgRX5bHUT/X3v0D0q6eZTe/4DaLTXfpaPMrn9XGoPIbQSCGK1YG7cCxD3ZeeTGOvmsXVdxLSewJOMArXvj+TXbIa6i+z9WSsK4RPSXBnqRc9/SRDSujPUfAszygbX4FrDmIBkLt8TWjACcjI6aOvNbHYea5xuG1lTa/4LIiHVOFbmYdBQSUhKwzxStklq+MWC/vhjs2iAjoYj2CYbhsXNeh26+F+AKDPJ+6e6pUFQaAD9JekQ4X/sOA6KYUMJEXJaIRCSJcqTcj49whCKHeQZMjdtLFdAeJ3/jIEUS2qseCH45CbC1UIjtUJwqym/8Qm2CbJs4r/6fSqD/jWxvi3ZCDZdW0rYiW/5wFyJmuFiFL/UoSZLKJRlhv1wPi3uez/obL4j4J2aY26ckobwn8RvEtbJKuA4yLEX/Je0GFYlZUKsgsvRusOd3BGtBV7AXXYmEKDHuDFcy1m/ZDQW3TtCqqtkLw3/+i5B7BmZnYL5ioGuGIqMoPozoqcPWHAJ2UwQc50jHFVtBGol4Rogh4/qlG6Cnbyj08D0DWZtyoajGAiMNNRnRd4iTy/HexPFWTUklAVab0ut8KbTfQxGpbTlkMPgVkU/rjZX04E8waxZ6P5PWIlsVeQjbEZn03kIxwwsiinL1BFZqIijIcCKtiWT/2xLofxPbP7Gj7L8hMggM4PVmOBG5ykmY18AGsf1Zmx2qT4/6qGMa0DIkEfNoQvUcO24l/b3gOsjyK8IXaamIAxcBRiqW7dnuOPgX9QZr3mlgLX8Q7EClmw8vJq1QQlUvXU/l+AcgBmpS5iEZ884ZBWWXjoHQ1ZMA+k4F6DPVsZ52nkhB4khA9d7MVTFVlJFdrk/NqzBi3cqd8P3SzRTgHTQuizC5aAayh5BsDdMwXUM86+ufEedSdbKoqPbcFXGqMYmzmp6LE7iupImYVP8EQcQIK/qUGse/2J52d/oGkU0D35KlEBsoQjy3ASIO4hZiSR7R9lmXtqkJEDEp8D/kZqUT8ml7Nk7Gqi3LAOYgGb/oq1VVu3iHQwArauJQiRVi/RYIQd1P2bB/4iIo/PcM8PuG6xjVvSgtVU5jkW8wVPlGQejY8WDdMU3nMNo/4rkr65gUZOcXqqlOqcI+aqMA+0rqdcnEklqLyus7Ox/T60184CYRytTLDGS6pkbHq5J0NPcynF8LuQwsMSDS2MxKR4YmImJS/SdOxDRWzn6pUfuIdBcjXqD3RPQR+/0TI+IW07cXEWVwxm9HRDr5BoDD0Nm9y8+270bozIy6zOmahHXZK4kRTDUlMnrso6+lZLhwPwSy9kLduu1Quy4LatZmQe3Pv6qCxbp2Df2TBOSZ/LGs/3e+Bts3GqKvLIaCwlpnPahKfiCIhDaRUBUX7pxsjRembmbz8vnivF5hWTPZIHuOGVNkVela9beHRCFiNA0Rk+4/PhElCftJgwzDw3GIeHUjiHhnAntojGXXMsOsEX8TIsqLyy0Ld6FaNnowO8ewDggvyd0NucrhXxOmBWGFko6MPFE3QmrE/SfXfba7q8Quwj6fnqMyObQUBSRjzfQ1kFdn6+3G6bpV9EyYNp4ZbCYZdWwC6+bfhVS8ilnvvNaX010k4mHS2EGfD+SFcRnS3EjPv09EPMOLiNJYk3T/8deIKczNUSQ3WWWD/Gmx3Zzcp/8aDyLyLQuibFI4s4FJQW4OdFdzIeL/DlYk4qPGnUFHwKOSjFpdzS0LQVl1COwfngfrUx/YP6N/L1TDCSWPDixDTAm20xTw9mJr7h+2g33JJLD++hZYN70PgOvJ0JB5ULivUtfcMRIcJXqIgrznioeQLFJd/Im7mU+uFVfphET8xGXfvnSX6t5Rylk82+M6ThF7LQiJKPaCp+sRRDyLXXOi/Z/Kzy2IHGHfTRPH7kJapYpreIQRYxCPM+XFkQnz2WSRzttRpI/cg+Nwdi2y4PNuOoesK7vfXCsvxnzIiUigONSwWC86bg2zbqzOnAUw0wfWEnJtLLkB7D3fgh0JGjIZtdUQSkCSlZHUFtZR9aImAKBqn3Z/R1tWwTcW6jO+gvwStadj1EwWCmEK8P7JK64yaRWV1jiEDbxKtATfDVfsDZ8u/Fo5wir7IKmJrUl6dFG1SWXAs9hUM2p8hHI9x6qAR8xGMKL/PaL/B0T/l1D/38fp/y8N7SoljF2382gX4f8bwojWyoXIxcw1IdXftvh5PasI7nPBSNZXb671MOldIX2rTSkVG73HGw7qj6kYr/bDHeDs37sTXRv3AHxGFtUFlzk5jMvuALu2VJHHTSWVRGRkFO2qK8HO3aVeaainG1i4EcD3onZrVC7ZghNC1JGEZZqEetIgQv5Km5Eeiiz4VPEwaxnBJiqDApHyeLKaXoR41ESeyD33xTWezduxrP58tnnJVpKIZpZvR+cHsW9EByJQCqmqT8oK2NTmSDawOrr0X38Q/U9RxDLrUDEZrGNtbdoTw6/Ak6epWvlK1Z5tWnoYuX+AsNOElynVWITFdWMS7RulohKhj2dbn0dZqfx05vvtiG1eFWP1ObKSn9pUZGz8YCMyUlRKBI92rOIbQEFpNdRu+BTs+ac4Lo6FV4KFvkYIVMQIVZwPds4OsGuqqIQ/vc9IqV8H6sAuzEU1dxXY89CP+PKtYD/ig2j+XqiOYF+V2C8aZWo/WgUlO4ohV60JWVgeHkMUyvaLvxpOkDPcISTj6WSCzxQDOEiD16Kg5B+pEngvo8oaSGsdSc8CRJipi5v4rrSEk0iKZNMAX0lxplkKRDSzX8Qu1Va2kVkR1P+Ug+h/LdtRdxuFtX0oDTyUk7mcnTtC1ctPMrsBU39h6vMy8Sw7UB9BsZ/icERr0fbPKiCbJpcQYh+9rqLJoi23ELMA8x3kN11N97SG7mkPW1YkPcEnPNhQ0rypJKJJIibXhjLiaDW1JG8v1K+epF0cdZkzoLgeoC4QhogNYL03HKyHfGC/dDPYbz8B9vTXwP74VbA3rYyJv1ok6bi/g/XMGWA9gYR+ui1Yo24EGPhHqP/kHxiAbmmLqF6n1trgr4pww4yNxwhZSleVlMAfkiBhshXcjqOB3ZNm58tIGrU6iIJURxKRzjcSSD6bJobs/6gm7l9+76/kYz3aReX7F+rTq+p2G8QFTA2XbdNEv2chLkW0c9uB67dAoj8cqanhh8lBrlVAIgBQ4SmNkty9UFhcAXn7Q9q6WpyD0nDohWCP7APW89eCNayHg/tU2NzHumxj2AIIVVaCNfp6sEdcjbgKYFAbJGEK2MO7Q+3iWdwQwwlIsbH6mlSfH/xGP25qI6tcp8osee923sSXn0l/XwJtDnH/3uXyCencZ+mVqeIRtZKewL3wPn1J3FNSOOiKWQWl4c446HfG1oumOHGACGlpKamlZWUUivYWQnjSEJRu14E9uB2SKx1J9heA+30QmDNFl/nXpEJyhd9+CuwhHSH81gConzMVKtauhqK8Er0OJNLR0UjlYITcE0GMCrpPzuq/BdiDk9s7pyRxLgNfMmiG/XuEgsXvk19bIvfSnIo8J/wF4YdLQ+kzTjn9iZAWxacSIYkwtAMxvtaEKt2RDRWZ66DqhxVQs3QelONrrCyuv6PL/SNpi/f4Ib+0Tm0frkmKZJbrwKgmP/ZN69Z/FlQEjGqS1lx+4Ba0oDFokjVEXnnofJRIi8lAoolCEtLiZETCaEIRuTRy1bHKMp+ro26D77F8yIAhoU1EtxCa/LhvR1Ye7fjbUg2tBf9f0aRGCkwt6oHEmK8Iw1wcNgUDRIlAtiGXAf7tpnLahKgin7NhTAiM9EVJvAEngP5SPWkuP2wLWnDIiSghw538pcH2SJgXUcJtU8QyQDIZIlmIqK60baDIpo8aRDpEbA0KBeXBgvyK4PsFFRG9DXWLFGzB7wXmxSEhpEmpQiINQkf7IiTbHiRTmEhGqigRlFRTTkAkXRF+9/v88sBr+P3eRUVwlJTGLWvBFvwecEjN+G5GnqLKwBl5FZGeSLo7CyqCT6pyhnn7A6OcuqrBp/1l4XvRJdIHtwE4u7QUjnYzNTezvQ5a0IJmS0RXn1ky32+xhLbg94zf0reWbqAkpQIv6d6cfDwtaMGhxv8A21bUAwskPv4AAAAASUVORK5CYII="; $gaCode = null; $isTrackingEnabled = wsg_get_data("tracking_enabled"); if ($isTrackingEnabled) { $gaCode = wsg_get_data("google_analytics"); } echo "<!doctype html>"; echo "<html lang="" . $lang . "">"; echo " <head>"; echo " <meta charset="utf-8">"; echo " <meta name="viewport" content="width=device-width, initial-scale=1">"; echo " <title>Web Stories</title>"; echo " <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">"; echo " <link rel="canonical" href="" . $siteUrl . "/" . $subDir . "/" />"; $favicon = get_option("site_icon"); if ($favicon) { $faviconUrl = wp_get_attachment_image_src($favicon, "full")[0]; if ($faviconUrl) { echo " <link rel="shortcut icon" href="" . $faviconUrl . "">"; } } if ($gaCode) { echo " <script async src="https://www.googletagmanager.com/gtag/js?id=" . $gaCode . ""></script>"; echo " <script>"; echo " window.dataLayer = window.dataLayer || [];"; echo " function gtag(){dataLayer.push(arguments);}"; echo " gtag('js', new Date());"; echo " gtag('config', '" . $gaCode . "');"; echo " </script>"; } echo " </head>"; echo " <body>"; echo " <div class="container">"; echo " <p class="text-center mt-4">"; echo " <a href="" . $siteUrl . "">"; if ($logo) { echo " <img src="" . $logo . "" alt="" . $siteName . "" style="max-height: 100px" />"; } else { echo " " . $siteName; } echo " </a>"; echo " </p>"; echo "<h1 class="text-center mb-5 mt-4"><span class="display-4">Web Stories</span></h1>"; if ($query->have_posts()) { echo "<div class="row justify-content-center">"; while ($query->have_posts()) { $query->the_post(); echo "<div class="col-6 col-sm-4 col-md-3">"; echo wsg_create_post_widget($query->post); echo "</div>"; } wp_reset_postdata(); echo "</div>"; if ($totalPages > 1) { echo "<nav aria-label="Page navigation">"; echo "<ul class="pagination justify-content-center" style="width:auto">"; $paginationLinksCount = 3; $pagedBefore = $paged - $paginationLinksCount; $pagedAfter = $paged + $paginationLinksCount; if ($pagedBefore < 1) { $pagedAfter += 1 - $pagedBefore; $pagedBefore = 1; } if ($pagedAfter > $totalPages) { $pagedBefore -= $pagedAfter - $totalPages; $pagedAfter = $totalPages; } if ($pagedBefore < 1) { $pagedBefore = 1; } if ($paged > 1) { echo "<li class="page-item"><a class="page-link" href="?page=1">«</a></li>"; } else { echo "<li class="page-item disabled"><a class="page-link" href="?page=1">«</a></li>"; } for ($i = $pagedBefore; $i <= $pagedAfter; $i++) { $pageNumber = $i < 10 ? "0" . $i : $i; if ($i == $paged) { echo "<li class="page-item active"><span class="page-link">" . $pageNumber . "</span></li>"; } else { echo "<li class="page-item"><a class="page-link" href="?page=" . $i . "">" . $pageNumber . "</a></li>"; } } if ($paged < $totalPages) { echo "<li class="page-item"><a class="page-link" href="?page=" . $totalPages . "">»</a></li>"; } else { echo "<li class="page-item disabled"><a class="page-link" href="?page=" . $totalPages . "">»</a></li>"; } echo "</ul>"; echo "</nav>"; } } else { echo "<p class="text-center">" . wsg_str_translate("No web stories found.") . "</p>"; } echo " </div>"; $support = !wsg_get_data("remove_support"); if (isset($support) && $support == true) { $affiliateUrl = wsg_get_data("affiliate_url"); if (isset($affiliateUrl) && trim($affiliateUrl) != '') { $wsgUrl = $affiliateUrl; } else { $wsgUrl = WSG_PLUGIN_URL . "?utm_source=web-stories-generator&utm_medium=" . $siteUrl; } echo "<div class="text-center mt-5 mb-0">"; echo "<div style="overflow: auto; background: indigo; height: auto;" class="text-center _rounded py-5" ><span class="lead text-white">" . wsg_str_translate("This page was generated by the plugin") . "</span><br><a target="_blank" href="" . $wsgUrl . ""><img loading="lazy" style="max-height: 80px; margin-top: 1rem" alt="Web Stories Generator" src="" . $wsgLogoDataUrl . "" /></a></div>"; echo "</div>"; } echo " </body>"; echo "</html>"; echo PHP_EOL; echo "<!--" . PHP_EOL; echo "\360\237\x94\xb4\xf0\237\x94\xb4\xf0\x9f\224\xb4\xf0\237\224\xb4\360\x9f\x94\xb4\xf0\x9f\224\264\xf0\237\224\xb4\xf0\x9f\x94\xb4\360\x9f\224\264\360\237\224\264\360\237\224\264\xf0\x9f\224\264\360\x9f\x94\xb4\360\237\224\xb4\xf0\x9f\224\264" . PHP_EOL; echo "\xf0\237\224\xb4" . PHP_EOL; echo "\xf0\x9f\x94\xb4 " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . PHP_EOL; echo "\xf0\x9f\x94\xb4 " . wsg_str_translate("Created by", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_AUTHOR_NAME . PHP_EOL; echo "\xf0\237\224\xb4" . PHP_EOL; echo "\xf0\237\224\xb4 " . wsg_str_translate("Visit", WSG_PLUGIN_TEXT_DOMAIN) . ": " . WSG_PLUGIN_URL . PHP_EOL; echo "\360\x9f\x94\264" . PHP_EOL; echo "\xf0\x9f\224\xb4\360\x9f\224\264\360\237\x94\264\xf0\x9f\224\264\xf0\x9f\x94\264\xf0\x9f\x94\xb4\xf0\237\224\264\360\237\224\264\360\x9f\224\264\360\x9f\224\264\xf0\237\x94\264\xf0\x9f\x94\xb4\360\237\x94\xb4\360\237\x94\264\360\x9f\224\264" . PHP_EOL; echo " -->" . PHP_EOL; die; } }, 0); goto D3hK3; XPAyr: function wsg_str_translate($str) { $tr = array(); $tr["by"] = array("pt" => "por", "es" => "por"); $tr["Proudly made in Brazil"] = array("pt" => "Orgulhosamente feito no Brasil", "es" => "Orgulosamente hecho en Brasil"); $tr["License Code"] = array("pt" => "C\303\xb3digo de Ativa\xc3\247\xc3\xa3o", "es" => "C\303\xb3digo de Ativa\xc3\xa7\xc3\xa3o"); $tr["License code for this website."] = array("pt" => "C\303\xb3digo de ativa\xc3\xa7\303\243o para este website.", "es" => "C\303\xb3digo de ativa\303\xa7\xc3\xa3o para este website."); $tr["Get one here"] = array("pt" => "Obtenha um aqui", "es" => "Obtenga uno aqu\xc3\xad"); $tr["Sitemap"] = array("pt" => "Mapa do site", "es" => "Mapa del sitio"); $tr["send this sitemap to the"] = array("pt" => "envie este sitemap para o", "es" => "envie este mapa del sitio para el"); $tr["Settings"] = array("pt" => "Configura\303\xa7\xc3\xb5es", "es" => "Configuraciones"); $tr["Stories List Page"] = array("pt" => "P\xc3\xa1gina de listagem de stories", "es" => "P\303\241gina de listado de historias"); $tr["Remember to clear the cache when changing options"] = array("pt" => "Lembre-se de limpar o cache ao alterar as op\xc3\247\303\265es", "es" => "Recuerde limpiar la cach\xc3\xa9 al cambiar las opciones"); $tr["Read more"] = array("pt" => "Leia mais", "es" => "Leer m\303\241s"); $tr["Did you like this story?"] = array("pt" => "Gostou deste story?", "es" => "\xc2\277Le gust\303\263 esta historia?"); $tr["Please share by clicking this button!"] = array("pt" => "Aproveite para compartilhar clicando no bot\303\243o acima!", "es" => "\xc2\xa1Aproveite para compartir haciendo clic en el bot\303\xb3n!"); $tr["This page was generated by the plugin"] = array("pt" => "Esta p\303\241gina foi gerada pelo plugin", "es" => "Esta p\xc3\xa1gina fue generada por el plugin"); $tr["Visit our site and see all other available articles!"] = array("pt" => "Visite nosso site e veja todos os outros artigos dispon\303\255veis!", "es" => "Visite nuestro sitio y vea todos los otros art\303\xadculos disponibles!"); $tr["No web stories found."] = array("pt" => "Nenhum web story encontrado.", "es" => "No se encontraron historias web."); $tr["This Web Story was generated by the plugin"] = array("pt" => "Este web story foi gerado pelo plugin", "es" => "Esta historia web fue generada por el plugin"); $tr["Created by"] = array("pt" => "Criado por", "es" => "Creado por"); $tr["Visit"] = array("pt" => "Acesse", "es" => "Visite"); $tr["Licensing"] = array("pt" => "Licenciamento", "es" => "Licenciamiento"); $tr["Email"] = array("pt" => "Email", "es" => "Email"); $tr["Email used to purchase the plugin."] = array("pt" => "Email usado para comprar o plugin.", "es" => "Email usado para comprar el plugin."); $tr["Not licensed"] = array("pt" => "N\303\243o licenciado", "es" => "No licenciado"); $tr["Licensed to"] = array("pt" => "Licenciado para", "es" => "Licenciado para"); $tr["Invalid license."] = array("pt" => "Licen\xc3\247a inv\xc3\241lida.", "es" => "Licencia inv\xc3\241lida."); $tr["General"] = array("pt" => "Geral", "es" => "General"); $tr["General settings for the plugin."] = array("pt" => "Configura\xc3\247\xc3\xb5es gerais do plugin.", "es" => "Configuraciones generales del plugin."); $tr["Your Hotmart Transaction code. You received it in your email after purchasing the plugin."] = array("pt" => "Seu c\xc3\xb3digo de transa\303\xa7\xc3\xa3o Hotmart. Voc\xc3\xaa recebeu no seu email ap\xc3\xb3s a compra do plugin.", "es" => "Su c\xc3\xb3digo de transacci\xc3\xb3n Hotmart. Lo recibi\303\263 en su correo electr\303\xb3nico despu\xc3\xa9s de comprar el plugin."); $tr["Transaction Code"] = array("pt" => "C\xc3\xb3digo de Transa\xc3\xa7\303\243o", "es" => "C\xc3\263digo de Transacci\xc3\263n"); $tr["Invalid transaction code."] = array("pt" => "C\xc3\263digo de transa\303\xa7\303\243o inv\xc3\xa1lido.", "es" => "C\303\xb3digo de transacci\303\263n inv\xc3\xa1lido."); $tr["Base Directory"] = array("pt" => "Diret\303\xb3rio Base", "es" => "Directorio Base"); $tr["The base directory for the web stories. Use a directory that doesn't already exist on your site to avoid conflicts."] = array("pt" => "Diret\303\xb3rio base para os web stories. Use um diret\303\xb3rio que ainda n\303\243o exista no seu site para evitar conflitos.", "es" => "Directorio base para las web stories. Use un directorio que a\xc3\272n no exista en su sitio para evitar conflictos."); $tr["Posts Selection"] = array("pt" => "Sele\xc3\247\303\243o de Posts", "es" => "Selecci\303\263n de Posts"); $tr["Select the posts to use for the web stories."] = array("pt" => "Selecione os posts para usar na cria\303\247\303\xa3o dos web stories.", "es" => "Seleccione los posts para usar en la creaci\xc3\263n de las web stories."); $tr["All Posts"] = array("pt" => "Todos os Posts", "es" => "Todos los Posts"); $tr["From Date"] = array("pt" => "A partir de uma data", "es" => "Desde una fecha"); $tr["Selected Posts"] = array("pt" => "Posts Selecionados", "es" => "Posts Seleccionados"); $tr["Active?"] = array("pt" => "Ativo?", "es" => "Activo?"); $tr["Check this to generate web stories."] = array("pt" => "Marque para gerar web stories.", "es" => "Marque para generar web stories."); $tr["Post Delay (in days)"] = array("pt" => "Atraso de Publica\303\xa7\303\xa3o (em dias)", "es" => "Retraso de Publicaci\xc3\xb3n (en d\xc3\xadas)"); $tr["The number of days to wait before publishing a new web story."] = array("pt" => "O n\303\xbamero de dias para esperar antes de publicar um novo web story.", "es" => "El n\xc3\272mero de d\303\xadas para esperar antes de publicar una nueva historia web."); $tr["If you set this to 0, all the web stories will be published immediately."] = array("pt" => "Se voc\303\252 definir isso como 0, todas as web stories ser\xc3\243o publicadas imediatamente.", "es" => "Si lo establece en 0, todas las historias web se publicar\303\241n inmediatamente."); $tr["All the web stories based on the posts published until yesterday will be generated, and the new ones will be generated with a delay of 1 day."] = array("pt" => "Todas as web stories baseadas nos posts publicados at\303\xa9 ontem ser\xc3\xa3o geradas, e as novas ser\303\243o geradas com um atraso de 1 dia.", "es" => "Todas las historias web basadas en los posts publicados hasta ayer se generar\303\xa1n, y las nuevas se generar\xc3\241n con un retraso de 1 d\303\255a."); $tr["Only the web stories based on the posts published %s days ago (your oldest posts) will be generated immediately, and all the other will be published following this delay."] = array("pt" => "Somente as web stories baseadas nos posts publicados h\303\xa1 %s dias (seus posts mais antigos) ser\xc3\243o geradas imediatamente, e todas as outras ser\xc3\243o publicadas seguindo este atraso.", "es" => "Solo las historias web basadas en los posts publicados hace %s d\xc3\xadas (sus publicaciones m\xc3\241s antiguas) se generar\303\xa1n inmediatamente, y todas las dem\xc3\xa1s se publicar\303\241n siguiendo este retraso."); $tr["Total web stories generated"] = array("pt" => "Total de web stories gerados", "es" => "Total de historias web generadas"); $tr["Appearance"] = array("pt" => "Apar\303\252ncia", "es" => "Apariencia"); $tr["Set the look and feel of your web story."] = array("pt" => "Defina o estilo e a apar\xc3\252ncia da sua web story.", "es" => "Defina el estilo y la apariencia de su web story."); $tr["Colors"] = array("pt" => "Cores", "es" => "Colores"); $tr["Primary Color"] = array("pt" => "Cor Principal", "es" => "Color Primario"); $tr["The primary color of your web story."] = array("pt" => "A cor principal do seu web story.", "es" => "El color primario de la web story."); $tr["Background Color"] = array("pt" => "Cor de Fundo", "es" => "Color de Fondo"); $tr["The background color of your web story."] = array("pt" => "A cor de fundo do seu web story.", "es" => "El color de fondo de la web story."); $tr["Text Color"] = array("pt" => "Cor do Texto", "es" => "Color del Texto"); $tr["The text color of your web story."] = array("pt" => "A cor do texto do seu web story.", "es" => "El color del texto de la web story."); $tr["Background Animation"] = array("pt" => "Anima\303\xa7\xc3\xa3o de Fundo", "es" => "Animaci\xc3\263n de Fondo"); $tr["Check this to animate images in the background."] = array("pt" => "Marque para animar imagens no fundo.", "es" => "Marque para animar im\303\241genes de fondo."); $tr["Logo"] = array("pt" => "Logomarca", "es" => "Logotipo"); $tr["Main Logo"] = array("pt" => "Logomarca Principal", "es" => "Logotipo Principal"); $tr["The main logo of your site, visible on Google Discover."] = array("pt" => "A logomarca principal do seu site, vis\xc3\xadvel no Google Discover.", "es" => "El logotipo principal de su sitio, visible en Google Discover."); $tr["Background Logo"] = array("pt" => "Logomarca no Fundo", "es" => "Logotipo de Fondo"); $tr["The logo visible on the background of your stories."] = array("pt" => "A logomarca vis\xc3\255vel no fundo dos seus stories.", "es" => "El logotipo visible en el fondo de sus stories."); $tr["Background logo visible?"] = array("pt" => "Mostrar logo no fundo?", "es" => "\302\xbfMostrar logo en el fondo?"); $tr["Show this logo on the top of all the web story slides."] = array("pt" => "Mostrar esta logomarca no topo de todos os slides do web story.", "es" => "Mostrar esta logotipo en el tope de todos los slides de la web story."); $tr["* Only works if background animation is disabled."] = array("pt" => "* S\xc3\xb3 funciona se a anima\303\247\303\xa3o de fundo estiver desativada.", "es" => "* S\xc3\xb3lo funciona si la animaci\xc3\263n de fondo est\303\xa1 desactivada."); $tr["Auto Advance"] = array("pt" => "Avan\xc3\247o Autom\xc3\241tico", "es" => "Avance Autom\303\xa1tico"); $tr["Auto Advance Interval"] = array("pt" => "Intervalo de Avan\303\xa7o Autom\303\xa1tico", "es" => "Intervalo de Avance Autom\xc3\xa1tico"); $tr["The time interval (in seconds) between each page of your web story."] = array("pt" => "O intervalo de tempo (em segundos) entre cada p\xc3\xa1gina da sua web story.", "es" => "El intervalo de tiempo (en segundos) entre cada p\xc3\xa1gina de su web story."); $tr["Auto Advance Active?"] = array("pt" => "Ativar Avan\xc3\247o Autom\xc3\xa1tico?", "es" => "\302\xbfActivar Avance Autom\xc3\xa1tico?"); $tr["Check this to enable auto advance."] = array("pt" => "Marque esta op\303\247\303\243o para ativar o avan\303\xa7o autom\xc3\xa1tico.", "es" => "Marque esta opci\xc3\xb3n para activar el avance autom\303\241tico."); $tr["Call to Action"] = array("pt" => "Chamada para A\xc3\xa7\303\243o", "es" => "Llamada a la Acci\303\xb3n"); $tr["Leave blank for default."] = array("pt" => "Deixe em branco para o padr\xc3\xa3o.", "es" => "Deje en blanco para el valor predeterminado."); $tr["Call to Action Button Text"] = array("pt" => "Texto do Bot\303\xa3o de Chamada para A\xc3\247\303\243o", "es" => "Texto del Bot\303\xb3n de Llamada a la Acci\303\xb3n"); $tr["Show Call To Action only in the last slide?"] = array("pt" => "Mostrar Chamada para A\303\xa7\xc3\xa3o apenas no \303\xbaltimo slide?", "es" => "\xc2\xbfMostrar Llamada a la Acci\303\xb3n solo en la \303\xbaltima p\xc3\241gina?"); $tr["Check this to show the Call To Action button only in the last slide."] = array("pt" => "Marque esta op\xc3\xa7\303\xa3o para mostrar o bot\303\xa3o de Chamada para A\xc3\247\303\xa3o apenas no \303\xbaltimo slide.", "es" => "Marque esta opci\xc3\263n para mostrar el bot\303\263n de Llamada a la Acci\303\263n solo en la \303\xbaltima p\xc3\241gina."); $tr["Elements"] = array("pt" => "Elementos", "es" => "Elementos"); $tr["Remove Selector (Advanced)"] = array("pt" => "Remover Selectors (Avan\303\xa7ado)", "es" => "Remover Seleccionador (Avanzado)"); $tr["CSS selector to remove from the web story."] = array("pt" => "CSS Selector a ser removido do web story.", "es" => "Seleccionador CSS a ser removido de la web story."); $tr["Leave blank if you don't know what this means."] = array("pt" => "Deixe em branco se voc\xc3\xaa n\xc3\xa3o sabe o que isso significa.", "es" => "Deje en blanco si no sabe lo que significa."); $tr["Example: #header, .footer"] = array("pt" => "Exemplo: #header, .footer", "es" => "Ejemplo: #header, .footer"); $tr["Tracking"] = array("pt" => "Acompanhamento", "es" => "Seguimiento"); $tr["Track the visits of your web stories."] = array("pt" => "Acompanhe as visitas de seus web stories.", "es" => "Seguir las visitas de sus web stories."); $tr["Add GA4 tracking code."] = array("pt" => "Adicione o c\xc3\xb3digo de acompanhamento do GA4.", "es" => "Agregue el c\303\xb3digo de seguimiento de GA4."); $tr["Enable Tracking"] = array("pt" => "Habilitar Acompanhamento", "es" => "Habilitar Seguimiento"); $tr["Enable or disable tracking."] = array("pt" => "Habilita ou desabilita o acompanhamento.", "es" => "Habilite ou deshabilite el seguimiento."); $tr["Google AdSense integration."] = array("pt" => "Integra\xc3\xa7\303\243o com o Google AdSense.", "es" => "Integraci\xc3\xb3n con Google AdSense."); $tr["Your Google AdSense publisher ID."] = array("pt" => "Seu ID de editor do Google AdSense.", "es" => "Su ID de editor de Google AdSense."); $tr["Your Google AdSense ad slot ID."] = array("pt" => "Seu ID de slot de an\303\xbancio do Google AdSense.", "es" => "Su ID de slot de anuncio de Google AdSense."); $tr["Enabled"] = array("pt" => "Habilitado", "es" => "Habilitado"); $tr["Enable Google AdSense integration."] = array("pt" => "Habilite a integra\303\247\xc3\xa3o com o Google AdSense.", "es" => "Habilite la integraci\303\263n con Google AdSense."); $tr["Support Us"] = array("pt" => "Apoie-nos", "es" => "Ap\xc3\xb3yanos"); $tr["If you want to help us, leave the option below unchecked."] = array("pt" => "Se voc\xc3\252 quiser nos ajudar, mantenha a op\303\xa7\xc3\xa3o abaixo ***desmarcada***.", "es" => "Si quieres ayudarnos, deja la opci\303\263n de abajo sin marcar."); $tr["Remove link to our website."] = array("pt" => "Remova o link para nosso site.", "es" => "Remueva el enlace a nuestro sitio."); $tr["Affiliate URL"] = array("pt" => "Link de Afiliado", "es" => "Link de Afiliado"); $tr["This will remove the plugin logo in the last slide. If you want to use an affiliate URL, leave this unchecked."] = array("pt" => "Isso remover\xc3\xa1 o logotipo do plugin na \xc3\272ltima p\xc3\241gina. Se voc\xc3\xaa quiser usar uma URL de afiliado, deixe isso desmarcado.", "es" => "Esto eliminar\303\xa1 el logotipo del plugin en la \xc3\272ltima diapositiva. Si desea usar una URL de afiliado, deje esto sin marcar."); $tr["Type your affiliate URL here and earn money by promoting our plugin."] = array("pt" => "Digite seu link de afiliado aqui e ganhe dinheiro promovendo nosso plugin.", "es" => "Escriba su link de afiliado aqu\303\xad y gane dinero promoviendo nuestro plugin."); $tr["Become an affiliate"] = array("pt" => "Torne-se um afiliado", "es" => "Convi\303\251rtete en afiliado"); $tr["You can not change options on the demo version."] = array("pt" => "Voc\xc3\252 n\303\xa3o pode alterar as op\xc3\xa7\303\265es na vers\xc3\xa3o demo.", "es" => "No puede cambiar las opciones en la versi\303\263n demo."); $tr["Demo version"] = array("pt" => "Vers\xc3\xa3o de Demonstra\xc3\xa7\303\xa3o", "es" => "Versi\303\263n de Demostraci\xc3\xb3n"); $tr["Buy the full version"] = array("pt" => "Compre a vers\xc3\xa3o completa", "es" => "Compre la versi\303\263n completa"); $tr["New version available"] = array("pt" => "Nova vers\xc3\243o dispon\303\255vel", "es" => "Nueva versi\303\xb3n disponible"); $tr["Download"] = array("pt" => "Baixar", "es" => "Descargar"); $current_language = get_bloginfo("language"); $current_language = substr($current_language, 0, 2); if (!in_array($current_language, array("pt", "es"))) { $current_language = "en"; } return $current_language == "en" ? $str : (array_key_exists($str, $tr) ? $tr[$str][$current_language] : $str); } goto Ppy7r; ZZ_kK: define("WSG_PLUGIN_VERSION", "2.0.8"); goto ApmEv; o7OgG: function wsg_validate_license($code = null) { return true; } goto aqdRu; OnNMn: define("WSG_SITEMAP_INDEX", "wsg-sitemap-index.xml"); goto o7OgG; uSNtQ: add_action("init", function () { if (!wsg_is_activated()) { return; } $urlPath = wsg_get_url_path(); $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; if (preg_match("#^" . preg_quote($urlPrefix) . "wsg-sitemap-posts-([0-9]+)\.xml$#", $urlPath, $matches)) { $paged = $matches[1]; $postsPerPage = WSG_POSTS_PER_SITEMAP; $query = new WP_Query(wsg_create_posts_array($postsPerPage, $paged)); if (!$query->have_posts() || $paged == 0) { return; } $siteUrl = get_site_url(); header("HTTP/1.1 200 OK"); header("Content-Type: application/xml; charset=UTF-8"); echo "<?xml version="1.0" encoding="UTF-8"?>"; echo "<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">"; $subDir = wsg_get_data("basedir"); while ($query->have_posts()) { $query->the_post(); $slug = get_post_field("post_name", get_the_ID()); $modified = get_post_field("post_modified", get_the_ID()); $url = "/" . $subDir . "/" . $slug . "/"; echo "<url>"; echo "<loc>" . $siteUrl . $url . "</loc>"; echo "<lastmod>" . date("c", strtotime($modified)) . "</lastmod>"; echo "</url>"; } echo "</urlset>"; die; } }, 0); goto R9Rfi; xQqys: define("WSG_PLUGIN_URL", "https://www.webstoriesgenerator.com"); goto ZZ_kK; A3ziU: function wsg_redirect_slash($urlPath, $query) { if (substr($urlPath, -1) != "/") { $urlPath = $query ? $urlPath . "/?" . $query : $urlPath . "/"; header("Location: " . $urlPath); die; } } goto PvnKo; Ppy7r: define("WSG_PLUGIN_TEXT_DOMAIN", "wsg-web-stories-generator"); goto RsoiJ; bRe3b: function wsg_create_posts_array($postsPerPage = -1, $paged = 0) { $postsArr = array("post_type" => "post", "post_status" => "publish", "posts_per_page" => -1, "fields" => "ids"); if ($paged > 1) { $postsArr["paged"] = $paged; } if ($postsPerPage > 0) { $postsArr["posts_per_page"] = $postsPerPage; } try { $postDelay = wsg_get_data("post_delay_in_days"); if (!$postDelay) { $postDelay = 0; } if ($postDelay > 0) { $fromDate = new DateTime(); $fromDate->sub(new DateInterval("P" . $postDelay . "D")); $postsArr["date_query"] = array(array("before" => $fromDate->format("Y-m-d"), "inclusive" => true)); } } catch (Exception $e) { } return $postsArr; } goto TAPxJ; Ga3nz: class WsgWebStoriesGeneratorAdminPage { private $wsg_demo = true; private function checkNewVersion() { $remote = wp_remote_get("https://www.webstoriesgenerator.com/plugin.json", array("timeout" => 10, "headers" => array("Accept" => "application/json"))); if (is_wp_error($remote) || 200 !== wp_remote_retrieve_response_code($remote) || empty(wp_remote_retrieve_body($remote))) { return false; } else { try { $body = wp_remote_retrieve_body($remote); $body = json_decode($body, true); $last_version = $body["version"]; $current_version = WSG_PLUGIN_VERSION; return version_compare($current_version, $last_version, "<"); } catch (Exception $e) { return false; } } } private function teste() { add_action("better_wp_admin_api_before-toplevel_page_wsg-web-stories-generator", function () { $active = wsg_is_activated(); echo "<script async src="https://www.googletagmanager.com/gtag/js?id=G-XN4MML3DWJ"></script>"; echo "<script>"; echo "window.dataLayer = window.dataLayer || [];"; echo "function gtag(){dataLayer.push(arguments);}"; echo "gtag('js', new Date());"; echo "gtag('config', 'G-XN4MML3DWJ');"; echo "gtag('event', 'Plugin', {"; echo " 'event_category': 'Site',"; echo " 'event_label': '" . get_site_url() . "',"; echo "});"; echo "gtag('event', 'Plugin', {"; echo " 'event_category': 'Version',"; echo " 'event_label': '" . WSG_PLUGIN_VERSION . "',"; echo "});"; echo "</script>"; echo "<h1><strong>" . ($active ? "\xf0\237\237\242" : "\xf0\x9f\x94\264") . " " . WSG_PLUGIN_NAME . " v" . WSG_PLUGIN_VERSION . "</strong></h1>"; if ($this->wsg_demo) { echo "<p style="margin-bottom: 1rem; text-transform: uppercase; background: red; overflow: auto; color: #fff; padding: 1rem; font-weight: bold; font-size: 20pt">" . wsg_str_translate("Demo version", WSG_PLUGIN_TEXT_DOMAIN); echo "<a target="_blank" href="https://www.webstoriesgenerator.com?utm_source=" . get_site_url() . "&utm_campaign=buy" style="display: inline-block; box-sizing: border-box; box-shadow: 1px 1px 3px #000; margin-left: 1rem; border-radius: 0.5rem; text-transform: none; background: green; color: #fff; padding: 1rem; font-size: 1.3rem">" . wsg_str_translate("Buy the full version", WSG_PLUGIN_TEXT_DOMAIN) . "</a>"; echo "</p>"; } else { if ($this->checkNewVersion()) { echo "<p style="margin-bottom: 1rem; text-transform: uppercase; background: lightblue; overflow: auto; color: #000; padding: 1rem; font-weight: bold; font-size: 20pt">" . wsg_str_translate("New version available", WSG_PLUGIN_TEXT_DOMAIN); echo "<a target="_blank" rel="nofollow noopener noreferrer" href="https://purchase.hotmart.com/" style="display: inline-block; box-sizing: border-box; box-shadow: 1px 1px 3px #000; margin-left: 1rem; border-radius: 0.5rem; text-transform: none; background: green; color: #fff; padding: 1rem; font-size: 1.3rem">" . wsg_str_translate("Download", WSG_PLUGIN_TEXT_DOMAIN) . "</a>"; echo "</p>"; } } if (get_option("wsg_licensed_to")) { echo "<p style="color: green">"; echo wsg_str_translate("Licensed to", WSG_PLUGIN_TEXT_DOMAIN) . ": <strong>" . get_option("wsg_licensed_to"); echo "</strong>"; echo "</p>"; } else { echo "<p style="color: red">"; echo wsg_str_translate("Not licensed", WSG_PLUGIN_TEXT_DOMAIN); echo ".</p>"; } if ($active) { $baseDir = wsg_get_data("basedir"); $urlSitemap = get_site_url() . "/" . WSG_SITEMAP_INDEX; $urlBasePath = get_site_url() . "/" . $baseDir . "/"; echo "<hr>"; echo "<div style="background: #c3ffc2; padding: 10px; border-radius: 4px;/">"; echo "<ul>"; echo "<li><strong>" . wsg_str_translate("Sitemap", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> <a target="_blank" href="" . $urlSitemap . "">" . $urlSitemap . "</a> (" . wsg_str_translate("send this sitemap to the", WSG_PLUGIN_TEXT_DOMAIN) . " <a target="_blank" href="https://search.google.com/search-console/welcome">Google Search Console</a>)</li>"; echo "<li><strong>" . wsg_str_translate("Stories List Page", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> <a target="_blank" href="" . $urlBasePath . "">" . $urlBasePath . "</a></li>"; $total = wsg_get_posts_count(); echo "<li><strong>" . wsg_str_translate("Total web stories generated", WSG_PLUGIN_TEXT_DOMAIN) . ":</strong> " . $total . "</li>"; echo "</ul>"; echo "</div>"; echo "<hr>"; echo "<p style="text-transform: uppercase; color: red">"; echo "<strong>*** "; echo wsg_str_translate("Remember to clear the cache when changing options", WSG_PLUGIN_TEXT_DOMAIN); echo " ***</strong>"; echo "</p>"; echo "<hr>"; } }); add_action("better_wp_admin_api_after-toplevel_page_wsg-web-stories-generator", function () { echo "<hr />"; echo "<p><a target="_blank" href="" . WSG_PLUGIN_URL . "">" . WSG_PLUGIN_NAME . "</a> v" . WSG_PLUGIN_VERSION . " " . wsg_str_translate("by", WSG_PLUGIN_TEXT_DOMAIN) . " <a target="_blank" href="" . WSG_PLUGIN_AUTHOR_URL . "">" . WSG_PLUGIN_AUTHOR_NAME . "</a></p>"; echo "<p>" . wsg_str_translate("Proudly made in Brazil", WSG_PLUGIN_TEXT_DOMAIN) . " \xf0\237\207\247\xf0\x9f\207\xb7</p>"; }); } private function default_page() { $page = wp_create_admin_page(array("menu_name" => " Web Stories Generator", "id" => "wsg-web-stories-generator", "prefix" => "wsg-web-stories-generator" . "_", "icon" => "dashicons-format-gallery", "position" => 25)); return $page; } private function licensing_tab($page) { $page->set_tab(array("id" => "default", "name" => wsg_str_translate("Licensing", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("General settings for the plugin.", WSG_PLUGIN_TEXT_DOMAIN))); } private function general_tab($page) { $page->set_tab(array("id" => "default", "name" => wsg_str_translate("General", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("General settings for the plugin.", WSG_PLUGIN_TEXT_DOMAIN))); if (!$this->wsg_demo) { $page->add_subtitle(array("name" => wsg_str_translate("Licensing", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "email", "label" => wsg_str_translate("Email", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Email used to purchase the plugin.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text")); $page->add_field(array("id" => "transaction_code", "label" => wsg_str_translate("Transaction Code", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Hotmart Transaction code. You received it in your email after purchasing the plugin."), "type" => "text", "props" => array("placeholder" => "HP12345678901234", "type" => "password"), "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value) || substr($new_value, 0, 2) !== "HP") { add_settings_error($field_id, $field_id, wsg_str_translate("Invalid transaction code.", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return trim($new_value); } })); $page->add_subtitle(array("name" => wsg_str_translate("General Options", WSG_PLUGIN_TEXT_DOMAIN))); } if (wsg_validate_license()) { $page->add_field(array("id" => "basedir", "label" => wsg_str_translate("Base Directory", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The base directory for the web stories. Use a directory that doesn't already exist on your site to avoid conflicts.", WSG_PLUGIN_TEXT_DOMAIN), "default" => "webstories", "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Base Directory" is required", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return trim($new_value, "/"); } })); $oldestPostWpQuery = new WP_Query(array("posts_per_page" => 1, "orderby" => "date", "order" => "ASC", "post_type" => "post", "post_status" => "publish", "fields" => "ids", "suppress_filters" => true)); $oldestPostDate = get_the_date("Y-m-d", $oldestPostWpQuery->posts[0]); $days = (strtotime(date("Y-m-d")) - strtotime($oldestPostDate)) / (60 * 60 * 24); $days = ceil($days); $page->add_field(array("id" => "post_delay_in_days", "label" => wsg_str_translate("Post Delay (in days)", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The number of days to wait before publishing a new web story.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>0</strong> - " . wsg_str_translate("If you set this to 0, all the web stories will be published immediately.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>1</strong> - " . wsg_str_translate("All the web stories based on the posts published until yesterday will be generated, and the new ones will be generated with a delay of 1 day.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<strong>" . $days . "</strong> - " . str_replace("%s", $days, wsg_str_translate("Only the web stories based on the posts published %s days ago (your oldest posts) will be generated immediately, and all the other will be published following this delay.", WSG_PLUGIN_TEXT_DOMAIN)), "default" => 0, "props" => array("type" => "number", "min" => 0, "placeholder" => "0", "step" => 1), "type" => "text", "sanitize_callback" => function ($new_value, $field_id, $the_page) { $new_value = intval($new_value); if ($new_value < 0) { add_settings_error($field_id, $field_id, wsg_str_translate(""Post Delay" is required", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "is_activated", "label" => wsg_str_translate("Active?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to generate web stories.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "default" => "off", "sanitize_callback" => function ($new_value, $field_id, $the_page) { try { $isActivating = $new_value === "on"; $email = $the_page->get_field_value("email"); $transactionCode = $the_page->get_field_value("transaction_code"); $url = implode("/", array(WSG_PLUGIN_URL, strrev("ipa"), strrev("1v"), strrev("noitavitca"))); $data = array("email" => $email, "transaction" => $transactionCode, "active" => $isActivating); $json_data = json_encode($data); $siteUrl = get_site_url(); $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Referer: " . $siteUrl, "Content-Type: application/json", "Content-Length: " . strlen($json_data))); $response = curl_exec($ch); curl_close($ch); $response = json_decode($response, true); $isLicensed = array_key_exists("licensed", $response) && $response["licensed"] === true; if ($isLicensed) { $licensedTo = ''; if (array_key_exists("licensedTo", $response)) { $licensedTo = $response["licensedTo"]; } update_option("wsg_licensed_to", $licensedTo); return $new_value; } else { if (!wsg_is_sbrubles()) { add_settings_error($field_id, $field_id, wsg_str_translate("Invalid license.", WSG_PLUGIN_TEXT_DOMAIN)); update_option("wsg_licensed_to", null); return false; } else { return $new_value; } } } catch (Exception $e) { add_settings_error($field_id, $field_id, wsg_str_translate("Error activating the plugin", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } })); } return $page; } private function appearance_tab($page) { $tab = $page->set_tab(array("id" => "appearance", "name" => wsg_str_translate("Appearance", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Set the look and feel of your web story.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_subtitle(array("name" => wsg_str_translate("Colors", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "primary_color", "label" => wsg_str_translate("Primary Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The primary color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#ff0000")); $page->add_field(array("id" => "background_color", "label" => wsg_str_translate("Background Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The background color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#ffffff")); $page->add_field(array("id" => "text_color", "label" => wsg_str_translate("Text Color", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The text color of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "color", "tab" => "appearance", "default" => "#333333")); $page->add_field(array("id" => "background_animation", "label" => wsg_str_translate("Background Animation", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to animate images in the background.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "on")); $page->add_subtitle(array("name" => wsg_str_translate("Auto Advance", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "aa_interval", "label" => wsg_str_translate("Auto Advance Interval", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The time interval (in seconds) between each page of your web story.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "appearance", "default" => 7, "props" => array("type" => "number", "min" => 1, "placeholder" => '', "max" => 20, "step" => 1))); $page->add_field(array("id" => "aa_active", "label" => wsg_str_translate("Auto Advance Active?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to enable auto advance.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "off")); $page->add_subtitle(array("name" => wsg_str_translate("Call to Action", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "cta_button_text", "label" => wsg_str_translate("Call to Action Button Text", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Leave blank for default.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "appearance")); $page->add_field(array("id" => "cta_last_slide", "label" => wsg_str_translate("Show Call To Action only in the last slide?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Check this to show the Call To Action button only in the last slide.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => "off")); $page->add_subtitle(array("name" => wsg_str_translate("Logo", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "main_logo", "label" => wsg_str_translate("Main Logo", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The main logo of your site, visible on Google Discover.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "image", "tab" => "appearance", "default" => '')); $page->add_field(array("id" => "background_logo", "label" => wsg_str_translate("Background Logo", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("The logo visible on the background of your stories.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "image", "tab" => "appearance", "default" => '')); $page->add_field(array("id" => "background_logo_visible", "label" => wsg_str_translate("Background logo visible?", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Show this logo on the top of all the web story slides.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . wsg_str_translate("* Only works if background animation is disabled.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "appearance", "default" => '')); $page->add_subtitle(array("name" => wsg_str_translate("Elements", WSG_PLUGIN_TEXT_DOMAIN), "tab" => "appearance")); $page->add_field(array("id" => "remove_selector", "label" => wsg_str_translate("Remove Selector (Advanced)", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("CSS selector to remove from the web story.", WSG_PLUGIN_TEXT_DOMAIN) . "<br>" . wsg_str_translate("Leave blank if you don't know what this means.", WSG_PLUGIN_TEXT_DOMAIN) . "<br>" . wsg_str_translate("Example: #header, .footer", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "appearance", $this->wsg_demo ? "content" : "default" => '')); return $tab; } private function tracking_tab($page) { $page->set_tab(array("id" => "tracking", "name" => wsg_str_translate("Tracking", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Track the visits of your web stories.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "google_analytics", "label" => wsg_str_translate("Google Analytics 4", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Add GA4 tracking code.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "text", "tab" => "tracking", "props" => array("placeholder" => "G-XXXXXXXXXX"), "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^G-\w{1,}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Google Analytics ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "tracking_enabled", "label" => wsg_str_translate("Enable Tracking", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Enable or disable tracking.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "tracking", "default" => true)); } private function google_adsense_tab($page) { $page->set_tab(array("id" => "google-adsense", "name" => wsg_str_translate("Google AdSense", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Google AdSense integration.", WSG_PLUGIN_TEXT_DOMAIN) . ($this->wsg_demo ? "<br><strong style="color: red; text-transform: uppercase">*** " . wsg_str_translate("You can not change options on the demo version.", WSG_PLUGIN_TEXT_DOMAIN) . " ***" : '') . "</strong>")); $page->add_field(array("id" => "google_adsense_publisher_id", "label" => wsg_str_translate("Publisher ID", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Google AdSense publisher ID.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "google-adsense", "props" => array("placeholder" => "ca-pub-1234567890123456"), $this->wsg_demo ? "content" : "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^ca-pub-\d{16}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Publisher ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "google_adsense_ad_slot_id", "label" => wsg_str_translate("Ad Slot ID", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Your Google AdSense ad slot ID.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "text", "tab" => "google-adsense", "props" => array("placeholder" => "1234567890"), $this->wsg_demo ? "content" : "default" => '', "sanitize_callback" => function ($new_value, $field_id, $the_page) { if (empty($new_value)) { return $new_value; } if (!preg_match("/^\d{1,10}$/", $new_value)) { add_settings_error($field_id, $field_id, wsg_str_translate(""Ad Slot ID" is invalid", WSG_PLUGIN_TEXT_DOMAIN)); $old_value = $the_page->get_field_value($field_id); return $old_value; } else { return $new_value; } })); $page->add_field(array("id" => "google_adsense_enabled", "label" => wsg_str_translate("Enabled", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Enable Google AdSense integration.", WSG_PLUGIN_TEXT_DOMAIN), "type" => $this->wsg_demo ? "html" : "checkbox", "tab" => "google-adsense", $this->wsg_demo ? "content" : "default" => false)); } private function support_tab($page) { $page->set_tab(array("id" => "support-tab", "name" => wsg_str_translate("Support Us", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("If you want to help us, leave the option below unchecked.", WSG_PLUGIN_TEXT_DOMAIN))); $page->add_field(array("id" => "remove_support", "label" => wsg_str_translate("Remove link to our website.", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("This will remove the plugin logo in the last slide. If you want to use an affiliate URL, leave this unchecked.", WSG_PLUGIN_TEXT_DOMAIN), "type" => "checkbox", "tab" => "support-tab", "default" => false)); $page->add_field(array("id" => "affiliate_url", "label" => wsg_str_translate("Affiliate URL", WSG_PLUGIN_TEXT_DOMAIN), "desc" => wsg_str_translate("Type your affiliate URL here and earn money by promoting our plugin.", WSG_PLUGIN_TEXT_DOMAIN) . "<br />" . "<a rel="nofollow noopener" href="https://www.webstoriesgenerator.com/affiliates/" target="_blank">" . wsg_str_translate("Become an affiliate", WSG_PLUGIN_TEXT_DOMAIN) . "</a>", "type" => "text", "tab" => "support-tab", "default" => '')); } function __construct($demo) { $this->wsg_demo = $demo; } function init() { $page = $this->default_page(); $this->general_tab($page); if (wsg_validate_license()) { $this->appearance_tab($page); $this->tracking_tab($page); $this->google_adsense_tab($page); if (!$this->wsg_demo) { $this->support_tab($page); } } $this->teste(); } } goto ISuRO; NcSBr: define("WSG_FOREGROUND_COLOR", "#000000"); goto c6a3D; BAC8Q: class QuerySelectorTranslator { const cssRegex = "/" . "(?P<star>\*)" . "|(:(?P<pseudo>[\w-]*))" . "|\(*(?P<pseudospecifier>["']*[\w\h-]*["']*)\)" . "|(?P<element>[\w-]*)" . "|(?P<child>\s*>\s*)" . "|(#(?P<id>[\w-]*))" . "|(\.(?P<class>[\w-]*))" . "|(?P<sibling>\s*\+\s*)" . "|(\[(?P<attribute>[\w-]*)((?P<attribute_equals>[=~$]+)(?P<attribute_value>(.+\[\]'?)|[^\]]+))*\])+" . "|(?P<descendant>\s+)" . "/"; const EQUALS_EXACT = "="; const EQUALS_CONTAINS_WORD = "~="; const EQUALS_ENDS_WITH = "$="; const EQUALS_CONTAINS = "*="; const EQUALS_STARTS_WITH_OR_STARTS_WITH_HYPHENATED = "|="; const EQUALS_STARTS_WITH = "^="; protected $cssSelector; protected $prefix; public function __construct(string $cssSelector, string $prefix = ".//") { $this->cssSelector = $cssSelector; $this->prefix = $prefix; } public function __toString() : string { return $this->asXPath(); } public function asXPath() : string { return $this->convert($this->cssSelector); } protected function convert(string $css) : string { $cssArray = preg_split("/(["']).*?\1(*SKIP)(*F)|,/", $css); $xPathArray = array(); foreach ($cssArray as $input) { $output = $this->convertSingleSelector(trim($input)); $xPathArray[] = $output; } return implode(" | ", $xPathArray); } protected function convertSingleSelector(string $css) : string { $thread = $this->preg_match_collated(self::cssRegex, $css); $thread = array_values($thread); $xpath = array($this->prefix); $prevType = ''; foreach ($thread as $threadKey => $currentThreadItem) { $next = isset($thread[$threadKey + 1]) ? $thread[$threadKey + 1] : false; switch ($currentThreadItem["type"]) { case "star": case "element": $xpath[] = $currentThreadItem["content"]; break; case "pseudo": $specifier = ''; if ($next && $next["type"] == "pseudospecifier") { $specifier = "{$next["content"]}"; } switch ($currentThreadItem["content"]) { case "disabled": case "checked": case "selected": array_push($xpath, "[@{$currentThreadItem["content"]}]"); break; case "text": array_push($xpath, "[@type="text"]"); break; case "contains": if (empty($specifier)) { continue 3; } array_push($xpath, "[contains(text(),{$specifier})]"); break; case "first-child": $prev = count($xpath) - 1; $xpath[$prev] = "*[1]/self::" . $xpath[$prev]; break; case "nth-child": if (empty($specifier)) { continue 3; } $prev = count($xpath) - 1; $previous = $xpath[$prev]; if (substr($previous, -1, 1) === "]") { $xpath[$prev] = str_replace("]", " and position() = {$specifier}]", $xpath[$prev]); } else { array_push($xpath, "[{$specifier}]"); } break; case "nth-of-type": if (empty($specifier)) { continue 3; } $prev = count($xpath) - 1; $previous = $xpath[$prev]; if (substr($previous, -1, 1) === "]") { array_push($xpath, "[{$specifier}]"); } else { array_push($xpath, "[{$specifier}]"); } break; } break; case "child": array_push($xpath, "/"); break; case "id": array_push($xpath, ($prevType != "element" ? "*" : '') . "[@id='{$currentThreadItem["content"]}']"); break; case "class": array_push($xpath, ($prevType != "element" && $prevType != "class" ? "*" : '') . "[contains(concat(' ',normalize-space(@class),' '),' {$currentThreadItem["content"]} ')]"); break; case "sibling": array_push($xpath, "/following-sibling::*[1]/self::"); break; case "attribute": if (!$prevType) { array_push($xpath, "*"); } $detail = $currentThreadItem["detail"] ?? null; $detailType = $detail[0] ?? null; $detailValue = $detail[1] ?? null; if (!$detailType || $detailType["type"] !== "attribute_equals") { array_push($xpath, "[@{$currentThreadItem["content"]}]"); continue 2; } $valueString = trim($detailValue["content"], " '""); $equalsType = $detailType["content"]; switch ($equalsType) { case self::EQUALS_EXACT: array_push($xpath, "[@{$currentThreadItem["content"]}="{$valueString}"]"); break; case self::EQUALS_CONTAINS: throw new NotYetImplementedException(); case self::EQUALS_CONTAINS_WORD: array_push($xpath, "[" . "contains(" . "concat(" ",@{$currentThreadItem["content"]}," ")," . "concat(" ","{$valueString}"," ")" . ")" . "]"); break; case self::EQUALS_STARTS_WITH_OR_STARTS_WITH_HYPHENATED: throw new NotYetImplementedException(); case self::EQUALS_STARTS_WITH: throw new NotYetImplementedException(); case self::EQUALS_ENDS_WITH: array_push($xpath, "[" . "substring(" . "@{$currentThreadItem["content"]}," . "string-length(@{$currentThreadItem["content"]}) - " . "string-length("{$valueString}") + 1)" . "="{$valueString}"" . "]"); break; } break; case "descendant": array_push($xpath, "//"); break; } $prevType = $currentThreadItem["type"]; } return implode('', $xpath); } protected function preg_match_collated(string $regex, string $string, callable $transform = null) : array { preg_match_all($regex, $string, $matches, PREG_PATTERN_ORDER); $set = array(); foreach ($matches[0] as $k => $v) { if (!empty($v)) { $set[$k] = null; } } foreach ($matches as $k => $m) { if (is_numeric($k)) { continue; } foreach ($m as $i => $match) { if ($match === '') { continue; } $toSet = null; if ($transform) { $toSet = $transform($k, $match); } else { $toSet = array("type" => $k, "content" => $match); } if (!isset($set[$i])) { $set[$i] = $toSet; } else { if (!isset($set[$i]["detail"])) { $set[$i]["detail"] = array(); } array_push($set[$i]["detail"], $toSet); } } } return $set; } } goto Ga3nz; mLp3u: function wsg_get_data($name) { return wp_get_page_field_value("wsg-web-stories-generator", $name); } goto bRe3b; aZfXA: define("WSG_PLUGIN_AUTHOR_URL", "https://author.webstoriesgenerator.com"); goto LF0nv; aqdRu: function wsg_is_activated() { $active = wsg_get_data("is_activated"); return $active && $active == "on" ? true : false; } goto mLp3u; c6a3D: define("WSG_BACKGROUND_COLOR", "#ffffff"); goto OnNMn; AcB42: function wsg_get_url_path() { $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = $parsedUrl["path"]; return $urlPath; } goto LQRZe; wA2dU: add_image_size("webstories-generator-cover", 720, 1280, true); goto XPAyr; ApmEv: define("WSG_PLUGIN_AUTHOR_NAME", "Felipe Mendon\303\247a Marques Silva"); goto aZfXA; PpJm3: class CssXPathException extends RuntimeException { } goto CZoIY; D3hK3: add_action("init", function () { if (!wsg_is_activated()) { return; } $requestUri = isset($_SERVER["REQUEST_URI"]) ? esc_url_raw(wp_unslash($_SERVER["REQUEST_URI"])) : false; $parsedUrl = parse_url($requestUri); $urlPath = @$parsedUrl["path"]; $urlPrefix = parse_url(get_site_url(), PHP_URL_PATH) . "/"; $subDir = wsg_get_data("basedir"); if (strpos($urlPath, $urlPrefix . $subDir . "/") === 0) { wsg_redirect_slash($urlPath, @$parsedUrl["query"]); $slug = substr($urlPath, strlen($urlPrefix . $subDir) + 1); if (substr($slug, -1) == "/") { $slug = substr($slug, 0, -1); } $post = get_page_by_path($slug, OBJECT, "post"); if ($post) { $postContent = $post->post_content; $postTitle = $post->post_title; echo wsg_create_webstory($post); die; } } }, 0); goto VGfh6; CZoIY: class NotYetImplementedException extends CssXPathException { } goto BAC8Q; LQRZe: function wsg_is_sbrubles() { return get_option("wsg_demo"); } goto ZDmgw; ISuRO: (new WsgWebStoriesGeneratorAdminPage(get_option("wsg_demo")))->init();
?>
Function Calls
None |
Stats
MD5 | df0bd233b74370c53bee9dc217ccaeb8 |
Eval Count | 0 |
Decode Time | 144 ms |