[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fRFNW7U5DHAANvGYuwkilob7GlDq60saylXYmNU4Vxfw":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":62,"crawl_stats":37,"alternatives":68,"analysis":161,"fingerprints":1243},"weather-atlas","Weather Atlas Widget","3.0.4","Weather Atlas","https:\u002F\u002Fprofiles.wordpress.org\u002Fweatheratlas\u002F","\u003Cp>\u003Cstrong>The Weather Widget with the Most Active Installations on WordPress.org\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>NEW FEATURE!\u003C\u002Fstrong>\u003Cbr \u002F>\nENHANCE YOUR WEBSITE BY DEDICATING AN ENTIRE PAGE TO THE WEATHER.\u003C\u002Fp>\n\u003Cp>In addition to all relevant weather information, the widget has the option to display\u003Cbr \u002F>\n\u003Cstrong>DETAILED TEXTUAL DAILY AND LONG-TERM\u003C\u002Fstrong> weather forecast.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full page demo (live sites example)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fstormandoutage.com\u002Fweather-center\u002F\" rel=\"nofollow ugc\">stormandoutage.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Widget demo (live sites example)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.marbella-tennis-lessons.com\u002Fen\u002Ftennis-weather\u002F\" rel=\"nofollow ugc\">marbella-tennis-lessons.com\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.morethangolfmarrakech.co.uk\u002Fdependableweather\u002F\" rel=\"nofollow ugc\">morethangolfmarrakech.co.uk\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.airciu.com\u002F\" rel=\"nofollow ugc\">airciu.com\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fballinghambolstonehentland-pc.gov.uk\u002F\" rel=\"nofollow ugc\">ballinghambolstonehentland-pc.gov.uk\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fpanarbora.de\u002F\" rel=\"nofollow ugc\">panarbora.de\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Ftheamericanmag.com\u002F\" rel=\"nofollow ugc\">theamericanmag.com\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Flindos-weddings-venue.com\u002F\" rel=\"nofollow ugc\">lindos-weddings-venue.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Weather Atlas Widget is:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Highly Customizable: Modify design to present data in various forms incl. languages and units\u003C\u002Fli>\n\u003Cli>Responsive: Automatically adapts appearance for mobile displays, ensuring optimal viewing on any device\u003C\u002Fli>\n\u003Cli>Smart: Background and borders change according to current temperature; widget’s font size adjusts to match the website’s font and page placement\u003C\u002Fli>\n\u003Cli>Beautiful: Elegant weather condition icons are simple and adapt in size, color, and shades to the widget’s text\u003C\u002Fli>\n\u003Cli>Simple: All options are easy-to-change, and, above all, Weather information is presented in a clear and concise way\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Responsive Web Design: Adapts to mobile displays\u003C\u002Fli>\n\u003Cli>Easy Styling: Effortlessly styles to suit your theme\u003C\u002Fli>\n\u003Cli>Weather Icons: Visually appealing and informative\u003C\u002Fli>\n\u003Cli>Comprehensive Data: Current conditions, hourly, and long-term forecast\u003C\u002Fli>\n\u003Cli>Detailed Forecast: In-depth weather information\u003C\u002Fli>\n\u003Cli>Flexible Placement: Suitable for content or sidebar\u003C\u002Fli>\n\u003Cli>Global Reach: Covers worldwide locations\u003C\u002Fli>\n\u003Cli>Multilingual and Unit Support: Accommodates multiple languages and units\u003C\u002Fli>\n\u003Cli>Multiple Widgets Option: Allows for multiple simultanious widget implementations\u003C\u002Fli>\n\u003Cli>Simple Setup: Easy to configure and use\u003Cbr \u002F>\nand\u003C\u002Fli>\n\u003Cli>Key-Free Operation: No need to register for keys; the widget just works 🙂\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Responsive Web Design\u003C\u002Fh4>\n\u003Cp>When placed in a horizontal layout (e.g., within an article), the widget reformats to a vertical layout on mobile devices.\u003Cbr \u002F>\nDetails of the current condition (such as feels-like temperature, wind, humidity, pressure, UV index) and forecasts extending beyond 3 hours\u002Fdays are hidden on mobile devices to maintain an uncluttered appearance and preserve the design on narrow displays.\u003C\u002Fp>\n\u003Ch4>Easy Styling\u003C\u002Fh4>\n\u003Cp>Choose from two predefined layouts (vertical and horizontal) and customize the widget to fit your website.\u003Cbr \u002F>\nFont size can be manually set (in px, pt, em, rem, %, etc.) to override the automatic adjustment to the website’s font size and page placement.\u003Cbr \u002F>\nBackground color, which adapts to the current temperature, can be set to a fixed color, including transparency options.\u003Cbr \u002F>\nText color, automatically optimized for contrast against the background, can also be manually overridden.\u003C\u002Fp>\n\u003Ch4>Weather Icons\u003C\u002Fh4>\n\u003Cp>The weather condition icons are elegantly designed, simple, and adapt in size, color, and shade to match the widget’s text.\u003C\u002Fp>\n\u003Ch4>Comprehensive Data\u003C\u002Fh4>\n\u003Cp>Select from a range of weather information, including current conditions, hourly, and long-term forecasts.\u003Cbr \u002F>\nCurrent conditions display temperature, weather icon, feels-like temperature, wind, humidity, pressure, UV index, and sunrise\u002Fsunset times.\u003Cbr \u002F>\nHourly forecasts provide up to 5 hours of temperature predictions with weather icons, while the daily forecast offers up to 5 days of high\u002Flow temperatures and weather conditions.\u003C\u002Fp>\n\u003Ch4>Versatile Placement\u003C\u002Fh4>\n\u003Cp>The Weather Atlas Widget is designed for flexibility, allowing placement either in a sidebar or within the main content of your site.\u003Cbr \u002F>\nIt supports integration through user-friendly Gutenberg blocks or via a simple shortcode option, offering versatility and ease of use within your WordPress site.\u003C\u002Fp>\n\u003Ch4>Worldwide Locations\u003C\u002Fh4>\n\u003Cp>Access over 800,000 locations from 238 countries and territories. Your location is likely included 🙂\u003C\u002Fp>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cp>The widget automatically selects the language based on your site’s language settings (Settings \u002F General \u002F Site Language).\u003Cbr \u002F>\nIf a local translation is unavailable, it defaults to English.\u003Cbr \u002F>\nLocal translations can be updated for further customization.\u003C\u002Fp>\n\u003Ch4>Units\u003C\u002Fh4>\n\u003Cp>Weather data is displayed in either the Imperial (°F, in, mi) or Metric system (°C, mb, mm, km).\u003C\u002Fp>\n\u003Ch4>Multiple Widgets Option\u003C\u002Fh4>\n\u003Cp>Multiple widgets can be placed on the same page, each with individual settings and operating independently.\u003Cbr \u002F>\nThe widgets display cached weather data from your database and periodically update from our service, ensuring no slowdown to your website.\u003C\u002Fp>\n\u003Ch4>Easy Setup\u003C\u002Fh4>\n\u003Cp>All options are straightforward to configure. For further assistance, please visit our \u003Ca href=\"..\u002Fplugins\u002Fweather-atlas\u002F#faq\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa> and then drop us a line in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fweather-atlas\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Key-Free Setup\u003C\u002Fh4>\n\u003Cp>No registration is required for the widget to function\u003C\u002Fp>\n\u003Ch4>Tags\u003C\u002Fh4>\n\u003Cp>weather, weather widget, forecast, location, weather atlas\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fweather-atlas\" rel=\"ugc\">Support\u003C\u002Fa>\u003Cbr \u002F>\n  For any inquiries about implementing or customizing the widget, or if you have suggestions for improvements and new features, feel free to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fweather-atlas#new-topic-0\" rel=\"ugc\">reach out on our support forum\u003C\u002Fa>. We are dedicated to assisting every user with installation (which is rarely needed) and seamlessly integrating the widget into their website. Your feedback also helps us enhance the widget in future updates, incorporating the most requested features.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fweather-atlas\u002Freviews\u002F\" rel=\"ugc\">Reviews\u003C\u002Fa>\u003Cbr \u002F>\n  A little bit of \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XpqqjU7u5Yc\" rel=\"nofollow ugc\">love\u003C\u002Fa> never hurt nobody.\u003Cbr \u002F>\n  If you like our work (or not), please \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fweather-atlas\u002Freviews\u002F#new-topic-0\" rel=\"ugc\">let us, and the world know\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","The Weather Widget with the Most Active Installations. Highly customizable, simple & beautiful. Detailed current weather, hourly & daily forecasts",9000,179380,82,41,"2025-07-04T13:45:00.000Z","6.8.5","4.0","",[20,21,22,4,23],"forecast","location","weather","weather-widget","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fweather-atlas\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fweather-atlas.zip",99,2,0,"2024-11-18 00:00:00","2026-03-15T15:16:48.613Z",[32,48],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2024-52472","weather-atlas-widget-unauthenticated-cross-site-scripting","Weather Atlas Widget \u003C= 3.0.3 - Unauthenticated Cross-Site Scripting","The Weather Atlas Widget plugin for WordPress is vulnerable to Cross-Site Scripting in all versions up to, and including, 3.0.3 due to insufficient input sanitization and output escaping. This makes it possible forunauthenticated attackers to inject arbitrary web scripts that execute in a victim's browser.",null,"\u003C=3.0.3","3.04","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-07-08 15:13:55",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F09c4412f-69ea-4214-ae07-6b6b8ff1c101?source=api-prod",233,{"id":49,"url_slug":50,"title":51,"description":52,"plugin_slug":4,"theme_slug":37,"affected_versions":53,"patched_in_version":54,"severity":40,"cvss_score":55,"cvss_vector":56,"vuln_type":43,"published_date":57,"updated_date":58,"references":59,"days_to_patch":61},"CVE-2023-5163","weather-atlas-widget-authenticated-contributor-stored-cross-site-scripting-via-shortcode","Weather Atlas Widget \u003C= 1.2.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode","The Weather Atlas Widget plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'shortcode-weather-atlas' shortcode in versions up to, and including, 1.2.1 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers with contributor-level and above permissions to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=1.2.1","2.0.0",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2023-10-29 00:00:00","2024-01-22 19:56:02",[60],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fc2324caa-f804-4f76-9d08-8951fbee4669?source=api-prod",86,{"slug":63,"display_name":7,"profile_url":8,"plugin_count":64,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":65,"trust_score":66,"computed_at":67},"weatheratlas",1,160,78,"2026-04-04T15:37:48.402Z",[69,87,109,123,141],{"slug":70,"name":71,"version":72,"author":73,"author_profile":74,"description":75,"short_description":76,"active_installs":77,"downloaded":78,"rating":28,"num_ratings":28,"last_updated":79,"tested_up_to":16,"requires_at_least":80,"requires_php":18,"tags":81,"homepage":84,"download_link":85,"security_score":86,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"free-weather","Free Weather","1.0.0","weather25","https:\u002F\u002Fprofiles.wordpress.org\u002Fweather25\u002F","\u003Cp>The best free weather forecast widget plugin!\u003C\u002Fp>\n\u003Cp>Weather25.com offers an accurate weather forecast for all cities around the world.\u003Cbr \u002F>\nJust set the city and country and embed the widget in your website\u002Fblog.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widgets are free of charge\u003C\u002Fli>\n\u003Cli>Widget style can be customized\u003C\u002Fli>\n\u003Cli>Responsive weather widget\u003C\u002Fli>\n\u003Cli>No development skills are needed\u003C\u002Fli>\n\u003Cli>High performance and lightweight code\u003C\u002Fli>\n\u003Cli>SEO friendly – no iframes\u003C\u002Fli>\n\u003Cli>Select your display language\u003C\u002Fli>\n\u003Cli>Block editor \u002F Shortcode support \u002F Classic Widgets \u002F Legacy widgets\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>** For special customization requests, please contact this mail -> dev@weather25.com\u003C\u002Fp>\n\u003Cp>The weather plugin is relying on a 3rd party as a service, the widget is using weather services provided by weather25.com.\u003Cbr \u002F>\n* Service provider link – https:\u002F\u002Fwww.weather25.com\u003Cbr \u002F>\n* Service provider terms of use link – https:\u002F\u002Fwww.weather25.com\u002Fterms\u003Cbr \u002F>\n* Service privacy policy link – https:\u002F\u002Fwww.weather25.com\u002Fprivacy\u003C\u002Fp>\n\u003Ch3>Easy Installation\u003C\u002Fh3>\n\u003Cp>There are several options for installation\u003C\u002Fp>\n\u003Ch3>Block Editor\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Open the Block Editor for the post or page where you want the widget.\u003C\u002Fli>\n\u003Cli>Add the “Free Weather Widget” block.\u003C\u002Fli>\n\u003Cli>Customize the widget settings as desired.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Insert \u003Ccode>[weather city=\"Rome\" country=\"Italy\"]\u003C\u002Fcode> into your content, replacing \u003Ccode>CityName\u003C\u002Fcode> and \u003Ccode>CountryName\u003C\u002Fcode> with your location.\u003C\u002Fp>\n\u003Ch3>Classic Widgets\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Ccode>Appearance > Widgets\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Add the “Free Weather Widget” to your sidebar.\u003C\u002Fli>\n\u003Cli>Configure the settings and save.\u003C\u002Fli>\n\u003C\u002Fol>\n","Add a free 6-day weather forecast widget to your site. Clean design, accurate data — perfect for blogs, news, or travel websites.",300,3686,"2025-05-08T09:47:00.000Z","4.0.1",[70,22,82,83,23],"weather-forecast","weather-plugin","https:\u002F\u002Fwww.weather25.com\u002Fwidgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffree-weather.1.0.0.zip",100,{"slug":88,"name":89,"version":90,"author":91,"author_profile":92,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":97,"num_ratings":98,"last_updated":99,"tested_up_to":100,"requires_at_least":101,"requires_php":18,"tags":102,"homepage":106,"download_link":107,"security_score":108,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"australian-weather-widget-willyweather","Australian Weather Widget – WillyWeather","1.5","WillyWeather","https:\u002F\u002Fprofiles.wordpress.org\u002Fwillyweather\u002F","\u003Cp>The most accurate Australian weather widgets, with data provided by the Bureau of Meteorology (BoM). Willyweather weather widgets come in many different shapes and sizes, you can choose your own colours, and select from multiple weather types such as Weather, Wind, Rain, Swell, Tides, UV, Sun and Moon.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Accurate Australian data provided by the BoM.\u003C\u002Fli>\n\u003Cli>Beautiful retina graphics with stylish animations.\u003C\u002Fli>\n\u003Cli>Powered by the same WillyWeather API that was built for the award winning \u003Ca href=\"https:\u002F\u002Fitunes.apple.com\u002Fau\u002Fapp\u002Fwillyweather\u002Fid592978502\" rel=\"nofollow ugc\">WillyWeather iPhone app\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Choose from a wide selection of widget shapes and sizes:\n\u003Cul>\n\u003Cli>Sidebar\u003C\u002Fli>\n\u003Cli>Full Page\u003C\u002Fli>\n\u003Cli>Leaderboard\u003C\u002Fli>\n\u003Cli>Thin bar\u003C\u002Fli>\n\u003Cli>High bar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Choose your own colours to suit your website.\u003C\u002Fli>\n\u003Cli>Adjust the width of any of the widgets to suit your website.\u003C\u002Fli>\n\u003Cli>Scrollable wind and swell graphs (sidebar and full page).\u003C\u002Fli>\n\u003Cli>Add any of the weather types below to a sidebar or full page widget, selected via tabs.\n\u003Cul>\n\u003Cli>Weather\u003C\u002Fli>\n\u003Cli>Wind\u003C\u002Fli>\n\u003Cli>Tides\u003C\u002Fli>\n\u003Cli>Swell\u003C\u002Fli>\n\u003Cli>Rain\u003C\u002Fli>\n\u003Cli>UV\u003C\u002Fli>\n\u003Cli>Sun\u003C\u002Fli>\n\u003Cli>Moon\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Change tab ordering via drag and drop (the first weather type in the list will be the default).\u003C\u002Fli>\n\u003Cli>Choose a fixed location or add a search facility.\u003C\u002Fli>\n\u003Cli>Choose from a database of over 17,000 Australian locations.\u003C\u002Fli>\n\u003Cli>Update the widget at any time.\u003C\u002Fli>\n\u003C\u002Ful>\n","Australian weather widgets for Wordpress, with the latest data sourced from the Bureau of Meteorology (BoM). Custom designs to suit any website.",200,9060,98,7,"2017-10-16T05:59:00.000Z","4.8.28","3.6.1",[103,104,82,23,105],"bom-widget","bureau-of-meteorology","willyweather-widget","http:\u002F\u002Fwillyweather.com.au\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faustralian-weather-widget-willyweather.1.5.zip",85,{"slug":110,"name":111,"version":90,"author":91,"author_profile":92,"description":112,"short_description":113,"active_installs":95,"downloaded":114,"rating":115,"num_ratings":116,"last_updated":117,"tested_up_to":100,"requires_at_least":101,"requires_php":18,"tags":118,"homepage":121,"download_link":122,"security_score":108,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"us-weather-widget-willyweather","US Weather Widget – WillyWeather","\u003Cp>The most accurate US weather widgets, with data provided by the National Oceanic and Atmospheric Administration (NOAA). Willyweather weather widgets come in many different shapes and sizes, you can choose your own colors, and select from multiple weather types such as Weather, Wind, Rain, Swell, Tides, UV, Sun and Moon.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Accurate US data provided by NOAA.\u003C\u002Fli>\n\u003Cli>Beautiful retina graphics with stylish animations.\u003C\u002Fli>\n\u003Cli>Powered by the same WillyWeather API that was built for the award winning \u003Ca href=\"https:\u002F\u002Fitunes.apple.com\u002Fapp\u002Fwillyweather\u002Fid592978502\" rel=\"nofollow ugc\">WillyWeather iPhone app\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Choose from a wide selection of widget shapes and sizes:\n\u003Cul>\n\u003Cli>Sidebar\u003C\u002Fli>\n\u003Cli>Full Page\u003C\u002Fli>\n\u003Cli>Leaderboard\u003C\u002Fli>\n\u003Cli>Thin bar\u003C\u002Fli>\n\u003Cli>High bar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Choose your own colors to suit your website.\u003C\u002Fli>\n\u003Cli>Adjust the width of any of the widgets to suit your website.\u003C\u002Fli>\n\u003Cli>Scrollable wind and swell graphs (sidebar and full page).\u003C\u002Fli>\n\u003Cli>Add any of the weather types below to a sidebar or full page widget, selected via tabs.\n\u003Cul>\n\u003Cli>Weather\u003C\u002Fli>\n\u003Cli>Wind\u003C\u002Fli>\n\u003Cli>Tides\u003C\u002Fli>\n\u003Cli>Swell\u003C\u002Fli>\n\u003Cli>Rain\u003C\u002Fli>\n\u003Cli>UV\u003C\u002Fli>\n\u003Cli>Sun\u003C\u002Fli>\n\u003Cli>Moon\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Change tab ordering via drag and drop (the first weather type in the list will be the default).\u003C\u002Fli>\n\u003Cli>Choose a fixed location or add a search facility.\u003C\u002Fli>\n\u003Cli>Choose from a database of over 180,000 US locations.\u003C\u002Fli>\n\u003Cli>Update the widget at any time.\u003C\u002Fli>\n\u003C\u002Ful>\n","US weather widgets for Wordpress, with the latest data sourced from NOAA. Custom designs to suit any website.",10135,70,6,"2017-10-16T23:48:00.000Z",[119,120,82,23,105],"noaa-widget","observations","http:\u002F\u002Fwillyweather.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fus-weather-widget-willyweather.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":95,"downloaded":131,"rating":132,"num_ratings":133,"last_updated":134,"tested_up_to":16,"requires_at_least":135,"requires_php":18,"tags":136,"homepage":139,"download_link":140,"security_score":86,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"weather-forecast-widget","Weather Forecast Widget","1.1.7","adminbergtourentipptirol","https:\u002F\u002Fprofiles.wordpress.org\u002Fadminbergtourentipptirol\u002F","\u003Ch4>GENERAL\u003C\u002Fh4>\n\u003Cp>The weather data for this widget will be retrieved from the \u003Ca href=\"https:\u002F\u002Fopenweathermap.org\u002Fapi\" rel=\"nofollow ugc\">OpenWeatherMap API\u003C\u002Fa> with your own API key.\u003C\u002Fp>\n\u003Ch4>OPENWEATHERMAP API\u003C\u002Fh4>\n\u003Cp>⚠️ \u003Cstrong>Important Note:\u003C\u002Fstrong> OpenWeatherMap has transitioned from version One Call API 2.5 to the new \u003Cstrong>One Call API 3.0\u003C\u002Fstrong>.\u003Cbr \u002F>\nAs of now, \u003Cstrong>usage of the API is no longer possible without adding valid billing information (e.g. a credit card)\u003C\u002Fstrong> to your OpenWeatherMap account – even for the free tier.\u003C\u002Fp>\n\u003Cp>This means that the \u003Cstrong>Weather Widget will not work anymore\u003C\u002Fstrong> unless:\u003Cbr \u002F>\n– you switch to the new \u003Cstrong>One Call 3.0 API\u003C\u002Fstrong>, and\u003Cbr \u002F>\n– you have a valid payment method on file in your OpenWeatherMap account.\u003C\u002Fp>\n\u003Cp>🔒 \u003Cstrong>Recommendation:\u003C\u002Fstrong>\u003Cbr \u002F>\nTo avoid unexpected charges, it is highly recommended to set a \u003Cstrong>billing cap \u002F usage limit\u003C\u002Fstrong> in your OpenWeatherMap account under \u003Ca href=\"https:\u002F\u002Fhome.openweathermap.org\u002Fplans\" rel=\"nofollow ugc\">Billing Plans\u003C\u002Fa> after adding a payment method.\u003C\u002Fp>\n\u003Cp>For pricing details and limits, visit: \u003Ca href=\"https:\u002F\u002Fopenweathermap.org\u002Fprice\" rel=\"nofollow ugc\">Pricing – OpenWeatherMap\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>INPUT DATA\u003C\u002Fh4>\n\u003Cp>You can show the weather for a \u003Cstrong>CITY\u003C\u002Fstrong> (input data: city name) or for specific \u003Cstrong>COORDINATES\u003C\u002Fstrong> (input data: latitude & longitude coordinates) in the widget.\u003C\u002Fp>\n\u003Ch4>PLACEMENT\u002FSHORTCODE\u003C\u002Fh4>\n\u003Cp>The weather widget can be implemented in a page, a post or into the widget area with the help of the shortcode \u003Cstrong>[weather_forecast_widget]\u003C\u002Fstrong>. Furthermore you´ll be able to pass different attributes to each shortcode to override your settings for this widget placement (e.g. manage widget title with an shortcode attribute).\u003C\u002Fp>\n\u003Ch4>TEMPLATES\u003C\u002Fh4>\n\u003Cp>Currently you can choose 3 templates for the widget.\u003Cbr \u002F>\n* \u003Cstrong>Template 1\u003C\u002Fstrong>\u003Cbr \u002F>\n    * Current day´s weather with a weather forecast for the next 3 days\u003Cbr \u002F>\n* \u003Cstrong>Template 2\u003C\u002Fstrong>\u003Cbr \u002F>\n    * \u003Cstrong>Template 2 uses Bootstrap!\u003C\u002Fstrong>\u003Cbr \u002F>\n    * Current day´s weather with an hourly weather forecast and a weather forecast for the next 3 days\u003Cbr \u002F>\n* \u003Cstrong>Template 3\u003C\u002Fstrong>\u003Cbr \u002F>\n    * \u003Cstrong>Template 3 uses Bootstrap!\u003C\u002Fstrong>\u003Cbr \u002F>\n    * Weather for the current day and for the next 7 days, each with an hourly weather forecast and a weather forecast for the next 3 days\u003Cbr \u002F>\n* \u003Cstrong>Alert Template 1\u003C\u002Fstrong>\u003Cbr \u002F>\n    * \u003Cstrong>Alert Template 1 uses Bootstrap!\u003C\u002Fstrong>\u003Cbr \u002F>\n    * Active weather alerts\u003C\u002Fp>\n\u003Ch4>BACKGROUND IMAGE\u003C\u002Fh4>\n\u003Cp>For this widget, you´ll be able to choose \u003Cstrong>your own background image\u003C\u002Fstrong>. Either you set a static background image in the widget settings or you choose the dynamic variant (thumbnail of the page\u002Fpost, where the shortcode is placed) will be used as a background image.\u003C\u002Fp>\n\u003Ch4>WEATHER DATA\u003C\u002Fh4>\n\u003Cp>In addition to the \u003Cstrong>daily weather forecast\u003C\u002Fstrong>, an \u003Cstrong>hourly weather forecast\u003C\u002Fstrong> can also be displayed in the widget. Both the daily and hourly weather forecast can be collapsed.\u003C\u002Fp>\n\u003Ch4>WEATHER ALERTS\u003C\u002Fh4>\n\u003Cp>The weather widget also shows weather alerts. These alerts are dismissable.\u003C\u002Fp>\n\u003Ch4>WEATHER ICONS\u003C\u002Fh4>\n\u003Cp>In the widget you´ll find awesome and beautiful weather icons. In the plugins settings page you can choose which weather icons you want to use for the widget.\u003Cbr \u002F>\n* \u003Cstrong>Animated Icons Filled\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Animated Icons Not Filled\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Static Icons\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>LAZY LOADING\u003C\u002Fh4>\n\u003Cp>You have the possibility to load the widget with \u003Cstrong>lazy loading\u003C\u002Fstrong> (ajax) to load the data only when necessary.\u003C\u002Fp>\n\u003Ch4>CACHING\u003C\u002Fh4>\n\u003Cp>Nowadays \u003Cstrong>caching\u003C\u002Fstrong> is an important topic. This weather forecast widget makes it possible to cache the received weather data for the next visitor, who will visit your website page\u002Fpost next time. You´ll be able to set your desired caching time in the settings (caching time possible up to 1 hour => this should ensure that the weather data in the widget is as current as possible). With this caching possibility you´ll also save API calls.\u003C\u002Fp>\n\u003Ch4>SHORTCODE EXAMPLES\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Retrieve weather data for a city\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget city=”Kufstein”]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Retrieve weather data for a city and show city name as title text\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget city=”Kufstein” title_cityname=”X”]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Retrieve weather data for specific coordinates\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget lat=”47.5824″ lon=”12.1627″]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Retrieve weather data for specific coordinates and show “Weather for Weather Widget” as title text\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget lat=”47.5824″ lon=”12.1627″ title_overwrite=”Weather for Weather Widget”]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Retrieve weather data with lazy loading and template 3 for specific coordinates and expand the hourly and daily forecast initially\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget lazy_loading=”X” template=”3″ hourly_forecast=”show” daily_forecast=”show” lat=”47.5824″ lon=”12.1627″]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Retrieve weather alerts with lazy loading and alert template 1 for specific coordinates and expand the weather alerts initially\n\u003Cul>\n\u003Cli>\u003Cstrong>[weather_forecast_widget lazy_loading=”X” template=”alert_1″ alerts=”show” lat=”47.5824″ lon=”12.1627″ max_width=”500px”]\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SETTINGS\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Input box for your \u003Cstrong>OPEN WEATHER MAP API key\u003C\u002Fstrong> (the api key will be tested for validity while saving!)\u003C\u002Fli>\n\u003Cli>Dropdown box to choose if caching of the weather data is necessary and if yes, which \u003Cstrong>CACHE TIME\u003C\u002Fstrong> should be used.\u003C\u002Fli>\n\u003Cli>Media uploader\u002Fselector to choose a \u003Cstrong>BACKGROUND IMAGE\u003C\u002Fstrong> for the widget (optional – otherwise the page\u002Fpost thumbnail will be used)\u003C\u002Fli>\n\u003Cli>Radiobuttons to select the \u003Cstrong>WIDGET TITLE TEXT\u003C\u002Fstrong>, which will be displayed in the widget. This setting will be used as \u003Cstrong>a default if nothing else will be passed in the shortcode\u003C\u002Fstrong>. If you´ll pass \u003Cstrong>title_cityname\u003C\u002Fstrong> or \u003Cstrong>title_overwrite\u003C\u002Fstrong> as a shortcode attribute, this attribute will be processed in the widget output.\u003C\u002Fli>\n\u003Cli>Dropdown to choose the \u003Cstrong>POST META FIELD\u003C\u002Fstrong> for the title text, if you selected the readio button “\u003Cstrong>Post Meta Field (choose one of the dropdown below)\u003C\u002Fstrong>“\u003C\u002Fli>\n\u003Cli>Choose, which \u003Cstrong>WEATHER VALUES\u003C\u002Fstrong> should be shown in the widget\u003C\u002Fli>\n\u003Cli>Choose, which \u003Cstrong>UNITS\u003C\u002Fstrong> should be used to display the weather values\u003C\u002Fli>\n\u003Cli>Choose, which \u003Cstrong>WEATHER ICONS\u003C\u002Fstrong> should be used for the widget\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>TRANSLATIONS\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>German – adminbergtourentipptirol\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Static Weather Icons provided from \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ferikflowers\u002Fweather-icons\" rel=\"nofollow ugc\">Erik Flowers Weather Icons\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Animated Weather Icons provided from \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbasmilius\u002Fweather-icons\" rel=\"nofollow ugc\">Basmilius Weather Icons\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n","\"Weather Forecast Widget\" displays current weather and hourly\u002Fdaily forecasts in a widget using a shortcode.",6666,80,3,"2025-08-02T18:33:00.000Z","3.0.1",[137,138,22,82,23],"openweathermap","shortcode","https:\u002F\u002Fwww.bergtourentipp-tirol.at","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fweather-forecast-widget.1.1.7.zip",{"slug":142,"name":143,"version":144,"author":145,"author_profile":146,"description":147,"short_description":148,"active_installs":149,"downloaded":150,"rating":86,"num_ratings":64,"last_updated":151,"tested_up_to":152,"requires_at_least":153,"requires_php":154,"tags":155,"homepage":158,"download_link":159,"security_score":160,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"visualcrossing-weather-forecast","Visual Crossing Weather Forecast – Real-Time Weather & Forecast Widget","1.0.2","srhelwig","https:\u002F\u002Fprofiles.wordpress.org\u002Fsrhelwig\u002F","\u003Cp>Display professional weather forecasts anywhere on your WordPress website with the Visual Crossing Weather Forecast plugin. Powered by the industry-leading Visual Crossing Weather API, this plugin delivers accurate, real-time weather data through beautifully designed widgets. Perfect for travel websites, event planners, local businesses, and news portals. Show detailed forecasts including temperature, precipitation, wind conditions, and more using simple shortcodes. Choose from multiple display styles, customize forecast periods, and select your preferred unit system. With global coverage, responsive design, and regular updates, give your visitors the weather information they need, exactly where they need it.\u003C\u002Fp>\n\u003Ch4>⭐ Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Global Coverage\u003C\u002Fstrong>: Display weather forecasts for any location worldwide\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Display Modes\u003C\u002Fstrong>: Choose between Simple and D3 visualization styles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Forecast Range\u003C\u002Fstrong>: Show weather predictions from 1 to any number of days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Units\u003C\u002Fstrong>: Switch between US and Metric measurements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong>: Beautiful on all devices and screen sizes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Integration\u003C\u002Fstrong>: Simple shortcode implementation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fast Loading\u003C\u002Fstrong>: Optimized for performance\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regular Updates\u003C\u002Fstrong>: Continuous improvements and compatibility updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🎯 Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Travel and Tourism Websites\u003C\u002Fli>\n\u003Cli>Outdoor Event Planning\u003C\u002Fli>\n\u003Cli>Local Business Sites\u003C\u002Fli>\n\u003Cli>News and Information Portals\u003C\u002Fli>\n\u003Cli>Sports and Recreation Venues\u003C\u002Fli>\n\u003Cli>Educational Institutions\u003C\u002Fli>\n\u003Cli>Weather-Dependent Businesses\u003C\u002Fli>\n\u003Cli>Personal and Local Blogs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔧 Professional Weather Data\u003C\u002Fh4>\n\u003Cp>Powered by \u003Ca href=\"https:\u002F\u002Fwww.visualcrossing.com\u002Fweather-data\" rel=\"nofollow ugc\">Visual Crossing Weather API\u003C\u002Fa>, trusted by developers and businesses worldwide for:\u003Cbr \u002F>\n* Accurate weather forecasts\u003Cbr \u002F>\n* Historical weather data\u003Cbr \u002F>\n* Real-time conditions\u003Cbr \u002F>\n* Global coverage\u003Cbr \u002F>\n* Reliable API service\u003C\u002Fp>\n\u003Ch4>💡 Easy to Use Shortcodes\u003C\u002Fh4>\n\u003Cp>Basic Usage:\u003Cbr \u002F>\n    [weather]\u003C\u002Fp>\n\u003Cp>Advanced Usage:\u003Cbr \u002F>\n    [weather loc=”London, UK” days=”4″ mode=”d3″ unit=”metric”]\u003C\u002Fp>\n\u003Ch4>🌟 Premium Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Unlimited API calls\u003C\u002Fli>\n\u003Cli>Priority support\u003C\u002Fli>\n\u003Cli>Advanced weather metrics\u003C\u002Fli>\n\u003Cli>Historical data access\u003C\u002Fli>\n\u003Cli>Custom styling options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcode Parameters\u003C\u002Fh3>\n\u003Ch4>Basic Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>loc\u003C\u002Fstrong>: Location or address (e.g., “New York, NY” or “London, UK”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>days\u003C\u002Fstrong>: Number of forecast days (1-7, default: 7)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>mode\u003C\u002Fstrong>: Display mode (“simple” or “d3”, default: “simple”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>unit\u003C\u002Fstrong>: Temperature unit (“US” or “metric”, default: “US”)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>title\u003C\u002Fstrong>: Custom widget title (default: “Weather Forecast”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>showtitle\u003C\u002Fstrong>: Show\u002Fhide title (“yes” or “no”, default: “yes”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>conditions\u003C\u002Fstrong>: Show\u002Fhide detailed conditions (“yes” or “no”, default: “yes”)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Visual Crossing Weather API to fetch weather data. No personal data is collected or stored. For more information, visit \u003Ca href=\"https:\u002F\u002Fwww.visualcrossing.com\u002Fprivacy\" rel=\"nofollow ugc\">Visual Crossing Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualcrossing.com\u002Fresources\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualcrossing.com\u002Fweather-data-editions\" rel=\"nofollow ugc\">API Support\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fvisualcrossing-weather-forecast\u002F\" rel=\"ugc\">Plugin Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Display professional, real-time weather forecasts and conditions from Visual Crossing Weather API anywhere on your WordPress website.",50,3671,"2025-01-30T07:00:00.000Z","6.7.5","5.0","7.4",[22,156,82,157,23],"weather-api","weather-shortcode","https:\u002F\u002Fwww.visualcrossing.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvisualcrossing-weather-forecast.1.0.2.zip",92,{"attackSurface":162,"codeSignals":222,"taintFlows":1195,"riskAssessment":1231,"analyzedAt":1242},{"hooks":163,"ajaxHandlers":206,"restRoutes":207,"shortcodes":216,"cronEvents":221,"entryPointCount":27,"unprotectedCount":64},[164,170,174,179,184,188,192,195,197,200,202],{"type":165,"name":166,"callback":167,"file":168,"line":169},"action","admin_menu","plugin_admin_menu","admin\\class-weather-atlas-admin.php",51,{"type":165,"name":171,"callback":172,"file":168,"line":173},"admin_init","admin_init_actions",57,{"type":175,"name":176,"callback":177,"file":168,"line":178},"filter","plugin_action_links_weather-atlas\u002Fweather-atlas.php","function_weather_atlas_plugin_action_links",314,{"type":165,"name":180,"callback":181,"file":182,"line":183},"rest_api_init","register_routes","block\\class-weather-atlas-rest-api.php",8,{"type":165,"name":185,"callback":186,"file":187,"line":86},"init","register_gutenberg_block","includes\\class-weather-atlas.php",{"type":165,"name":189,"callback":190,"file":187,"line":191},"plugins_loaded","anonymous",163,{"type":165,"name":193,"callback":190,"file":187,"line":194},"admin_enqueue_scripts",176,{"type":165,"name":193,"callback":190,"file":187,"line":196},177,{"type":165,"name":198,"callback":190,"file":187,"line":199},"wp_enqueue_scripts",190,{"type":165,"name":198,"callback":190,"file":187,"line":201},191,{"type":165,"name":203,"callback":204,"file":187,"line":205},"widgets_init","register_widgets",217,[],[208],{"namespace":209,"route":210,"methods":211,"callback":213,"permissionCallback":214,"file":182,"line":215},"weather-atlas\u002Fv1","\u002Fwidgets",[212],"GET","get_weather_widgets","__return_true",17,[217],{"tag":218,"callback":219,"file":187,"line":220},"shortcode-weather-atlas","handle_shortcode",1063,[],{"dangerousFunctions":223,"sqlUsage":228,"outputEscaping":234,"fileOperations":28,"externalRequests":64,"nonceChecks":27,"capabilityChecks":133,"bundledLibraries":1194},[224],{"fn":225,"file":168,"line":226,"context":227},"unserialize",296,"update_option( $new_widget_id, unserialize( $example ) );",{"prepared":116,"raw":64,"locations":229},[230],{"file":231,"line":232,"context":233},"includes\\class-weather-atlas-deactivator.php",34,"$wpdb->query() with variable interpolation",{"escaped":235,"rawEcho":236,"locations":237},140,498,[238,242,244,245,248,250,252,254,256,258,260,262,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,298,299,300,302,304,306,307,309,311,313,315,317,319,321,323,325,326,328,330,332,334,336,338,339,341,343,345,346,348,350,351,353,355,357,359,361,363,365,367,368,369,371,373,375,377,379,380,382,384,386,388,390,392,394,396,398,400,402,404,405,407,409,411,413,415,417,419,420,422,423,425,426,428,430,431,432,434,435,436,438,440,441,443,445,447,449,451,452,453,454,455,456,458,460,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,560,562,564,566,567,569,571,572,574,576,578,580,582,584,586,588,590,592,594,596,597,598,600,602,604,606,608,610,612,614,616,618,620,622,623,624,626,628,630,632,634,636,638,640,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787,789,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,830,832,834,836,837,839,841,843,845,847,849,851,853,855,857,859,861,863,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192],{"file":239,"line":240,"context":241},"admin\\weather-atlas-settings.php",12,"raw output",{"file":239,"line":243,"context":241},38,{"file":239,"line":169,"context":241},{"file":246,"line":247,"context":241},"admin\\weather-atlas-widget.php",27,{"file":246,"line":249,"context":241},101,{"file":246,"line":251,"context":241},102,{"file":246,"line":253,"context":241},121,{"file":246,"line":255,"context":241},156,{"file":257,"line":108,"context":241},"admin\\weather-atlas.php",{"file":257,"line":259,"context":241},88,{"file":257,"line":261,"context":241},89,{"file":257,"line":26,"context":241},{"file":257,"line":264,"context":241},105,{"file":187,"line":266,"context":241},575,{"file":187,"line":268,"context":241},580,{"file":187,"line":270,"context":241},636,{"file":187,"line":272,"context":241},907,{"file":187,"line":274,"context":241},908,{"file":187,"line":276,"context":241},911,{"file":187,"line":278,"context":241},922,{"file":187,"line":280,"context":241},923,{"file":187,"line":282,"context":241},926,{"file":187,"line":284,"context":241},937,{"file":187,"line":286,"context":241},938,{"file":187,"line":288,"context":241},941,{"file":187,"line":290,"context":241},1034,{"file":187,"line":292,"context":241},1051,{"file":294,"line":133,"context":241},"languages\\language_conditions.en.php",{"file":294,"line":296,"context":241},5,{"file":294,"line":116,"context":241},{"file":294,"line":98,"context":241},{"file":294,"line":183,"context":241},{"file":294,"line":301,"context":241},9,{"file":294,"line":303,"context":241},10,{"file":294,"line":305,"context":241},11,{"file":294,"line":215,"context":241},{"file":294,"line":308,"context":241},18,{"file":294,"line":310,"context":241},19,{"file":294,"line":312,"context":241},20,{"file":294,"line":314,"context":241},21,{"file":294,"line":316,"context":241},22,{"file":294,"line":318,"context":241},23,{"file":294,"line":320,"context":241},24,{"file":294,"line":322,"context":241},25,{"file":294,"line":324,"context":241},26,{"file":294,"line":247,"context":241},{"file":294,"line":327,"context":241},28,{"file":294,"line":329,"context":241},29,{"file":294,"line":331,"context":241},30,{"file":294,"line":333,"context":241},31,{"file":294,"line":335,"context":241},32,{"file":294,"line":337,"context":241},33,{"file":294,"line":232,"context":241},{"file":294,"line":340,"context":241},35,{"file":294,"line":342,"context":241},36,{"file":294,"line":344,"context":241},37,{"file":294,"line":243,"context":241},{"file":294,"line":347,"context":241},39,{"file":294,"line":349,"context":241},40,{"file":294,"line":14,"context":241},{"file":294,"line":352,"context":241},42,{"file":294,"line":354,"context":241},43,{"file":294,"line":356,"context":241},44,{"file":294,"line":358,"context":241},45,{"file":294,"line":360,"context":241},46,{"file":294,"line":362,"context":241},47,{"file":294,"line":364,"context":241},48,{"file":294,"line":366,"context":241},49,{"file":294,"line":149,"context":241},{"file":294,"line":169,"context":241},{"file":294,"line":370,"context":241},52,{"file":294,"line":372,"context":241},53,{"file":294,"line":374,"context":241},54,{"file":294,"line":376,"context":241},55,{"file":294,"line":378,"context":241},56,{"file":294,"line":173,"context":241},{"file":294,"line":381,"context":241},58,{"file":294,"line":383,"context":241},59,{"file":294,"line":385,"context":241},60,{"file":294,"line":387,"context":241},61,{"file":294,"line":389,"context":241},62,{"file":294,"line":391,"context":241},63,{"file":294,"line":393,"context":241},64,{"file":294,"line":395,"context":241},65,{"file":294,"line":397,"context":241},66,{"file":294,"line":399,"context":241},67,{"file":294,"line":401,"context":241},68,{"file":294,"line":403,"context":241},69,{"file":294,"line":115,"context":241},{"file":294,"line":406,"context":241},71,{"file":294,"line":408,"context":241},72,{"file":294,"line":410,"context":241},73,{"file":294,"line":412,"context":241},74,{"file":294,"line":414,"context":241},75,{"file":294,"line":416,"context":241},76,{"file":294,"line":418,"context":241},77,{"file":294,"line":66,"context":241},{"file":294,"line":421,"context":241},79,{"file":294,"line":132,"context":241},{"file":294,"line":424,"context":241},81,{"file":294,"line":13,"context":241},{"file":294,"line":427,"context":241},83,{"file":294,"line":429,"context":241},84,{"file":294,"line":108,"context":241},{"file":294,"line":61,"context":241},{"file":294,"line":433,"context":241},87,{"file":294,"line":259,"context":241},{"file":294,"line":261,"context":241},{"file":294,"line":437,"context":241},90,{"file":294,"line":439,"context":241},91,{"file":294,"line":160,"context":241},{"file":294,"line":442,"context":241},93,{"file":294,"line":444,"context":241},94,{"file":294,"line":446,"context":241},95,{"file":294,"line":448,"context":241},96,{"file":294,"line":450,"context":241},97,{"file":294,"line":97,"context":241},{"file":294,"line":26,"context":241},{"file":294,"line":86,"context":241},{"file":294,"line":249,"context":241},{"file":294,"line":251,"context":241},{"file":294,"line":457,"context":241},103,{"file":294,"line":459,"context":241},104,{"file":294,"line":264,"context":241},{"file":294,"line":462,"context":241},106,{"file":294,"line":464,"context":241},107,{"file":294,"line":466,"context":241},108,{"file":294,"line":468,"context":241},109,{"file":294,"line":470,"context":241},110,{"file":294,"line":472,"context":241},111,{"file":294,"line":474,"context":241},112,{"file":294,"line":476,"context":241},113,{"file":294,"line":478,"context":241},114,{"file":294,"line":480,"context":241},115,{"file":294,"line":482,"context":241},116,{"file":294,"line":484,"context":241},117,{"file":294,"line":486,"context":241},118,{"file":294,"line":488,"context":241},119,{"file":294,"line":490,"context":241},120,{"file":294,"line":253,"context":241},{"file":294,"line":493,"context":241},122,{"file":294,"line":495,"context":241},123,{"file":294,"line":497,"context":241},124,{"file":294,"line":499,"context":241},125,{"file":294,"line":501,"context":241},126,{"file":294,"line":503,"context":241},127,{"file":294,"line":505,"context":241},128,{"file":294,"line":507,"context":241},129,{"file":294,"line":509,"context":241},130,{"file":294,"line":511,"context":241},131,{"file":294,"line":513,"context":241},132,{"file":294,"line":515,"context":241},133,{"file":294,"line":517,"context":241},134,{"file":294,"line":519,"context":241},135,{"file":294,"line":521,"context":241},136,{"file":294,"line":523,"context":241},137,{"file":294,"line":525,"context":241},138,{"file":294,"line":527,"context":241},139,{"file":294,"line":235,"context":241},{"file":294,"line":530,"context":241},141,{"file":294,"line":532,"context":241},142,{"file":294,"line":534,"context":241},143,{"file":294,"line":536,"context":241},144,{"file":294,"line":538,"context":241},145,{"file":294,"line":540,"context":241},146,{"file":294,"line":542,"context":241},147,{"file":294,"line":544,"context":241},148,{"file":294,"line":546,"context":241},149,{"file":294,"line":548,"context":241},150,{"file":294,"line":550,"context":241},151,{"file":294,"line":552,"context":241},152,{"file":294,"line":554,"context":241},153,{"file":294,"line":556,"context":241},154,{"file":294,"line":558,"context":241},155,{"file":294,"line":255,"context":241},{"file":294,"line":561,"context":241},157,{"file":294,"line":563,"context":241},158,{"file":294,"line":565,"context":241},159,{"file":294,"line":65,"context":241},{"file":294,"line":568,"context":241},161,{"file":294,"line":570,"context":241},162,{"file":294,"line":191,"context":241},{"file":294,"line":573,"context":241},164,{"file":294,"line":575,"context":241},165,{"file":294,"line":577,"context":241},166,{"file":294,"line":579,"context":241},167,{"file":294,"line":581,"context":241},168,{"file":294,"line":583,"context":241},169,{"file":294,"line":585,"context":241},170,{"file":294,"line":587,"context":241},171,{"file":294,"line":589,"context":241},172,{"file":294,"line":591,"context":241},173,{"file":294,"line":593,"context":241},174,{"file":294,"line":595,"context":241},175,{"file":294,"line":194,"context":241},{"file":294,"line":196,"context":241},{"file":294,"line":599,"context":241},178,{"file":294,"line":601,"context":241},179,{"file":294,"line":603,"context":241},180,{"file":294,"line":605,"context":241},181,{"file":294,"line":607,"context":241},182,{"file":294,"line":609,"context":241},183,{"file":294,"line":611,"context":241},184,{"file":294,"line":613,"context":241},185,{"file":294,"line":615,"context":241},186,{"file":294,"line":617,"context":241},187,{"file":294,"line":619,"context":241},188,{"file":294,"line":621,"context":241},189,{"file":294,"line":199,"context":241},{"file":294,"line":201,"context":241},{"file":294,"line":625,"context":241},192,{"file":294,"line":627,"context":241},193,{"file":294,"line":629,"context":241},194,{"file":294,"line":631,"context":241},195,{"file":294,"line":633,"context":241},196,{"file":294,"line":635,"context":241},197,{"file":294,"line":637,"context":241},198,{"file":294,"line":639,"context":241},199,{"file":294,"line":95,"context":241},{"file":294,"line":642,"context":241},201,{"file":294,"line":644,"context":241},202,{"file":294,"line":646,"context":241},203,{"file":294,"line":648,"context":241},204,{"file":294,"line":650,"context":241},205,{"file":294,"line":652,"context":241},206,{"file":294,"line":654,"context":241},207,{"file":294,"line":656,"context":241},208,{"file":294,"line":658,"context":241},209,{"file":294,"line":660,"context":241},210,{"file":294,"line":662,"context":241},211,{"file":294,"line":664,"context":241},212,{"file":294,"line":666,"context":241},213,{"file":294,"line":668,"context":241},214,{"file":294,"line":670,"context":241},215,{"file":294,"line":672,"context":241},216,{"file":294,"line":205,"context":241},{"file":294,"line":675,"context":241},218,{"file":294,"line":677,"context":241},219,{"file":294,"line":679,"context":241},220,{"file":294,"line":681,"context":241},221,{"file":294,"line":683,"context":241},222,{"file":294,"line":685,"context":241},223,{"file":294,"line":687,"context":241},224,{"file":294,"line":689,"context":241},225,{"file":294,"line":691,"context":241},226,{"file":294,"line":693,"context":241},227,{"file":294,"line":695,"context":241},228,{"file":294,"line":697,"context":241},229,{"file":294,"line":699,"context":241},230,{"file":294,"line":701,"context":241},231,{"file":294,"line":703,"context":241},232,{"file":294,"line":47,"context":241},{"file":294,"line":706,"context":241},234,{"file":294,"line":708,"context":241},235,{"file":294,"line":710,"context":241},236,{"file":294,"line":712,"context":241},237,{"file":294,"line":714,"context":241},238,{"file":294,"line":716,"context":241},239,{"file":294,"line":718,"context":241},240,{"file":294,"line":720,"context":241},241,{"file":294,"line":722,"context":241},242,{"file":294,"line":724,"context":241},243,{"file":294,"line":726,"context":241},244,{"file":294,"line":728,"context":241},245,{"file":294,"line":730,"context":241},246,{"file":294,"line":732,"context":241},247,{"file":294,"line":734,"context":241},248,{"file":294,"line":736,"context":241},249,{"file":294,"line":738,"context":241},250,{"file":294,"line":740,"context":241},251,{"file":294,"line":742,"context":241},252,{"file":294,"line":744,"context":241},253,{"file":294,"line":746,"context":241},254,{"file":294,"line":748,"context":241},255,{"file":294,"line":750,"context":241},256,{"file":294,"line":752,"context":241},257,{"file":294,"line":754,"context":241},258,{"file":294,"line":756,"context":241},259,{"file":294,"line":758,"context":241},260,{"file":294,"line":760,"context":241},261,{"file":294,"line":762,"context":241},262,{"file":294,"line":764,"context":241},263,{"file":294,"line":766,"context":241},264,{"file":294,"line":768,"context":241},265,{"file":294,"line":770,"context":241},266,{"file":294,"line":772,"context":241},267,{"file":294,"line":774,"context":241},268,{"file":294,"line":776,"context":241},269,{"file":294,"line":778,"context":241},270,{"file":294,"line":780,"context":241},271,{"file":294,"line":782,"context":241},272,{"file":294,"line":784,"context":241},273,{"file":294,"line":786,"context":241},274,{"file":294,"line":788,"context":241},275,{"file":294,"line":790,"context":241},276,{"file":294,"line":792,"context":241},277,{"file":294,"line":794,"context":241},278,{"file":294,"line":796,"context":241},279,{"file":294,"line":798,"context":241},280,{"file":294,"line":800,"context":241},281,{"file":294,"line":802,"context":241},282,{"file":294,"line":804,"context":241},283,{"file":294,"line":806,"context":241},284,{"file":294,"line":808,"context":241},285,{"file":294,"line":810,"context":241},286,{"file":294,"line":812,"context":241},287,{"file":294,"line":814,"context":241},288,{"file":294,"line":816,"context":241},289,{"file":294,"line":818,"context":241},290,{"file":294,"line":820,"context":241},291,{"file":294,"line":822,"context":241},292,{"file":294,"line":824,"context":241},293,{"file":294,"line":826,"context":241},294,{"file":294,"line":828,"context":241},295,{"file":294,"line":226,"context":241},{"file":294,"line":831,"context":241},297,{"file":294,"line":833,"context":241},298,{"file":294,"line":835,"context":241},299,{"file":294,"line":77,"context":241},{"file":294,"line":838,"context":241},301,{"file":294,"line":840,"context":241},302,{"file":294,"line":842,"context":241},303,{"file":294,"line":844,"context":241},304,{"file":294,"line":846,"context":241},305,{"file":294,"line":848,"context":241},306,{"file":294,"line":850,"context":241},307,{"file":294,"line":852,"context":241},308,{"file":294,"line":854,"context":241},309,{"file":294,"line":856,"context":241},310,{"file":294,"line":858,"context":241},311,{"file":294,"line":860,"context":241},312,{"file":294,"line":862,"context":241},313,{"file":294,"line":178,"context":241},{"file":294,"line":865,"context":241},315,{"file":294,"line":867,"context":241},316,{"file":294,"line":869,"context":241},317,{"file":294,"line":871,"context":241},318,{"file":294,"line":873,"context":241},319,{"file":294,"line":875,"context":241},320,{"file":294,"line":877,"context":241},321,{"file":294,"line":879,"context":241},322,{"file":294,"line":881,"context":241},323,{"file":294,"line":883,"context":241},324,{"file":294,"line":885,"context":241},325,{"file":294,"line":887,"context":241},326,{"file":294,"line":889,"context":241},327,{"file":294,"line":891,"context":241},328,{"file":294,"line":893,"context":241},329,{"file":294,"line":895,"context":241},330,{"file":294,"line":897,"context":241},331,{"file":294,"line":899,"context":241},332,{"file":294,"line":901,"context":241},333,{"file":294,"line":903,"context":241},334,{"file":294,"line":905,"context":241},335,{"file":294,"line":907,"context":241},336,{"file":294,"line":909,"context":241},337,{"file":294,"line":911,"context":241},338,{"file":294,"line":913,"context":241},339,{"file":294,"line":915,"context":241},340,{"file":294,"line":917,"context":241},341,{"file":294,"line":919,"context":241},342,{"file":294,"line":921,"context":241},343,{"file":294,"line":923,"context":241},344,{"file":294,"line":925,"context":241},345,{"file":294,"line":927,"context":241},346,{"file":294,"line":929,"context":241},347,{"file":294,"line":931,"context":241},348,{"file":294,"line":933,"context":241},349,{"file":294,"line":935,"context":241},350,{"file":294,"line":937,"context":241},351,{"file":294,"line":939,"context":241},352,{"file":294,"line":941,"context":241},353,{"file":294,"line":943,"context":241},354,{"file":294,"line":945,"context":241},355,{"file":294,"line":947,"context":241},356,{"file":294,"line":949,"context":241},357,{"file":294,"line":951,"context":241},358,{"file":294,"line":953,"context":241},359,{"file":294,"line":955,"context":241},360,{"file":294,"line":957,"context":241},361,{"file":294,"line":959,"context":241},362,{"file":294,"line":961,"context":241},363,{"file":294,"line":963,"context":241},364,{"file":294,"line":965,"context":241},365,{"file":294,"line":967,"context":241},366,{"file":294,"line":969,"context":241},367,{"file":294,"line":971,"context":241},368,{"file":294,"line":973,"context":241},369,{"file":294,"line":975,"context":241},370,{"file":294,"line":977,"context":241},371,{"file":294,"line":979,"context":241},372,{"file":294,"line":981,"context":241},373,{"file":294,"line":983,"context":241},374,{"file":294,"line":985,"context":241},375,{"file":294,"line":987,"context":241},376,{"file":294,"line":989,"context":241},377,{"file":294,"line":991,"context":241},378,{"file":294,"line":993,"context":241},379,{"file":294,"line":995,"context":241},380,{"file":294,"line":997,"context":241},381,{"file":294,"line":999,"context":241},382,{"file":294,"line":1001,"context":241},383,{"file":294,"line":1003,"context":241},384,{"file":294,"line":1005,"context":241},385,{"file":294,"line":1007,"context":241},386,{"file":294,"line":1009,"context":241},387,{"file":294,"line":1011,"context":241},388,{"file":294,"line":1013,"context":241},389,{"file":294,"line":1015,"context":241},390,{"file":294,"line":1017,"context":241},391,{"file":294,"line":1019,"context":241},392,{"file":294,"line":1021,"context":241},393,{"file":294,"line":1023,"context":241},394,{"file":294,"line":1025,"context":241},395,{"file":294,"line":1027,"context":241},396,{"file":294,"line":1029,"context":241},397,{"file":294,"line":1031,"context":241},398,{"file":294,"line":1033,"context":241},399,{"file":294,"line":1035,"context":241},400,{"file":294,"line":1037,"context":241},401,{"file":294,"line":1039,"context":241},402,{"file":294,"line":1041,"context":241},403,{"file":294,"line":1043,"context":241},404,{"file":294,"line":1045,"context":241},405,{"file":294,"line":1047,"context":241},406,{"file":294,"line":1049,"context":241},407,{"file":294,"line":1051,"context":241},408,{"file":294,"line":1053,"context":241},409,{"file":294,"line":1055,"context":241},410,{"file":294,"line":1057,"context":241},411,{"file":294,"line":1059,"context":241},412,{"file":294,"line":1061,"context":241},413,{"file":294,"line":1063,"context":241},414,{"file":294,"line":1065,"context":241},415,{"file":294,"line":1067,"context":241},416,{"file":294,"line":1069,"context":241},417,{"file":294,"line":1071,"context":241},418,{"file":294,"line":1073,"context":241},419,{"file":294,"line":1075,"context":241},420,{"file":294,"line":1077,"context":241},421,{"file":294,"line":1079,"context":241},422,{"file":294,"line":1081,"context":241},423,{"file":294,"line":1083,"context":241},424,{"file":294,"line":1085,"context":241},425,{"file":294,"line":1087,"context":241},426,{"file":294,"line":1089,"context":241},427,{"file":294,"line":1091,"context":241},428,{"file":294,"line":1093,"context":241},429,{"file":294,"line":1095,"context":241},430,{"file":294,"line":1097,"context":241},431,{"file":294,"line":1099,"context":241},432,{"file":294,"line":1101,"context":241},433,{"file":294,"line":1103,"context":241},434,{"file":294,"line":1105,"context":241},435,{"file":294,"line":1107,"context":241},436,{"file":294,"line":1109,"context":241},437,{"file":294,"line":1111,"context":241},438,{"file":294,"line":1113,"context":241},439,{"file":294,"line":1115,"context":241},440,{"file":294,"line":1117,"context":241},441,{"file":294,"line":1119,"context":241},442,{"file":294,"line":1121,"context":241},443,{"file":294,"line":1123,"context":241},444,{"file":294,"line":1125,"context":241},445,{"file":294,"line":1127,"context":241},446,{"file":294,"line":1129,"context":241},447,{"file":294,"line":1131,"context":241},448,{"file":294,"line":1133,"context":241},449,{"file":294,"line":1135,"context":241},450,{"file":294,"line":1137,"context":241},451,{"file":294,"line":1139,"context":241},452,{"file":294,"line":1141,"context":241},453,{"file":294,"line":1143,"context":241},454,{"file":294,"line":1145,"context":241},455,{"file":294,"line":1147,"context":241},456,{"file":294,"line":1149,"context":241},457,{"file":294,"line":1151,"context":241},458,{"file":294,"line":1153,"context":241},459,{"file":294,"line":1155,"context":241},460,{"file":294,"line":1157,"context":241},461,{"file":294,"line":1159,"context":241},462,{"file":294,"line":1161,"context":241},463,{"file":294,"line":1163,"context":241},464,{"file":294,"line":1165,"context":241},465,{"file":294,"line":1167,"context":241},466,{"file":294,"line":1169,"context":241},467,{"file":294,"line":1171,"context":241},468,{"file":294,"line":1173,"context":241},469,{"file":294,"line":1175,"context":241},470,{"file":294,"line":1177,"context":241},471,{"file":294,"line":1179,"context":241},472,{"file":294,"line":1181,"context":241},473,{"file":294,"line":1183,"context":241},474,{"file":294,"line":1185,"context":241},475,{"file":294,"line":1187,"context":241},476,{"file":294,"line":1189,"context":241},477,{"file":294,"line":1191,"context":241},478,{"file":294,"line":1193,"context":241},479,[],[1196,1221],{"entryPoint":1197,"graph":1198,"unsanitizedCount":28,"severity":1220},"\u003Cweather-atlas-widget> (admin\\weather-atlas-widget.php:0)",{"nodes":1199,"edges":1216},[1200,1204,1209,1212],{"id":1201,"type":1202,"label":1203,"file":246,"line":303},"n0","source","$_GET (x2)",{"id":1205,"type":1206,"label":1207,"file":246,"line":410,"wp_function":1208},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":1210,"type":1202,"label":1211,"file":246,"line":303},"n2","$_GET (x3)",{"id":1213,"type":1206,"label":1214,"file":246,"line":253,"wp_function":1215},"n3","echo() [XSS]","echo",[1217,1219],{"from":1201,"to":1205,"sanitized":1218},true,{"from":1210,"to":1213,"sanitized":1218},"low",{"entryPoint":1222,"graph":1223,"unsanitizedCount":133,"severity":1220},"\u003Cweather-atlas> (admin\\weather-atlas.php:0)",{"nodes":1224,"edges":1228},[1225,1227],{"id":1201,"type":1202,"label":1211,"file":257,"line":1226},15,{"id":1205,"type":1206,"label":1214,"file":257,"line":108,"wp_function":1215},[1229],{"from":1201,"to":1205,"sanitized":1230},false,{"summary":1232,"deductions":1233},"The \"weather-atlas\" v3.0.4 plugin exhibits a mixed security posture. While it demonstrates good practices in areas like SQL query preparation and has no currently unpatched CVEs, there are significant concerns stemming from its attack surface and output escaping. The presence of one unprotected REST API route is a critical vulnerability, as it provides an entry point for attackers without proper authentication. Additionally, the low percentage (22%) of properly escaped outputs suggests a high likelihood of Cross-Site Scripting (XSS) vulnerabilities, which are also reflected in its vulnerability history. The use of `unserialize` is a red flag, as it can lead to remote code execution if not handled with extreme caution and proper validation. The plugin's history of medium severity XSS vulnerabilities reinforces the concern about inadequate output sanitization.\n\nWhile the plugin has a reasonable number of capability checks and nonce checks, and its SQL queries are largely prepared, the identified unprotected REST API route and the widespread issue with output escaping present immediate and substantial risks. The lack of critical or high severity taint flows is positive, but the potential for XSS due to poor escaping remains a pressing issue. The plugin's strength lies in its relatively clean history of unpatched vulnerabilities and its use of prepared SQL statements, but these are overshadowed by the direct attack vectors and potential for data injection through unescaped output.",[1234,1236,1238,1240],{"reason":1235,"points":1226},"REST API route without permission callback",{"reason":1237,"points":303},"Low percentage of properly escaped output",{"reason":1239,"points":183},"Dangerous function: unserialize",{"reason":1241,"points":303},"Medium severity vulnerabilities in history (XSS)","2026-03-16T17:52:19.969Z",{"wat":1244,"direct":1258},{"assetPaths":1245,"generatorPatterns":1251,"scriptPaths":1252,"versionParams":1253},[1246,1247,1248,1249,1250],"\u002Fwp-content\u002Fplugins\u002Fweather-atlas\u002Fadmin\u002Fcss\u002Fweather-atlas-admin.min.css","\u002Fwp-content\u002Fplugins\u002Fweather-atlas\u002Fpublic\u002Fcss\u002Fweather-atlas-public.min.css","\u002Fwp-content\u002Fplugins\u002Fweather-atlas\u002Fpublic\u002Ffont\u002Fweather-icons\u002Fweather-icons.min.css","\u002Fwp-content\u002Fplugins\u002Fweather-atlas\u002Fadmin\u002Fjs\u002Fweather-atlas-admin.min.js","\u002Fwp-content\u002Fplugins\u002Fweather-atlas\u002Fadmin\u002Fjs\u002Fwp-color-picker-alpha.min.js",[],[1249,1250],[1254,1255,1256,1257],"weather-atlas-admin?ver=","weather-atlas-public?ver=","weather-icons?ver=","wp-color-picker-alpha?ver=",{"cssClasses":1259,"htmlComments":1266,"htmlAttributes":1271,"restEndpoints":1275,"jsGlobals":1278,"shortcodeOutput":1281},[1260,1261,1262,1263,1264,1265],"weather-atlas-admin-wrap","weather-atlas-widget-settings","weather-atlas-location-form","weather-atlas-location-list","weather-atlas-widget-preview","weather-atlas-forecast-widget",[1267,1268,1269,1268,1270],"\u003C!-- admin menu hook -->","\u003C!-- Settings page -->","\u003C!-- Add New Location page -->","\u003C!-- Initialize color pickers -->",[1272,1273,1274],"data-weather-atlas-location","data-weather-atlas-api-key","data-weather-atlas-widget-id",[1276,1277],"\u002Fwp-json\u002Fweather-atlas\u002Fv1\u002Flocations","\u002Fwp-json\u002Fweather-atlas\u002Fv1\u002Fsettings",[1279,1280],"WeatherAtlasAdmin","WeatherAtlasPublic",[1282,1283],"[weather_atlas_widget]","[weather_atlas_forecast]"]