[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fkUfNrSwn3f5Zzwh7zMnDrDgCjKONvSR5SkV1-OHhdgU":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":16,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":146,"fingerprints":298},"stn-save-to-nextcloud","STN- SAVE TO NEXTCLOUD","2.4.6","Dave DELALLEAU","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavelopweb\u002F","\u003Cp>Ce plugin est un outil simple et efficace pour sauvegarder votre site WordPress et sa base de données directement sur votre compte NextCloud. Avec celui-ci, vous pouvez définir les paramètres pour créer des copies régulières de votre site, incluant la fréquence et le moment de l’opération.\u003C\u002Fp>\n\u003Cp>Une fois que vous avez configuré les paramètres, le plugin fonctionnera automatiquement en arrière-plan pour créer des sauvegardes de votre site et de sa base de données selon votre planning. Les sauvegardes sont stockées directement sur votre compte NextCloud, vous permettant ainsi d’y accéder de n’importe où, à tout moment.\u003C\u002Fp>\n\u003Cp>Ce plugin est facile à installer et à configurer, et il offre une solution de sauvegarde complète pour protéger votre site contre la perte de données en cas de problème technique ou de piratage. En choisissant ce plugin, vous pouvez avoir l’esprit tranquille en sachant que votre site est en sécurité.\u003C\u002Fp>\n\u003Cp>ATTENTION : la restauration automatique des sauvegardes n’est pas encore possible, il faudra le faire manuellement en remplaçant les fichiers sur l’hébergement et en restaurant la BDD.\u003C\u002Fp>\n\u003Ch3>Links\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdavelopweb.fr\u002F\" rel=\"nofollow ugc\">Knowledge Base\u003C\u002Fa>\u003C\u002Fp>\n","Ce plugin est un outil simple et efficace pour sauvegarder votre site WordPress et sa base de données directement sur votre compte NextCloud.",70,3675,0,"2024-09-06T08:51:00.000Z","6.5.8","","7.3",[19,20,21,22,23],"davelopweb","nextcloud","save","stn","webdav","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstn-save-to-nextcloud.zip",92,null,"2026-03-15T15:16:48.613Z",[],{"slug":19,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},1,30,88,"2026-04-05T19:06:16.094Z",[35,54,76,99,123],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":13,"downloaded":43,"rating":13,"num_ratings":13,"last_updated":44,"tested_up_to":45,"requires_at_least":46,"requires_php":47,"tags":48,"homepage":16,"download_link":52,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"luzid-backup-to-nextcloud","Luzid Backup to Nextcloud","1.2.10","luzidmedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fluzidmedia\u002F","\u003Cp>\u003Cstrong>Luzid Backup to Nextcloud\u003C\u002Fstrong> uploads your existing WordPress backup files to a Nextcloud folder via WebDAV.\u003C\u002Fp>\n\u003Cp>It is designed for two main workflows:\u003C\u002Fp>\n\u003Cp>1) \u003Cstrong>Automate offsite copies\u003C\u002Fstrong>: upload backup archives on a schedule (WordPress Cron)\u003Cbr \u002F>\n2) \u003Cstrong>Manual runs + monitoring\u003C\u002Fstrong>: start uploads manually and follow progress + logs\u003C\u002Fp>\n\u003Cp>Typical use cases:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Keep an offsite copy of backup archives generated by popular backup plugins.\u003C\u002Fli>\n\u003Cli>Upload backups to a structured Nextcloud folder (per source).\u003C\u002Fli>\n\u003Cli>Reduce storage usage with optional rotation (keep only the last N backup sets per source).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Core concepts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Sources\u003C\u002Fstrong>: each source represents a folder where backup files are created (UpdraftPlus, BackWPup, … or custom).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upload\u003C\u002Fstrong>: the plugin scans sources for backup files and uploads them to Nextcloud.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schedule\u003C\u002Fstrong>: optional daily\u002Fweekly\u002Fmonthly runs at a fixed time (WordPress Cron; traffic-dependent).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rotation\u003C\u002Fstrong>: keep the newest N backup sets and remove older ones on Nextcloud.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Reporting\u003C\u002Fstrong>: get notified on successful or failed transfers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Nextcloud WebDAV connection (URL, username, app password)\u003C\u002Fli>\n\u003Cli>Multiple backup sources (known plugins + custom)\u003C\u002Fli>\n\u003Cli>File filters by extension\u003C\u002Fli>\n\u003Cli>Manual upload with progress modal\u003C\u002Fli>\n\u003Cli>Scheduled runs: Daily, Weekly, or Monthly (WordPress Cron)\u003C\u002Fli>\n\u003Cli>Email notifications for successful\u002Ffailed transfers\u003C\u002Fli>\n\u003Cli>Logs viewer + clear logs\u003C\u002Fli>\n\u003Cli>Rotation \u002F retention (keep last N backup sets)\u003C\u002Fli>\n\u003Cli>German \u002F English admin UI\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Configure Nextcloud\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Enter your WebDAV base URL (must end with \u003Ccode>\u002F\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>Enter username + \u003Cstrong>Nextcloud App Password\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Set a target folder name.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save & Test\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Configure sources\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Enable one or more sources.\u003C\u002Fli>\n\u003Cli>Adjust local paths (if needed).\u003C\u002Fli>\n\u003Cli>Set file extensions to include (comma-separated).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Schedule + rotation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Enable the schedule and set a time.\u003C\u002Fli>\n\u003Cli>Enable rotation and choose how many backup sets to keep.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Cstrong>GNU General Public License v2.0 or later\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Assets:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Logo + flag icons are shipped as SVG assets in \u003Ccode>assets\u002Fimg\u002F\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Upload WordPress backup files to Nextcloud via WebDAV, with optional rotation and retention management.",174,"2026-03-13T09:42:00.000Z","6.9.4","5.8","7.4",[49,50,20,51,23],"backup","cron","rotation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluzid-backup-to-nextcloud.1.2.10.zip",100,{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":64,"num_ratings":65,"last_updated":66,"tested_up_to":45,"requires_at_least":67,"requires_php":47,"tags":68,"homepage":74,"download_link":75,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"imsanity","Imsanity","2.9.0","nosilver4u","https:\u002F\u002Fprofiles.wordpress.org\u002Fnosilver4u\u002F","\u003Cp>Automatically resize huge image uploads with Imsanity. Choose whatever size and quality you like, and let Imsanity do the rest.  When a contributor uploads an image that is larger than the configured size, Imsanity will automatically scale it down to the configured size and replace the original image.\u003C\u002Fp>\n\u003Cp>Imsanity also provides a bulk-resize feature to resize previously uploaded images and free up disk space. You may resize individual images from the Media Library’s List View.\u003C\u002Fp>\n\u003Cp>This plugin is ideal for blogs that do not require hi-resolution original images to be stored and\u002For the contributors don’t want (or understand how) to scale images before uploading.\u003C\u002Fp>\n\u003Cp>You may report security issues through our Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage and handle any security vulnerabilities. \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fvdp\u002Fimsanity\" rel=\"nofollow ugc\">Report a security vulnerability.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically scales large image uploads to a more “sane” size\u003C\u002Fli>\n\u003Cli>Bulk resize feature to resize existing images\u003C\u002Fli>\n\u003Cli>Selectively resize images directly in the Media Library (List View)\u003C\u002Fli>\n\u003Cli>Allows configuration of max width\u002Fheight and JPG quality\u003C\u002Fli>\n\u003Cli>Optionally converts BMP and PNG files to JPG for more savings\u003C\u002Fli>\n\u003Cli>Once enabled, Imsanity requires no actions on the part of the user\u003C\u002Fli>\n\u003Cli>Uses WordPress built-in image scaling functions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Imsanity is available in several languages, each of which will be downloaded automatically when you install the plugin. To help translate it into your language, visit https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fimsanity\u003C\u002Fp>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cp>Imsanity is developed at https:\u002F\u002Fgithub.com\u002Fnosilver4u\u002Fimsanity (pull requests are welcome)\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Originally written by Jason Hinkle (RIP). Maintained and developed by \u003Ca href=\"https:\u002F\u002Fewww.io\" rel=\"nofollow ugc\">Shane Bishop\u003C\u002Fa> with special thanks to my \u003Ca href=\"https:\u002F\u002Fwww.iamsecond.com\u002F\" rel=\"nofollow ugc\">Lord and Savior\u003C\u002Fa>.\u003C\u002Fp>\n","Automatically resizes huge image uploads. Are contributors uploading huge photos? Tired of manually resizing your images? Imsanity to the rescue!",200000,4453561,98,291,"2026-02-10T17:08:00.000Z","6.6",[69,70,71,72,73],"image","quality","resize","scale","space-saver","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimsanity\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimsanity.2.9.0.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":86,"num_ratings":87,"last_updated":88,"tested_up_to":45,"requires_at_least":89,"requires_php":16,"tags":90,"homepage":95,"download_link":96,"security_score":97,"vuln_count":30,"unpatched_count":13,"last_vuln_date":98,"fetched_at":27},"png-to-jpg","PNG to JPG","4.5","kubiq","https:\u002F\u002Fprofiles.wordpress.org\u002Fkubiq\u002F","\u003Cp>Convert PNG images to JPG, free up web space and speed up your webpage\u003C\u002Fp>\n\u003Cul>\n\u003Cli>set quality of converted JPG\u003C\u002Fli>\n\u003Cli>auto convert on upload\u003C\u002Fli>\n\u003Cli>auto convert on upload only when PNG has no transparency\u003C\u002Fli>\n\u003Cli>only convert image if JPG filesize is lower than PNG filesize\u003C\u002Fli>\n\u003Cli>leave original PNG images on the server\u003C\u002Fli>\n\u003Cli>convert existing PNG image to JPG\u003C\u002Fli>\n\u003Cli>bulk convert existing PNG images to JPG\u003C\u002Fli>\n\u003Cli>conversion statistics\u003C\u002Fli>\n\u003C\u002Ful>\n","Convert PNG images to JPG, free up web space and speed up your webpage",10000,152345,94,40,"2025-12-01T23:56:00.000Z","3.0.1",[91,69,92,93,94],"convert","media","optimize","save-space","https:\u002F\u002Fwp-speedup.eu","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpng-to-jpg.4.5.zip",99,"2022-05-06 13:18:00",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":109,"num_ratings":110,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":47,"tags":114,"homepage":120,"download_link":121,"security_score":97,"vuln_count":30,"unpatched_count":13,"last_vuln_date":122,"fetched_at":27},"pakkelabels-for-woocommerce","DEPRECATED – Shipmondo – A complete shipping solution for WooCommerce","5.0.8","Shipmondo","https:\u002F\u002Fprofiles.wordpress.org\u002Fpakkelabels\u002F","\u003Cp>\u003Cstrong>Important:\u003C\u002Fstrong> This plugin is now deprecated and will no longer be supported. To get access to new features, you should migrate to our new plugin.\u003C\u002Fp>\n\u003Cp>The new plugin can be found here: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshipmondo-for-woocommerce\u002F\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshipmondo-for-woocommerce\u002F\u003C\u002Fa> and the migration guide \u003Ca href=\"https:\u002F\u002Fhelp.shipmondo.com\u002Fen\u002Farticles\u002F13514947-woocommerce-migration-guide-to-the-new-delivery-checkout\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FjLjlPbCr-WI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Offer different delivery options in your checkout and handle your freight booking efficiently.\u003C\u002Fp>\n\u003Cp>Take your cargo to the next level. Let your customers choose a specific pick-up point from a list of the closest ones based on postcode. Set up shipping rules and delivery methods based on order amount, order weight, zip codes or number of items.\u003C\u002Fp>\n\u003Cp>Let your customers decide where, when, and how they want their parcel to be delivered. With Shipmondo Delivery Checkout you can, among other things, fix the shipping price according to different variables, offer free delivery, and let your customers choose between several carriers. You can also offer Click and Collect, and let your customers collect their orders at your doorstep.\u003C\u002Fp>\n\u003Cp>Create a free integration with Shipmondo, and get a complete and automated flow to handle shipping and orders. Manage your orders, shipping, and customs frictionlessly in a setup, where you can mass-create shipments and print shipping labels efficiently.\u003C\u002Fp>\n\u003Ch4>Functions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Access to multiple carriers in one plugin\u003C\u002Fli>\n\u003Cli>A list of nearest pick-up points\u003C\u002Fli>\n\u003Cli>Google Maps map of nearest delivery locations\u003C\u002Fli>\n\u003Cli>Delivery locations in several countries including: Denmark, Norway, Sweden, Finland, the Netherlands, Germany, Belgium and Luxembourg\u003C\u002Fli>\n\u003Cli>Shipping information stored on the order\u003C\u002Fli>\n\u003Cli>Complete order, customs, and freight solutions. Minimize time per order\u003C\u002Fli>\n\u003Cli>Supports multi-site stores\u003C\u002Fli>\n\u003Cli>Supports free shipping when using coupons\u003C\u002Fli>\n\u003Cli>Option to offer a “free shipping for orders over x-order amount.” function\u003C\u002Fli>\n\u003Cli>Option to set the shipping price based on the total weight\u002Fprice\u002Fnumber of items in the shopping cart\u003C\u002Fli>\n\u003Cli>Offer local pick-up, Click and Collect\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Carriers for Parcel-shop Collection\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Bring\u003C\u002Fli>\n\u003Cli>dao\u003C\u002Fli>\n\u003Cli>GLS\u003C\u002Fli>\n\u003Cli>PostNord\u003C\u002Fli>\n\u003Cli>DHL\u003C\u002Fli>\n\u003Cli>DB Schenker\u003C\u002Fli>\n\u003Cli>Other\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>All Supported Carriers\u003C\u002Fh4>\n\u003Cp>Airmee, Best Transport, Bring, Brink Transport, bPost, Budbee, Burd, DASCHER, Danske Fragtmænd, dao, Deutsche Post, DHL, Doorhub, DPD, DSV, Early Bird, FedEx, FREJA, GLS, helthjem, PostNord, Posti, PostNL, Swipbox, TNT, UPS, Xpressen, B2C Europe, Blue Water Shipping, Interfjord, GEODIS, United Broker, NTG and many more…\u003Cbr \u002F>\nSee all: \u003Ca href=\"https:\u002F\u002Fshipmondo.com\u002Fcarriers\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fshipmondo.com\u002Fcarriers\u002F\u003C\u002Fa>\u003C\u002Fp>\n","Shipmondo for WooCommerce – Provide pick-up points in checkout and manage shipping easily",6000,160207,60,8,"2026-01-27T09:29:00.000Z","6.7.5","6.2",[115,116,117,118,119],"bring","gls","postnord","shipmondo","shipping","https:\u002F\u002Fshipmondo.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpakkelabels-for-woocommerce.5.0.8.zip","2025-03-28 00:00:00",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":107,"downloaded":131,"rating":132,"num_ratings":133,"last_updated":134,"tested_up_to":135,"requires_at_least":136,"requires_php":16,"tags":137,"homepage":143,"download_link":144,"security_score":145,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"toolbar-publish-button","Toolbar Publish Button","1.8","webbistro","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebbistro\u002F","\u003Cp>Too often it turns out very inconvenient to scroll WordPress admin page back and forth in the quest for the big blue button to save latest changes.\u003C\u002Fp>\n\u003Cp>Simple jQuery script of this plugin duplicates Update \u002F Publish \u002F Save Changes \u002F Save Draft \u002F Preview Changes button for posts, pages, custom posts, taxonomies, user profiles, and settings to the top WordPress admin bar, so that it stays on site while you are scrolling your admin page. The plugin options allow to keep the scrollbar position after saving.\u003C\u002Fp>\n\u003Cp>The plugin is well-integrated with the Advanced Custom Fields, and capable to leave open ACF field groups after saving your edits.\u003C\u002Fp>\n\u003Cp>The plugin does not affect any native WordPress functionality, it just redirects your click to the original button, and uses the current button text, of course, with the current language.\u003C\u002Fp>\n\u003Ch4>Plugin options allow:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>to keep the scrollbar position after saving for admin pages including Plugins page on activation \u002F deactivation,\u003C\u002Fli>\n\u003Cli>to choose which buttons to show on the admin bar,\u003C\u002Fli>\n\u003Cli>to move buttons to the right side of the Toolbar,\u003C\u002Fli>\n\u003Cli>to set a background color for its buttons to highlight them.\u003C\u002Fli>\n\u003C\u002Ful>\n","Scroll less in WordPress admin area! A small UX improvement will keep Publish button within reach and retain the scrollbar position after saving.",91543,96,46,"2021-08-28T08:15:00.000Z","5.8.13","5.0",[138,139,140,141,142],"publish-button","save-button","scroll","scroll-less","wp-admin","https:\u002F\u002FwpUXsolutions.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftoolbar-publish-button.1.8.zip",85,{"attackSurface":147,"codeSignals":254,"taintFlows":281,"riskAssessment":282,"analyzedAt":297},{"hooks":148,"ajaxHandlers":215,"restRoutes":216,"shortcodes":229,"cronEvents":230,"entryPointCount":253,"unprotectedCount":253},[149,154,157,161,164,169,172,175,178,181,183,185,187,189,191,193,195,199,202,206,209,213],{"type":150,"name":151,"callback":151,"file":152,"line":153},"action","stn_Save","STN.php",416,{"type":150,"name":155,"callback":155,"file":152,"line":156},"stn_SaveInProgress",417,{"type":150,"name":158,"callback":159,"file":152,"line":160},"admin_post_ProgramSave","stn_ProgramSave",418,{"type":150,"name":162,"callback":151,"file":152,"line":163},"admin_post_saveNow",419,{"type":165,"name":166,"callback":167,"file":152,"line":168},"filter","auto_update_core","__return_true",458,{"type":165,"name":170,"callback":167,"file":152,"line":171},"auto_update_theme",459,{"type":165,"name":173,"callback":167,"file":152,"line":174},"auto_update_plugin",460,{"type":165,"name":176,"callback":167,"file":152,"line":177},"auto_update_translation",461,{"type":165,"name":166,"callback":179,"file":152,"line":180},"__return_false",463,{"type":165,"name":170,"callback":179,"file":152,"line":182},464,{"type":165,"name":173,"callback":179,"file":152,"line":184},465,{"type":165,"name":176,"callback":179,"file":152,"line":186},466,{"type":165,"name":166,"callback":179,"file":152,"line":188},470,{"type":165,"name":170,"callback":179,"file":152,"line":190},471,{"type":165,"name":173,"callback":179,"file":152,"line":192},472,{"type":165,"name":176,"callback":179,"file":152,"line":194},473,{"type":150,"name":196,"callback":197,"file":152,"line":198},"network_admin_menu","stn_savetonextcloud_setup_menu",486,{"type":150,"name":200,"callback":197,"file":152,"line":201},"admin_menu",491,{"type":150,"name":203,"callback":204,"file":152,"line":205},"admin_init","stn_savetonextcloud_settings",507,{"type":150,"name":203,"callback":207,"file":152,"line":208},"stn_notification",545,{"type":150,"name":210,"callback":211,"file":152,"line":212},"rest_api_init","closure",585,{"type":150,"name":210,"callback":211,"file":152,"line":214},645,[],[217,224],{"namespace":218,"route":219,"methods":220,"callback":222,"permissionCallback":167,"file":152,"line":223},"STN","param",[221],"GET","all_user_param",587,{"namespace":218,"route":225,"methods":226,"callback":227,"permissionCallback":167,"file":152,"line":228},"saves",[221],"get_all_saves",647,[],[231,234,237,239,242,245,247,249,251],{"hook":155,"callback":155,"file":232,"line":233},"inc\\CreateBDD.php",122,{"hook":155,"callback":155,"file":235,"line":236},"inc\\CreateZip.php",84,{"hook":155,"callback":155,"file":235,"line":238},109,{"hook":155,"callback":155,"file":240,"line":241},"inc\\FusionZip.php",53,{"hook":155,"callback":155,"file":243,"line":244},"inc\\SendChunk.php",57,{"hook":155,"callback":155,"file":243,"line":246},74,{"hook":155,"callback":155,"file":152,"line":248},232,{"hook":155,"callback":155,"file":152,"line":250},271,{"hook":151,"callback":151,"file":152,"line":252},383,2,{"dangerousFunctions":255,"sqlUsage":256,"outputEscaping":271,"fileOperations":279,"externalRequests":110,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":280},[],{"prepared":257,"raw":258,"locations":259},4,5,[260,263,264,266,268],{"file":232,"line":261,"context":262},34,"$wpdb->query() with variable interpolation",{"file":232,"line":241,"context":262},{"file":152,"line":265,"context":262},71,{"file":152,"line":246,"context":267},"$wpdb->get_results() with variable interpolation",{"file":152,"line":269,"context":270},89,"$wpdb->get_row() with variable interpolation",{"escaped":272,"rawEcho":253,"locations":273},13,[274,277],{"file":152,"line":275,"context":276},665,"raw output",{"file":152,"line":278,"context":276},791,12,[],[],{"summary":283,"deductions":284},"The stn-save-to-nextcloud plugin exhibits significant security concerns primarily due to its unprotected entry points.  The static analysis reveals two REST API routes that lack permission callbacks, meaning any authenticated user, regardless of their role or capabilities, could potentially interact with these endpoints.  This presents a substantial attack surface that is not adequately secured.  While the plugin appears to avoid dangerous functions and has a decent percentage of output escaping, the complete absence of nonce checks and capability checks across all identified entry points is a major weakness.  The plugin also performs file operations and external HTTP requests, which, when combined with the unprotected entry points, could be exploited for various malicious activities if these operations are not properly validated and secured within the API routes.\n\nThe plugin's vulnerability history is currently clean, with no known CVEs or recorded vulnerabilities. This is a positive indicator, suggesting that developers may have a good understanding of secure coding practices or that the plugin has not been a target of significant past exploitation. However, the lack of historical vulnerabilities does not negate the immediate risks identified in the code analysis. The absence of taint analysis results could mean that either the tool was not run or no significant untrusted data flows were detected, but this doesn't provide strong assurance on its own. The current security posture is concerning due to the identified unprotected endpoints, despite the otherwise clean record.",[285,288,290,292,294],{"reason":286,"points":287},"REST API routes without permission callbacks",10,{"reason":289,"points":287},"No nonce checks on entry points",{"reason":291,"points":287},"No capability checks on entry points",{"reason":293,"points":258},"SQL queries with no prepared statements (44% prepared)",{"reason":295,"points":296},"Some output not properly escaped (87% escaped)",3,"2026-03-16T21:33:07.136Z",{"wat":299,"direct":308},{"assetPaths":300,"generatorPatterns":302,"scriptPaths":303,"versionParams":305},[301],"\u002Fwp-content\u002Fplugins\u002Fstn-save-to-nextcloud\u002Finc\u002Fstn-save-to-nextcloud.css",[],[304],"\u002Fwp-content\u002Fplugins\u002Fstn-save-to-nextcloud\u002Finc\u002Fstn-save-to-nextcloud.js",[306,307],"stn-save-to-nextcloud\u002Finc\u002Fstn-save-to-nextcloud.css?ver=","stn-save-to-nextcloud\u002Finc\u002Fstn-save-to-nextcloud.js?ver=",{"cssClasses":309,"htmlComments":311,"htmlAttributes":313,"restEndpoints":318,"jsGlobals":319,"shortcodeOutput":321},[310],"stn-save-to-nextcloud-status",[312],"\u003C!-- STN - Save To Nextcloud -->",[314,315,316,317],"data-stn-action","data-stn-target","data-stn-filename","data-stn-nextcloud-url",[],[320],"stn_save_to_nextcloud_params",[]]