[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgYOjfkmbIShkDZwmPt46qB5I2AATTaQAotdp2EcvGCI":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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":278,"crawl_stats":38,"alternatives":282,"analysis":364,"fingerprints":2781},"sunshine-photo-cart","Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers","3.6.3","sunshinephotocart","https:\u002F\u002Fprofiles.wordpress.org\u002Fsunshinephotocart\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Sunshine Photo Cart\u003C\u002Fa> is the #1 WordPress plugin for creating \u003Cstrong>client photo galleries\u003C\u002Fstrong> and \u003Cstrong>photo proofing\u003C\u002Fstrong> galleries that help photographers sell more photos and grow their business. Join thousands of professional photographers who trust Sunshine to deliver proof galleries, sell prints and digital downloads, and manage client orders—all from their own WordPress website with no monthly fees or commissions. With \u003Cstrong>100+ 5-star ratings\u003C\u002Fstrong> and proven results, Sunshine Photo Cart is the trusted choice for photographers worldwide. 🎯\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\u002FwNGcKgWCigI?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\u003Cblockquote>\n\u003Cp>“I would say my sales went up at least 300% since installing Sunshine Photo Cart.”\u003Cbr \u002F>\n  – Edward Amos\u003C\u002Fp>\n\u003Cp>“Sunshine elevated my small photography business and I know it can elevate yours as well.”\u003Cbr \u002F>\n  – Kendra Heller\u003C\u002Fp>\n\u003Cp>“Sunshine Photo Cart has allowed me to deliver proof galleries quickly, efficiently, and effortlessly. This plugin has really taken out the aggravation of setting up galleries, allowed me to work more efficiently, and gives my clients such an easy-to-use interface for viewing. I am grateful I found it and highly recommend it to other photographers!”\u003Cbr \u002F>\n  – Drew Johnston\u003C\u002Fp>\n\u003Cp>“AUS$1500 worth of sales within 3 days of installing Sunshine Photo Cart. Need I say more? This system is simple to use, easy to customize, and doesn’t force you to dive into the depth of your server to run.”\u003Cbr \u002F>\n  – William Debois\u003C\u002Fp>\n\u003Cp>“The biggest benefit for me was the stand alone style, do your own stuff, sell as much as you can without a commission.”\u003Cbr \u002F>\n  – Dan Spineanu\u003C\u002Fp>\n\u003Cp>“I have seen a huge increase in sales compared to other photo websites.”\u003Cbr \u002F>\n  – Nadia Hall\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Why Choose Sunshine Photo Cart for Your Client Photo Gallery?\u003C\u002Fh3>\n\u003Cp>Whether you’re a wedding photographer, portrait photographer, school\u002Fsports photographer, or fine art photographer, Sunshine Photo Cart gives you everything you need to create beautiful \u003Cstrong>client photo galleries\u003C\u002Fstrong> and streamline your \u003Cstrong>photo proofing\u003C\u002Fstrong> workflow.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>✨ Deliver proof galleries that convert\u003C\u002Fstrong> – Share password-protected galleries with expiration dates that create urgency and encourage clients to purchase before time runs out. Your clients can easily browse, select favorites, and share with family and friends to increase your sales.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>💰 Sell photos with zero commissions\u003C\u002Fstrong> – Keep 100% of your profits. Unlike other platforms that take 15-30% of every sale, Sunshine Photo Cart charges no commissions, no monthly fees, and no hidden costs. You own your client galleries and your revenue.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🚀 Set up in minutes, not hours\u003C\u002Fstrong> – Create your first client photo gallery in under 5 minutes. Upload images via FTP or drag-and-drop, set your products and pricing, and start sharing galleries with clients immediately.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔒 Professional security built-in\u003C\u002Fstrong> – Protect your images with automatic watermarking, password protection, and private gallery access. Your photos stay secure while clients enjoy a seamless viewing experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📱 Works beautifully on any device\u003C\u002Fstrong> – Your clients can browse galleries, select favorites, and purchase photos from their phone, tablet, or computer. Responsive design means your client photo galleries look perfect everywhere.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🌍 Sell to clients worldwide\u003C\u002Fstrong> – Support for all currencies and translations in German, French, Spanish, Dutch, Finnish, Portuguese, British English, Norwegian, and more. \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fdocs\u002Ftranslations\u002F\" rel=\"nofollow ugc\">Learn more about translations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Works with any WordPress theme\u003C\u002Fstrong> – Sunshine Photo Cart seamlessly integrates with all WordPress themes and popular page builders. Your client photo galleries automatically match your website’s design, or choose from our custom design layouts for a dedicated gallery experience.\u003C\u002Fp>\n\u003Ch3>What You Get with Your Free Client Photo Gallery Plugin\u003C\u002Fh3>\n\u003Cp>This free version is fully functional and includes everything you need to start selling photos to clients:\u003C\u002Fp>\n\u003Ch3>Photo Proofing & Client Gallery Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited client photo galleries\u003C\u002Fstrong> – Create as many galleries as you need for weddings, portraits, events, or any photography project\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Photo proofing workflow\u003C\u002Fstrong> – Let clients browse proof galleries, select favorites, and share with family members to increase engagement. Create proofing-only galleries (no products) for client approval workflows\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple display formats\u003C\u002Fstrong> – Choose from various layout formats for your galleries and images to match your style and client preferences\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Password-protected galleries\u003C\u002Fstrong> – Keep your client photo galleries private with password protection, email requirements, or user account access\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gallery expiration dates\u003C\u002Fstrong> – Create urgency and encourage faster purchases with automatic expiration notices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sub galleries\u003C\u002Fstrong> – Organize large events like weddings into hierarchical galleries (ceremony, reception, portraits, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Favorites system\u003C\u002Fstrong> – Clients can mark their favorite photos, and you can view all favorites in the admin to understand client preferences\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comments on images\u003C\u002Fstrong> – Enable clients to leave comments on photos during the proofing process for better communication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Social sharing\u003C\u002Fstrong> – Enable clients to share galleries and images on social media to increase exposure and drive more sales\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic watermarking\u003C\u002Fstrong> – Protect your images with watermarks automatically applied when images are uploaded to galleries\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>E-commerce & Sales Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shopping cart system\u003C\u002Fstrong> – Professional cart that lets clients select photos, choose products (prints, digital downloads, etc.), and add multiple items\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple payment options\u003C\u002Fstrong> – Accept offline payments (check) or online payments. \u003Cstrong>PayPal is included free\u003C\u002Fstrong> with the core plugin. Stripe and Square are also available in the free version (with 5% platform fees) or upgrade to remove fees.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Registered or guest checkout\u003C\u002Fstrong> – Choose whether to require user accounts or allow guest checkout for faster purchases\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optimized checkout page\u003C\u002Fstrong> – One-page checkout optimized for conversions with optional distraction-free experience to maximize sales\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced tax settings\u003C\u002Fstrong> – Set specific tax rules down to the zip or postal code level for precise tax calculations in your area\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible shipping\u003C\u002Fstrong> – Offer flat rate shipping, local delivery, or pickup options to meet your business needs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order management\u003C\u002Fstrong> – Easy-to-use admin dashboard to track orders, manage customers, change order status, and notify clients of updates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Printable invoices\u003C\u002Fstrong> – Generate professional invoices for every order automatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No limits\u003C\u002Fstrong> – Unlimited galleries, unlimited images, unlimited products, unlimited orders\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Design & Integration\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Theme integration\u003C\u002Fstrong> – Automatically integrates with your WordPress theme or choose from our beautiful design layouts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FTP upload support\u003C\u002Fstrong> – Upload hundreds of images quickly via FTP or use the convenient browser upload\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile-responsive\u003C\u002Fstrong> – Your client photo galleries look perfect on phones, tablets, and desktops\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Payment Gateway Note:\u003C\u002Fstrong> \u003Cstrong>PayPal is included free\u003C\u002Fstrong> with the core plugin—no fees, no add-on required! Stripe and Square are also available in the free version but are subject to \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fdocs\u002Fplatform-fees\u002F\" rel=\"nofollow ugc\">5% platform fees\u003C\u002Fa>. Upgrade to remove these fees and unlock additional payment gateways.\u003C\u002Fp>\n\u003Ch3>Take Your Client Photo Galleries to the Next Level\u003C\u002Fh3>\n\u003Cp>The free core plugin offers everything you need to get started, but you can unlock even more powerful features with our add-ons. \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fpricing\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">View all pricing plans\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Essential Add-ons for Photo Sales\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fdigital-downloads\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Digital Downloads\u003C\u002Fa> 📥 – Sell digital files at any size with instant, secure download access for your clients\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fdiscounts\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Discount Codes\u003C\u002Fa> 🎟️ – Boost sales with flexible discount codes that encourage larger purchases\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Flightbox\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Lightbox\u003C\u002Fa> 🖼️ – Deliver a premium browsing experience with beautiful lightboxes and slideshows for your client photo galleries\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fprice-levels\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Price Levels\u003C\u002Fa> 💰 – Set unique prices per gallery for complete pricing control and maximum profits\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fpackages\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Packages\u003C\u002Fa> 📦 – Bundle products together to encourage larger orders and increase average order value\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fproduct-options\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Product Options\u003C\u002Fa> ⚙️ – Offer customizable options like frames, paper types, and finishes to increase sales\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fanalytics\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Advanced Analytics\u003C\u002Fa> 📊 – Understand what sells best with detailed gallery analytics, best sellers, and profit insights\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fmulti-image-products\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Multi Image Products\u003C\u002Fa> 🖼️ – Sell products like photo boxes or albums where clients select multiple photos\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fautomated-email-marketing\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Automated Emails\u003C\u002Fa> 📧 – Send automated emails based on client gallery interactions to nurture relationships and drive sales\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fmessaging\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Client Messaging\u003C\u002Fa> 💬 – Simplify gallery invitations with professional message templates\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fsession-fees\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Session Fees\u003C\u002Fa> 📅 – Offer bookable time slots with online payments and include products with your session fees\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fvolume-galleries\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Volume Galleries\u003C\u002Fa> 📚 – Build hundreds of galleries in a quick, easy workflow perfect for school photographers and high-volume events\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fcloud-storage\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Cloud Storage\u003C\u002Fa> ☁️ – Offload images to Amazon S3, Google Cloud, or DigitalOcean Spaces for unlimited storage and faster delivery\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fgift-cards\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Gift Cards\u003C\u002Fa> 🎁 – Sell gift cards that clients can redeem for prints and products in any gallery\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fminimum-order\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Minimum Order\u003C\u002Fa> 🛒 – Set minimum order amounts to ensure every sale is worth your time\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fprice-list\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Price List\u003C\u002Fa> 📋 – Display your product pricing anywhere on your site with a simple shortcode\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Ftiered-pricing\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Quantity Discounts\u003C\u002Fa> 📉 – Reward bulk purchases with automatic volume discounts to increase order sizes\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fsell-anything\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Sell Anything\u003C\u002Fa> 🛍️ – Sell products that don’t require a photo selection, like gift prints or studio merchandise\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fvideo-sales\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Video Sales\u003C\u002Fa> 🎬 – Sell video clips and slideshows alongside your photo galleries\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fexports\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Exports\u003C\u002Fa> 📤 – Simplify financial reporting and order fulfillment with effortless CSV exports of order data\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Payment Gateways\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Included Free:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>PayPal\u003C\u002Fstrong> 💳 – Fully included in the free core plugin with no platform fees or add-on required!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available in Free Version (with 5% platform fee):\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Stripe\u003C\u002Fstrong> 💳 – Accept credit cards and all Stripe-supported payment methods. \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fstripe\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Upgrade to remove platform fees\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Cstrong>Square\u003C\u002Fstrong> 💳 – Accept payments in-person or online. \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fsquare\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Upgrade to remove platform fees\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available with Add-ons (Pro\u002FPlus plans):\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fauthorize-net\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Authorize.net\u003C\u002Fa> – Enterprise payment processing for businesses\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fmollie\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Mollie\u003C\u002Fa> – European payment gateway with iDEAL support\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fmercado-pago\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Mercado Pago\u003C\u002Fa> – Popular payment gateway for Latin America\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fpayfast\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Payfast\u003C\u002Fa> – South African payment gateway\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fpaystack\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Paystack\u003C\u002Fa> – African payment gateway\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fquickpay\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Quickpay\u003C\u002Fa> – Danish payment gateway\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fpayment-gateways\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">View all payment gateways\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fcontact\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Don’t see your payment option? Request it\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Integrations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fmailchimp\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">MailChimp\u003C\u002Fa> – Grow your email list automatically\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Fcampaign-monitor\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Campaign Monitor\u003C\u002Fa> – Email marketing integration\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddon\u002Flight-blue\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Light Blue CRM\u003C\u002Fa> – Connect with popular photography CRM\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Faddons\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">View all add-ons and integrations\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fcontact\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Request a new feature\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Real Results from Real Photographers\u003C\u002Fh3>\n\u003Cp>Sunshine Photo Cart is trusted by thousands of wedding photographers, portrait photographers, school\u002Fsports photographers, and fine art photographers around the world. \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Ftestimonials\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">Read testimonials\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fcase-studies\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">view case studies\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fwww.sunshinephotocart.com\u002Fexamples\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=readme\" rel=\"nofollow ugc\">see example sites\u003C\u002Fa> to see how Sunshine has helped photographers just like you grow their business.\u003C\u002Fp>\n","Create professional client photo galleries and photo proofing galleries for your photography business. Sell photos directly to clients with zero commi &hellip;",1000,211350,94,136,"2026-03-13T01:59:00.000Z","7.0","5.5","7.4",[20,21,22,23,24],"client-galleries","client-photo-gallery","client-proofing","photo-proofing","sell-photos","https:\u002F\u002Fwww.sunshinephotocart.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsunshine-photo-cart.3.6.3.zip",77,20,0,"2026-01-27 00:00:00","2026-03-15T15:16:48.613Z",[33,49,61,75,87,103,118,132,143,154,162,174,185,197,206,220,233,244,257,266],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2025-67973","sunshine-photo-cart-missing-authorization-8","Sunshine Photo Cart \u003C= 3.5.6.2 - Missing Authorization","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 3.5.6.2. This makes it possible for unauthenticated attackers to perform an unauthorized action.",null,"\u003C=3.5.6.2","3.5.7.1","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2026-02-02 20:31:15",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fd8a45482-ab07-4088-b078-73a6ba6c802f?source=api-prod",7,{"id":50,"url_slug":51,"title":52,"description":53,"plugin_slug":4,"theme_slug":38,"affected_versions":54,"patched_in_version":55,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":56,"updated_date":57,"references":58,"days_to_patch":60},"CVE-2026-24994","sunshine-photo-cart-missing-authorization-2","Sunshine Photo Cart \u003C= 3.5.7.2 - Missing Authorization","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 3.5.7.2. This makes it possible for unauthenticated attackers to perform an unauthorized action.","\u003C=3.5.7.2","3.5.7.3","2026-01-23 00:00:00","2026-02-02 20:46:10",[59],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0c594cf6-d5d8-4927-b61e-145a86a318c3?source=api-prod",11,{"id":62,"url_slug":63,"title":64,"description":65,"plugin_slug":4,"theme_slug":38,"affected_versions":66,"patched_in_version":67,"severity":41,"cvss_score":68,"cvss_vector":69,"vuln_type":44,"published_date":70,"updated_date":71,"references":72,"days_to_patch":74},"CVE-2025-68535","sunshine-photo-cart-missing-authorization","Sunshine Photo Cart \u003C= 3.5.7.1 - Missing Authorization","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 3.5.7.1. This makes it possible for authenticated attackers, with Subscriber-level access and above, to perform an unauthorized action.","\u003C=3.5.7.1","3.5.7.2",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","2025-12-30 00:00:00","2026-01-06 14:19:54",[73],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F02822b64-7cfb-4cd1-a727-10f61603ece4?source=api-prod",8,{"id":76,"url_slug":77,"title":78,"description":79,"plugin_slug":4,"theme_slug":38,"affected_versions":80,"patched_in_version":81,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":82,"updated_date":83,"references":84,"days_to_patch":86},"CVE-2025-62892","sunshine-photo-cart-missing-authorization-3","Sunshine Photo Cart \u003C= 3.5.3 - Missing Authorization","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 3.5.3. This makes it possible for unauthenticated attackers to perform an unauthorized action.","\u003C=3.5.3","3.5.4","2025-08-29 00:00:00","2025-11-04 18:29:32",[85],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F2436ec79-9691-4a1a-a22e-57c5d83b2394?source=api-prod",68,{"id":88,"url_slug":89,"title":90,"description":91,"plugin_slug":4,"theme_slug":38,"affected_versions":92,"patched_in_version":93,"severity":94,"cvss_score":95,"cvss_vector":96,"vuln_type":97,"published_date":98,"updated_date":99,"references":100,"days_to_patch":102},"CVE-2025-5482","sunshine-photo-cart-authenticated-subscriber-privilege-escalation","Sunshine Photo Cart \u003C= 3.4.11 - Authenticated (Subscriber+) Privilege Escalation","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to privilege escalation via account takeover in all versions up to, and including, 3.4.11. This is due to the plugin not properly validating a user-supplied key. This makes it possible for authenticated attackers, with Subscriber-level access and above, to change arbitrary user's passwords through the password reset functionality, including administrators, and leverage that to reset the user's password and gain access to their account.","\u003C=3.4.11","3.4.12","high",8.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Unverified Password Change","2025-06-03 19:10:16","2025-06-04 15:30:36",[101],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5311b43c-14dd-4bdd-b6d0-d6468b831968?source=api-prod",1,{"id":104,"url_slug":105,"title":106,"description":107,"plugin_slug":4,"theme_slug":38,"affected_versions":108,"patched_in_version":109,"severity":110,"cvss_score":111,"cvss_vector":112,"vuln_type":113,"published_date":114,"updated_date":115,"references":116,"days_to_patch":48},"CVE-2025-31084","sunshine-photo-cart-unauthenticated-php-object-injection","Sunshine Photo Cart \u003C= 3.4.10 - Unauthenticated PHP Object Injection","The Sunshine Photo Cart plugin for WordPress is vulnerable to PHP Object Injection in versions up to, and including, 3.4.10 via deserialization of untrusted input. This makes it possible for unauthenticated attackers to inject a PHP Object. No known POP chain is present in the vulnerable software. If a POP chain is present via an additional plugin or theme installed on the target system, it could allow the attacker to delete arbitrary files, retrieve sensitive data, or execute code.","\u003C=3.4.10","3.4.11","critical",9.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Deserialization of Untrusted Data","2025-03-28 00:00:00","2025-04-03 14:00:45",[117],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5b00cf9b-60c3-44a4-98a7-ee0f3e763c87?source=api-prod",{"id":119,"url_slug":120,"title":121,"description":122,"plugin_slug":4,"theme_slug":38,"affected_versions":123,"patched_in_version":124,"severity":41,"cvss_score":125,"cvss_vector":126,"vuln_type":127,"published_date":128,"updated_date":129,"references":130,"days_to_patch":48},"CVE-2024-50463","sunshine-photo-cart-open-redirect","Sunshine Photo Cart \u003C= 3.2.9 - Open Redirect","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to Open Redirect in all versions up to, and including, 3.2.9. This is due to insufficient validation on a redirect url. This makes it possible for unauthenticated attackers to redirect users to potentially malicious sites if they can successfully trick them into performing an action.","\u003C=3.2.9","3.2.11",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","URL Redirection to Untrusted Site ('Open Redirect')","2024-10-24 00:00:00","2024-10-31 10:03:28",[131],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0879bfe6-0b73-4bdc-9770-f8b2a3da2686?source=api-prod",{"id":133,"url_slug":134,"title":135,"description":136,"plugin_slug":4,"theme_slug":38,"affected_versions":123,"patched_in_version":137,"severity":41,"cvss_score":68,"cvss_vector":69,"vuln_type":44,"published_date":138,"updated_date":139,"references":140,"days_to_patch":142},"CVE-2024-49697","sunshine-photo-cart-missing-authorization-9","Sunshine Photo Cart \u003C= 3.2.9 - Missing Authorization","The Sunshine Photo Cart plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the search_galleries() function in versions up to, and including, 3.2.9. This makes it possible for authenticated attackers, with subscriber-level access and above, to search galleries.","3.2.10","2024-10-21 00:00:00","2024-10-30 16:31:25",[141],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Feb027f2b-097a-482a-a575-f4bd5881c919?source=api-prod",10,{"id":144,"url_slug":145,"title":146,"description":147,"plugin_slug":4,"theme_slug":38,"affected_versions":148,"patched_in_version":149,"severity":41,"cvss_score":68,"cvss_vector":69,"vuln_type":44,"published_date":150,"updated_date":151,"references":152,"days_to_patch":74},"CVE-2024-47314","sunshine-photo-cart-missing-authorization-6","Sunshine Photo Cart \u003C= 3.2.8 - Missing Authorization","The Sunshine Photo Cart plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on the sunshine_addon_toggle() function in versions up to, and including, 3.2.8. This makes it possible for authenticated attackers, with subscriber-level access and above, to toggle addons on and off.","\u003C=3.2.8","3.2.9","2024-09-25 00:00:00","2024-10-02 20:57:21",[153],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F8ff2a842-2e46-4267-bbf1-e7d9d4a7e277?source=api-prod",{"id":155,"url_slug":156,"title":135,"description":157,"plugin_slug":4,"theme_slug":38,"affected_versions":123,"patched_in_version":137,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":158,"updated_date":159,"references":160,"days_to_patch":142},"CVE-2024-44038","sunshine-photo-cart-missing-authorization-5","The Sunshine Photo Cart plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on several functions in versions up to, and including, 3.2.9. This makes it possible for unauthenticated attackers to perform unauthorized actions.","2024-09-23 00:00:00","2024-10-02 19:52:44",[161],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5fb338c2-f458-42bc-b147-d5024875e977?source=api-prod",{"id":163,"url_slug":164,"title":165,"description":166,"plugin_slug":4,"theme_slug":38,"affected_versions":167,"patched_in_version":168,"severity":41,"cvss_score":125,"cvss_vector":126,"vuln_type":169,"published_date":170,"updated_date":171,"references":172,"days_to_patch":74},"CVE-2024-43971","sunshine-photo-cart-reflected-cross-site-scripting-3","Sunshine Photo Cart \u003C= 3.2.5 - Reflected Cross-Site Scripting","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in all versions up to, and including, 3.2.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=3.2.5","3.2.6","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-08-28 00:00:00","2024-09-04 21:07:25",[173],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F6eb99654-c0f4-4c75-9b9d-f3075db623fc?source=api-prod",{"id":175,"url_slug":176,"title":177,"description":178,"plugin_slug":4,"theme_slug":38,"affected_versions":179,"patched_in_version":180,"severity":41,"cvss_score":68,"cvss_vector":69,"vuln_type":44,"published_date":181,"updated_date":182,"references":183,"days_to_patch":74},"CVE-2024-43136","sunshine-photo-cart-missing-authorization-4","Sunshine Photo Cart \u003C= 3.2.1 - Missing Authorization","The Sunshine Photo Cart plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the sunshine_add_to_favorites() function in versions up to, and including, 3.2.1. This makes it possible for authenticated attackers, with subscriber-level access and above, to favorite images in galleries a user does not have access to.","\u003C=3.2.1","3.2.2","2024-08-07 00:00:00","2024-08-14 14:58:01",[184],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F546f5b08-d4e9-4a19-97d6-2022a0c5c64f?source=api-prod",{"id":186,"url_slug":187,"title":188,"description":189,"plugin_slug":4,"theme_slug":38,"affected_versions":190,"patched_in_version":191,"severity":110,"cvss_score":111,"cvss_vector":112,"vuln_type":113,"published_date":192,"updated_date":193,"references":194,"days_to_patch":196},"CVE-2024-30221","sunshine-photo-cart-free-client-photo-galleries-for-photographers-unauthenticated-php-object-injection","Sunshine Photo Cart: Free Client Photo Galleries for Photographers \u003C= 3.1.1 - Unauthenticated PHP Object Injection","The Sunshine Photo Cart: Free Client Photo Galleries for Photographers plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.1.1 via deserialization of untrusted input. This makes it possible for unauthenticated attackers to inject a PHP Object. No known POP chain is present in the vulnerable plugin. If a POP chain is present via an additional plugin or theme installed on the target system, it could allow the attacker to delete arbitrary files, retrieve sensitive data, or execute code.","\u003C=3.1.1","3.1.2","2024-03-26 00:00:00","2024-05-07 21:24:58",[195],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F6ca0ce12-4759-4182-b69e-665e189b92f7?source=api-prod",43,{"id":198,"url_slug":199,"title":200,"description":201,"plugin_slug":4,"theme_slug":38,"affected_versions":190,"patched_in_version":191,"severity":41,"cvss_score":125,"cvss_vector":126,"vuln_type":169,"published_date":202,"updated_date":203,"references":204,"days_to_patch":74},"CVE-2024-30194","sunshine-photo-cart-reflected-cross-site-scripting-2","Sunshine Photo Cart \u003C= 3.1.1 - Reflected Cross-Site Scripting","The Sunshine Photo Cart plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 3.1.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","2024-03-25 00:00:00","2024-04-01 16:06:25",[205],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F27e0b9e8-b6b7-45fe-8c9e-5e49c4feccac?source=api-prod",{"id":207,"url_slug":208,"title":209,"description":210,"plugin_slug":4,"theme_slug":38,"affected_versions":211,"patched_in_version":212,"severity":41,"cvss_score":42,"cvss_vector":213,"vuln_type":214,"published_date":215,"updated_date":216,"references":217,"days_to_patch":219},"CVE-2024-1294","sunshine-photo-cart-free-client-galleries-for-photographers-unauthenticated-sensitive-information-exposure-via-invoice","Sunshine Photo Cart: Free Client Galleries for Photographers \u003C= 3.0.24 - Unauthenticated Sensitive Information Exposure via Invoice","The Sunshine Photo Cart: Free Client Galleries for Photographers plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.0.24 via the 'invoice'. This makes it possible for unauthenticated attackers to extract sensitive data including customer email and physical addresses.","\u003C=3.0.24","3.1","CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:L\u002FI:N\u002FA:N","Improper Access Control","2024-02-12 00:00:00","2024-02-20 18:56:48",[218],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fda76d034-3e9a-4f3f-a314-48e776028369?source=api-prod",9,{"id":221,"url_slug":222,"title":223,"description":224,"plugin_slug":4,"theme_slug":38,"affected_versions":225,"patched_in_version":226,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":227,"published_date":228,"updated_date":229,"references":230,"days_to_patch":232},"CVE-2023-41796","sunshine-photo-cart-insecure-direct-object-reference-to-order-manipulation","Sunshine Photo Cart \u003C= 2.9.25 - Insecure Direct Object Reference to Order Manipulation","The Sunshine Photo Cart plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 2.9.25 due to missing validation on a user-controlled key. This can allow unauthenticated attackers to manipulate orders that do not belong to them.","\u003C=2.9.25","3.0","Authorization Bypass Through User-Controlled Key","2023-09-05 00:00:00","2024-01-22 19:56:02",[231],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F2eae7c33-2347-4b34-8b5f-7f4a6ee3e9c1?source=api-prod",140,{"id":234,"url_slug":235,"title":236,"description":237,"plugin_slug":4,"theme_slug":38,"affected_versions":238,"patched_in_version":239,"severity":41,"cvss_score":125,"cvss_vector":126,"vuln_type":169,"published_date":240,"updated_date":229,"references":241,"days_to_patch":243},"CVE-2022-4301","sunshine-photo-cart-reflected-cross-site-scripting","Sunshine Photo Cart \u003C= 2.9.14 - Reflected Cross-Site Scripting","The Sunshine Photo Cart plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'redirect_to' parameter in versions up to, and including, 2.9.14 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=2.9.14","2.9.15","2022-12-12 00:00:00",[242],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F107918e4-fb21-40df-818d-a71b78b26928?source=api-prod",407,{"id":245,"url_slug":246,"title":247,"description":248,"plugin_slug":4,"theme_slug":38,"affected_versions":249,"patched_in_version":250,"severity":94,"cvss_score":95,"cvss_vector":251,"vuln_type":252,"published_date":253,"updated_date":229,"references":254,"days_to_patch":256},"CVE-2022-40692","sunshine-photo-cart-cross-site-request-forgery","Sunshine Photo Cart \u003C= 2.9.13 - Cross-Site Request Forgery","The Sunshine Photo Cart plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 2.9.13. This is due to missing or incorrect nonce validation on the sunshine_update_image_location_ajax function. This makes it possible for unauthenticated attackers to change image file paths, via forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=2.9.13","2.9.14","CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Cross-Site Request Forgery (CSRF)","2022-12-02 00:00:00",[255],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F7b941db0-9d6d-4b89-8e04-8770499b6a9a?source=api-prod",417,{"id":258,"url_slug":259,"title":260,"description":261,"plugin_slug":4,"theme_slug":38,"affected_versions":249,"patched_in_version":250,"severity":41,"cvss_score":262,"cvss_vector":263,"vuln_type":44,"published_date":253,"updated_date":229,"references":264,"days_to_patch":256},"CVE-2022-45826","sunshine-photo-cart-missing-authorization-7","Sunshine Photo Cart \u003C= 2.9.13 - Missing Authorization","The Sunshine Photo Cart plugin for WordPress is vulnerable to authorization bypass due to a missing capability check on the sunshine_update_image_location_ajax function in versions up to, and including, 2.9.13. This makes it possible for authenticated attackers, with subscriber-level permissions and above, to change image file paths.",6.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:L\u002FI:L\u002FA:L",[265],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9fd38e86-6448-47fd-a8a7-f571158e3599?source=api-prod",{"id":267,"url_slug":268,"title":269,"description":270,"plugin_slug":4,"theme_slug":38,"affected_versions":271,"patched_in_version":272,"severity":41,"cvss_score":68,"cvss_vector":273,"vuln_type":252,"published_date":274,"updated_date":229,"references":275,"days_to_patch":277},"CVE-2021-4415","sunshine-photo-cart-cross-site-request-forgery-bypass","Sunshine Photo Cart \u003C= 2.8.28 - Cross-Site Request Forgery Bypass","The Sunshine Photo Cart plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 2.8.28 This is due to missing or incorrect nonce validation on the sunshine_products_quicksave_post() function. This makes it possible for unauthenticated attackers to save custom post data via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=2.8.28","2.8.29","CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","2021-06-21 00:00:00",[276],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fc043510b-6aeb-4e91-80f0-a62970c01b1d?source=api-prod",946,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":102,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":279,"trust_score":280,"computed_at":281},127,63,"2026-04-06T09:37:00.496Z",[283,307,327,347],{"slug":284,"name":285,"version":286,"author":287,"author_profile":288,"description":289,"short_description":290,"active_installs":291,"downloaded":292,"rating":293,"num_ratings":294,"last_updated":295,"tested_up_to":296,"requires_at_least":297,"requires_php":295,"tags":298,"homepage":303,"download_link":304,"security_score":305,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":306},"wp-isell-photo","WP iSell Photo","1.0.7","wpecommerce","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpecommerce\u002F","\u003Cp>WP iSell Photo enhances the functionality of your existing WordPress photo gallery and turns it into an e-commerce photo gallery. It makes  photo selling easier. You don’t have to maintain another heavy weight photo gallery plugin for your WordPress blog. This in turn should help you maintain a fast loading site.\u003C\u002Fp>\n\u003Ch4>WP iSell Photo Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Sell photos from your WordPress blog easily.\u003C\u002Fli>\n\u003Cli>Increase your photo selling conversion rate with one-click PayPal checkout.\u003C\u002Fli>\n\u003Cli>Create beautiful e-commerce photo gallery on your WordPress blog.\u003C\u002Fli>\n\u003Cli>No advanced technical knowledge required to use this photo selling plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WP iSell Photo Plugin Usage\u003C\u002Fh4>\n\u003Cp>Since WordPress 2.5 there is a new feature in the WordPress media library that allows you to create a gallery of photos\u002Fimages and add it to a post\u002Fpage. Lot of users don’t even know about this neat little feature of WordPress. WP iSell Photo plugin will help you convert a built in WordPress gallery into a photo selling platform.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>a)\u003C\u002Fstrong> Creating a Photo Gallery in WordPress\u003C\u002Fp>\n\u003Cp>Create a new post\u002Fpage on your WordPress Dashboard. There is an option to upload\u002Finsert media. Now select the photos\u002Fimages from your computer and upload them to the media library. As you upload each image you will see a “Gallery” tab which contains those images. Switch to that tab once you are ready to insert the gallery to your current post\u002Fpage.\u003C\u002Fp>\n\u003Cp>There are some options that you can configure for the gallery you just created (under the “Gallery Settings” section).\u003C\u002Fp>\n\u003Col>\n\u003Cli>Link thumbnails to: a) Attachment Page (the page\u002Fpost you are currently editing) b) Media File c) None\u003C\u002Fli>\n\u003Cli>Columns: 1 – 9 ( Number of thumbnails in each row)\u003C\u002Fli>\n\u003Cli>Thumbnail Order: a) Random b) Reverse c) Custom (Drag and drop to reorder images)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Finally hit the “Insert Gallery” button and the gallery will be automatically inserted to your current post\u002Fpage.\u003C\u002Fp>\n\u003Cp>If you want to edit the gallery at any time you can always select the gallery (It looks like a rectangular image in the visual editor) and click on the “Edit” option. Alternatively you can also customize the shortcode for the gallery. You need to switch to the “Text” editor to do it. You will see a shortcode similar to the following:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[gallery ids=\"126,125,124,123,122\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Here ids parameter represents all the images that are currently present in the gallery.\u003C\u002Fp>\n\u003Cp>For more information on how to customize the WordPress gallery shortcode please refer to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FGallery_Shortcode\" rel=\"nofollow ugc\">WordPress Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>b)\u003C\u002Fstrong> WP iSell Photo Settings\u003C\u002Fp>\n\u003Cp>There are some options that you need to configure in the General Settings of the plugin before your site goes live. On your \u003Cem>WordPress Dashboard\u003C\u002Fem> under \u003Cem>Settings\u003C\u002Fem> click on the \u003Cem>WP iSell Photo\u003C\u002Fem> option. It will take you to the Settings page.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>PayPal Email Address: Your PayPal email address\u003C\u002Fli>\n\u003Cli>PayPal Currency: The currency code (e.g. USD, GBP etc)\u003C\u002Fli>\n\u003Cli>Currency Symbol: The symbol for your currency code (e.g. $). It’s for display purpose only.\u003C\u002Fli>\n\u003Cli>Return URL: The URL where your customer will be redirected to after a successful payment\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>c)\u003C\u002Fstrong> Creating Buy Now buttons to sell photos\u003C\u002Fp>\n\u003Cp>Go to the post\u002Fpage where you already have an existing gallery embedded. Add an additional \u003Ccode>amount\u003C\u002Fcode> parameter to the gallery shortcode and specify the price in it. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[gallery amount=\"5.00\" ids=\"126,125,124,123,122\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>now each image of the current gallery will have a “Buy Now” button with price 5.00\u003C\u002Fp>\n\u003Cp>You can also customize the look and feel of the “Buy Now” button. Simply include a \u003Ccode>button\u003C\u002Fcode> parameter in the gallery shortcode and specify the text you want to use for the button. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[gallery amount=\"3.99\" button=\"Buy it Now\" ids=\"126,125,124,123,122\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you want to use an image for the button you can do so by specifying the URL in the \u003Ccode>button\u003C\u002Fcode> parameter. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[gallery amount=\"3.99\" button=\"http:\u002F\u002Fwww.paypal.com\u002Fen_US\u002Fi\u002Fbtn\u002Fbtn_buynow_LG.gif\" ids=\"126,125,124,123,122\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For detailed documentation please visit the \u003Ca href=\"https:\u002F\u002Fwp-ecommerce.net\u002Fwp-isell-photo-easily-sell-photos-wordpress-1800\" rel=\"nofollow ugc\">WordPress iSell Photo\u003C\u002Fa> plugin page\u003C\u002Fp>\n","Easily Sell photos, images, digital print etc. using the built-in WordPress gallery feature. Convert your WordPress gallery into a photo store.",50,25092,90,2,"","4.8.28","4.1",[299,300,301,302,24],"photo-gallery","photography","sell-digital-print","sell-images","https:\u002F\u002Fwp-ecommerce.net\u002Fwp-isell-photo-easily-sell-photos-wordpress-1800","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-isell-photo.zip",100,"2026-03-15T10:48:56.248Z",{"slug":308,"name":309,"version":310,"author":311,"author_profile":312,"description":313,"short_description":314,"active_installs":315,"downloaded":316,"rating":305,"num_ratings":317,"last_updated":318,"tested_up_to":319,"requires_at_least":320,"requires_php":295,"tags":321,"homepage":325,"download_link":326,"security_score":305,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"atr-woo-global-price-options","ATR Global Price Options for Woocommerce","1.0.5","yehudaT","https:\u002F\u002Fprofiles.wordpress.org\u002Fyehudat\u002F","\u003Cp>Add global price options by category\u002Fcategories to Woocommerce products. Allows you to set fixed list of prices (Variations like) to all products in selected categories.\u003Cbr \u002F>\nIt is aimed for use by WooCommerce shops that use identical price options for all products in a category or categories.\u003C\u002Fp>\n\u003Cp>e.g.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Photographer sites selling photos in different sizes options (But same options to all). \u003C\u002Fli>\n\u003Cli>Sites that sell by license and need to show list of license options on each product (like music files etc.) \u003C\u002Fli>\n\u003Cli>Sites that have a product category with same price to all products in it, variated by any feature selected by the customer.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>Set price options once, apply to all products in the selected categories.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>It eliminates the use of variable products while let the shop owner force selection of price option form the pre defined list.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Tested up to Woocommerce Version 6.0.0\u003C\u002Fp>\n\u003Cp>Requires at least Woocommerce Version 2.6.0\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>See in the video\u003C\u002Fp>\n\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\u002FfKa5ALeY9Wo?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>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Globally add price options to products. \u003C\u002Fli>\n\u003Cli>You can dynamically add and manage the price options with title and price for each option.\u003C\u002Fli>\n\u003Cli>Price options can be displayed as radio buttons or drop down list in the product page.\u003C\u002Fli>\n\u003Cli>Select categories to apply the price options. All other categories remain intact.\u003C\u002Fli>\n\u003Cli>Adjust the text on the “Read more” button in the shop\u002Farchive pages. e.g “select license” or “select options” etc.\u003C\u002Fli>\n\u003Cli>In the cart, a title and description is added to each item with the selected option details. You can control the label for the description.\u003C\u002Fli>\n\u003Cli>Customer can add the product to cart with multiple options (one at a time.)\u003C\u002Fli>\n\u003Cli>You can opt to make product without price definition to be purchasable with your price options.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customize the display of the price list\u003C\u002Fh3>\n\u003Cp>If you need to change the HTML of the header and footer of the price list display, you can use the following filters in your theme’s functions.php file:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgist.github.com\u002FyehudaTiram\u002F9f4006c885c9d65edd01873262db4c7b\" rel=\"nofollow ugc\">Using filters to change ATR Woocommerce Global Price Options plugin display of price options list in single product page\u003C\u002Fa>\u003C\u002Fp>\n","Add global price options by category to Woocommerce products.",30,3359,3,"2025-09-07T16:26:00.000Z","6.7.5","4.4.14",[322,300,323,24,324],"global-prices","price-options","woocommerce","http:\u002F\u002Fatarimtr.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fatr-woo-global-price-options.1.0.5.zip",{"slug":328,"name":329,"version":330,"author":331,"author_profile":332,"description":333,"short_description":334,"active_installs":142,"downloaded":335,"rating":336,"num_ratings":317,"last_updated":337,"tested_up_to":338,"requires_at_least":339,"requires_php":340,"tags":341,"homepage":344,"download_link":345,"security_score":346,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"proshots-for-woocommerce","Proshots For WooCommerce","1.5","Asaduzzaman Abir","https:\u002F\u002Fprofiles.wordpress.org\u002Fasadabir\u002F","\u003Cp>Sell your photos, arts, vectors using WooCommerce. Included with Custom Product Type, Watermark Support and much more.\u003C\u002Fp>\n\u003Cp>Turn your images into digital downloadable products with help of Proshots. Proshots plugin helps professional photographers to sell their photos online as well as general persons to build a platform to sell free and premium stock photos. Not only that you will also be able to showcase your product in a different way with help of this plugin. There is no way to steal your valuable media files as there is high encryption and besides, the watermark is always there. There are a lot of features come with Proshots, if you don’t try it you won’t be able to know its significance. Some of the major features are given below.\u003C\u002Fp>\n\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\u002FbXUTqBECQeI?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>\n\u003Cp>Proshots Features\u003C\u002Fp>\n\u003Cp>Proshots comes with a lot of impressive and notable features. Most of them are:\u003C\u002Fp>\n\u003Ch3>Based on WooCommerce:\u003C\u002Fh3>\n\u003Cp>Proshots is solely based on WooCommerce. You must have known that WooCommerce is considered as the best eCommerce plugin for WordPress. With the power of WooCommerce and Proshots you are guaranteed to do better in your business.\u003C\u002Fp>\n\u003Ch3>Make your own Shutterstock like website\u003C\u002Fh3>\n\u003Cp>In earlier, it may have been impossible to build a website like Shutterstock by yourself, but now it’s possible. With help of Proshots it will take only a few moments to configure and add functionality like Shutterstock. The best part is you won’t have to write a single line of code.\u003C\u002Fp>\n\u003Ch3>Built-in watermark\u003C\u002Fh3>\n\u003Cp>When there is a watermark over the stock photo it is useless to try and steal the photo. There is no other way but to get the media in a legit way. Proshots come with built-in watermark. Upload your watermark image and it will be visible in all images.\u003C\u002Fp>\n\u003Ch3>Built-in Lazy Loader\u003C\u002Fh3>\n\u003Cp>For faster site loading, Proshot comes with a built-in lazy loader. Your WooCommerce store will be loaded instantly in any device. Then images will be loaded for the user on-demand, best part is you won’t have to do any coding to implement it.\u003C\u002Fp>\n\u003Ch3>Deep customization with powerful options panel\u003C\u002Fh3>\n\u003Cp>Proshot offers you huge customization in its powerful options panel. You will find separate options for layout, watermark, and other additional settings. In each category, you will found dozens of important settings, which will help you to customize your WooCommerce store in the way you want.\u003C\u002Fp>\n\u003Ch3>Compatible and tested with latest WordPress and WooCommerce versions\u003C\u002Fh3>\n\u003Cp>We never provide any version with incompatibility issues. Before every release, we test it so many times so that you can work without any difficulties. Proshots is fully compatible with the latest version of WordPress and WooCommerce plugin.\u003C\u002Fp>\n\u003Ch3>Compatible and tested with almost all popular WordPress themes\u003C\u002Fh3>\n\u003Cp>No need to worry about compatibility with your themes. We have tested Proshots with most of the popular themes. You can use Proshots without any worries. However, if you find any issue, please let us know, we will try to provide a fix asap.\u003C\u002Fp>\n\u003Ch3>Additional Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom Product type for adding photos\u003C\u002Fli>\n\u003Cli>Comes with professional image layout (Justified layout)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Proshots For WooCommerce uses \u003Ca href=\"https:\u002F\u002Fappsero.com\" rel=\"nofollow ugc\">Appsero\u003C\u002Fa> SDK to collect some telemetry data upon user’s confirmation. This helps us to troubleshoot problems faster & make product improvements.\u003C\u002Fp>\n\u003Cp>Appsero SDK \u003Cstrong>does not gather any data by default.\u003C\u002Fstrong> The SDK only starts gathering basic telemetry data \u003Cstrong>when a user allows it via the admin notice\u003C\u002Fstrong>. We collect the data to ensure a great user experience for all our users.\u003C\u002Fp>\n\u003Cp>Integrating Appsero SDK \u003Cstrong>DOES NOT IMMEDIATELY\u003C\u002Fstrong> start gathering data, \u003Cstrong>without confirmation from users in any case.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Learn more about how \u003Ca href=\"https:\u002F\u002Fappsero.com\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Appsero collects and uses this data\u003C\u002Fa>.\u003C\u002Fp>\n","Sell your photos, arts, vectors using WooCommerce. Included with Custom Product Type, Watermark Support and much more. Turn your images into digital  &hellip;",1431,86,"2023-11-02T13:08:00.000Z","6.3.8","3.0.1","5.4",[342,24,343],"microstock","stock-photo","https:\u002F\u002Fnervythemes.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fproshots-for-woocommerce.zip",85,{"slug":348,"name":349,"version":350,"author":351,"author_profile":352,"description":353,"short_description":354,"active_installs":29,"downloaded":355,"rating":29,"num_ratings":29,"last_updated":356,"tested_up_to":357,"requires_at_least":358,"requires_php":18,"tags":359,"homepage":362,"download_link":363,"security_score":305,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"egps-easy-sell-for-google-photo","EGPS – Easy Sell for Google Photo","1.0.1","feldkaresz","https:\u002F\u002Fprofiles.wordpress.org\u002Ffeldkaresz\u002F","\u003Cp>The simpliest way to display and sell your images from your Google Photos account on your WordPress site.\u003C\u002Fp>\n\u003Ch3>Introduction\u003C\u002Fh3>\n\u003Cp>— Due to changes in Google Photos API, the plugin no longer works. Sorry for the inconvenience. —\u003C\u002Fp>\n\u003Cp>Introducing EGPS – Easy Sell for Google Photo (EGPS) – your ultimate WordPress plugin designed with photographers in mind.\u003Cbr \u002F>\nEGPS seamlessly bridges the gap between your Google Photos albums and your desire to sell your photographs directly from your website. With an effortless setup process, EGPS transforms your website into a fully automated, responsive photo-selling machine.\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\u002FkftFDVFG1tI?si=a120LwST3ZFVxtf0&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\u003Ch3>Basic (Free) Features\u003C\u002Fh3>\n\u003Cp>The basic version of your EGPS plugin, available for free, includes essential features such as displaying photo galleries sourced from Google Photos.\u003Cbr \u002F>\nUsers can connect to their Google Photos account, manage photos, and customize the display parameters of the plugin through the settings menu in the admin panel.\u003C\u002Fp>\n\u003Ch3>How to Use the EGPS Plugin\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Install the EGPS Plugin:\u003Cbr \u002F>\nBegin by installing the EGPS – Easy Sell for Google Photo plugin on your WordPress website. You can find the plugin in the WordPress plugin repository or by searching for “EGPS” in the Plugins section of your WordPress dashboard.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Setup the Plugin:\u003Cbr \u002F>\nFollow the video instructions to set up the EGPS plugin. This involves connecting your Google Photos account, configuring display settings, and customizing options to suit your preferences.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Capture and Enhance Photos:\u003Cbr \u002F>\nCapture high-quality photos using your preferred camera or device. Once captured, enhance your photos using editing software to ensure they look their best before showcasing them on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Upload Photos to Google Photos:\u003Cbr \u002F>\nUpload your edited photos to your Google Photos account. This can be done directly through the Google Photos website or using the Google Photos app on your mobile device.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add Hashtags:\u003Cbr \u002F>\nAdd relevant hashtags to each photo to improve discoverability and make it easier for users to find your photos through search.\u003Cbr \u002F>\nHashtags must be separated with a space character.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Arrange Photos into Albums:\u003Cbr \u002F>\nOrganize your photos into albums based on themes, categories, or events. This helps create a structured and visually appealing gallery for your website visitors to explore. Only the photos that are arranged in an album are displayed on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Automatic Website Refresh:\u003Cbr \u002F>\nEGPS will automatically refresh the appearance of your website twice a day, ensuring that your gallery stays up-to-date with your latest photos and album arrangements.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That’s it! By following these steps, you’ll be able to effectively use the EGPS plugin to showcase and sell your photos on your WordPress website.\u003C\u002Fp>\n\u003Ch3>Why Choose EGPS?\u003C\u002Fh3>\n\u003Cp>Photographers, rejoice! Gone are the days of manually updating your website with new photos to sell.\u003Cbr \u002F>\nEGPS taps into your Google Photos account, automatically showcasing your albums and individual photos in a beautifully cataloged format right on your website. It’s not just about displaying your work; it’s about turning your passion into profit, effortlessly.\u003C\u002Fp>\n\u003Ch3>How does the EGPS WordPress plugin work?\u003C\u002Fh3>\n\u003Cp>The EGPS WordPress plugin simplifies the process of showcasing and selling your photos stored on your Google Photos account.\u003Cbr \u002F>\nAfter installation and a one-time setup, the plugin operates automatically. It periodically (two times a day) scans your Google Photos account for newly added albums and photos, and seamlessly integrates them into your website’s gallery. This automated process ensures that your gallery stays up-to-date without requiring manual intervention, allowing you to focus on your photography while the plugin handles the rest.\u003C\u002Fp>\n\u003Ch3>Features at a Glance:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatic Sync: Once connected to your Google Photos account, EGPS does the heavy lifting for you, displaying your selected albums and photos on your site.\u003C\u002Fli>\n\u003Cli>Customizable Visibility: You have full control over what gets shown or hidden, ensuring that only your best work is up for sale.\u003C\u002Fli>\n\u003Cli>Tag Editing: Optimize your photos for search with editable tags, making it easier for potential buyers to find exactly what they’re looking for.\u003C\u002Fli>\n\u003Cli>Flexible Pricing Options: Set two different price points for each photo – a standard price and an exclusive rate, catering to varied buyer needs.\u003C\u002Fli>\n\u003Cli>Engaging Displays: Randomize album covers and manage photo counts per page to keep your gallery fresh and engaging.\u003C\u002Fli>\n\u003Cli>Download Management: Set a maximum download limit for each photo after purchase, protecting your work while offering value to your customers.\u003C\u002Fli>\n\u003Cli>Enhanced Searchability: Leverage camera details and a search tag cloud to help clients find photos based on specific technical criteria.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Responsiveness\u003C\u002Fh3>\n\u003Cp>Fully Responsive Design: EGPS guarantees a smooth, mobile-friendly viewing experience for your audience, ensuring your photos look stunning on any device.\u003C\u002Fp>\n\u003Ch3>Main Benefit\u003C\u002Fh3>\n\u003Cp>Set it and forget it! After a one-time setup, EGPS takes over, fully automating the process of displaying and selling your photos. Spend less time on site management and more time capturing the moments that matter.\u003C\u002Fp>\n\u003Ch3>For Whom Is EGPS Designed?\u003C\u002Fh3>\n\u003Cp>EGPS is the perfect solution for photographers seeking a hassle-free way to sell their photos via their own website. Whether you’re a professional photographer or a passionate hobbyist, EGPS offers you the tools to monetize your work without the complexities of manual gallery updates and sales processing.\u003C\u002Fp>\n\u003Cp>Unlock the potential of your photography with EGPS – Easy Sell for Google Photo. Simplify your photo sales, engage your audience, and watch your passion project flourish.\u003Cbr \u002F>\nWelcome to the future of selling photos online – welcome to EGPS.\u003C\u002Fp>\n\u003Ch3>Monetize Your Passion with Ease\u003C\u002Fh3>\n\u003Cp>What’s even better? EGPS offers a flexible pricing model that suits every photographer’s needs. The plugin is free to download, allowing you to seamlessly integrate your Google Photos albums into your website’s gallery. However, for the full spectrum of features, including the ability to sell photos directly from your site, users require a valid license key. Fear not – obtaining a license key is a breeze! Simply head to our website to purchase a license key that unlocks the full potential of EGPS, empowering you to turn your photography hobby into a lucrative business venture.\u003C\u002Fp>\n\u003Ch3>Premium (Paid) Features\u003C\u002Fh3>\n\u003Cp>To access premium features such as the ability to sell photos directly from their website using the plugin, users need to purchase a license key.\u003C\u002Fp>\n\u003Ch3>Useful Links\u003C\u002Fh3>\n\u003Cp>Live Demo\u003Cbr \u002F>\nhttps:\u002F\u002F1europhoto.com\u002Fphotoalbum\u003C\u002Fp>\n\u003Cp>More details and Premium license options at\u003Cbr \u002F>\nhttps:\u002F\u002Ffeldvebel.hu\u002Fselmlicenses\u003C\u002Fp>\n\u003Ch3>You have any suggestions\u003C\u002Fh3>\n\u003Cp>If you have any suggestions to add, or for a new add-on, feel free to email us at egps@feldvebel.hu\u003C\u002Fp>\n\u003Ch3>Prerequisites\u003C\u002Fh3>\n\u003Col>\n\u003Cli>PHP5.6 or above\u003C\u002Fli>\n\u003Cli>cURL running on your web host\u003C\u002Fli>\n\u003Cli>Google account\u003C\u002Fli>\n\u003Cli>PayPal account\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Videos\u003C\u002Fh3>\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\u002FP54W4GVWKGs?si=eobiLC0rSXHhmuM-&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>\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\u002Fug6b-sfSr0U?si=iAIgGhbJ-15Gig5k&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>\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\u002F6ZxYUqCJt4c?si=rgfUayWaNg6S4DuR&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\u003Ch3>Use of a 3rd Party services\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Youtube\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Fwww.youtube.com \u003C\u002Fli>\n\u003Cli>Used for giving step-by-step instructions for plugin installation and usage\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fwww.youtube.com\u002Fstatic?template=terms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Google\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Faccounts.google.com\u002Fo\u002Foauth2\u002Ftoken\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fpolicies.google.com\u002Fterms?gl=HU&hl=en-US\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Google Firebase library\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Ffirebase.google.com\u002F\u003C\u002Fli>\n\u003Cli>Used for authenticating customers\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Ffirebase.google.com\u002Fterms\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Google Photos API\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Fdevelopers.google.com\u002Fphotos\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fphotoslibrary\u003C\u002Fli>\n\u003Cli>Used for integrating Google Photos with EGPS WordPress plugin\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fdevelopers.google.com\u002Fterms\u002Fsite-terms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>PayPal API\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Fdeveloper.paypal.com\u002Fapi\u002Frest\u002F\u003C\u002Fli>\n\u003Cli>Used for online payment of selling photos with EGPS WordPress plugin\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fwww.paypal.com\u002Fus\u002Flegalhub\u002Fhome\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Bootstrap\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Fgetbootstrap.com\u002F\u003C\u002Fli>\n\u003Cli>Used for dispalying responsive content\u003C\u002Fli>\n\u003Cli>https:\u002F\u002Fgithub.com\u002Ftwbs\u002Fbootstrap\u002Fblob\u002Fmain\u002FLICENSE\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Compressed JS source code\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>egps-easy-sell-for-google-photo\u002Ffrontend\u002Fbuild\u002Fstatic\u002Fjs\u002Fegps_allinonefile.js\n\u003Cul>\n\u003Cli>uncompressed source code can be found in “\u002Ffrontend\u002Fsrc” folder\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","The simpliest way to display and sell your images from your Google Photos account on your WordPress site.",1612,"2025-09-26T08:00:00.000Z","6.4.8","5.6",[360,299,300,24,361],"gallery","wordpress-gallery-plugin","https:\u002F\u002Ffeldvebel.hu\u002Fegps-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fegps-easy-sell-for-google-photo.1.0.1.zip",{"attackSurface":365,"codeSignals":2025,"taintFlows":2302,"riskAssessment":2765,"analyzedAt":2780},{"hooks":366,"ajaxHandlers":1670,"restRoutes":1969,"shortcodes":1970,"cronEvents":2005,"entryPointCount":2024,"unprotectedCount":445},[367,373,379,383,386,390,394,397,401,405,409,411,414,417,421,423,427,430,433,437,442,446,449,453,457,461,466,470,473,478,481,485,488,492,495,498,501,503,507,511,514,517,520,524,528,530,533,536,538,542,546,550,554,557,561,565,569,572,576,580,584,587,590,593,597,601,603,605,607,610,611,614,616,620,623,626,630,632,633,637,640,643,646,649,653,656,660,662,665,668,671,674,677,681,685,688,691,694,697,700,703,706,709,712,715,718,722,725,729,733,737,741,745,750,754,758,761,764,766,769,774,779,782,786,789,792,796,799,802,806,810,813,817,820,824,827,831,835,838,841,844,846,849,852,855,857,860,863,867,870,873,876,878,880,883,886,889,892,895,898,899,902,905,908,912,915,918,921,924,928,932,936,939,943,947,951,955,958,962,965,967,971,974,977,980,984,986,990,993,996,997,1000,1002,1005,1008,1011,1013,1014,1017,1018,1021,1023,1026,1028,1031,1034,1036,1038,1040,1042,1044,1047,1050,1053,1056,1058,1060,1063,1065,1067,1070,1072,1074,1077,1080,1082,1084,1086,1088,1090,1092,1095,1097,1100,1102,1105,1107,1109,1113,1116,1119,1123,1126,1129,1132,1134,1138,1141,1144,1146,1148,1151,1154,1157,1160,1162,1165,1169,1171,1174,1178,1181,1184,1187,1190,1194,1197,1199,1202,1205,1207,1209,1212,1215,1219,1223,1224,1226,1228,1230,1234,1238,1241,1244,1247,1250,1253,1258,1260,1264,1268,1273,1277,1281,1285,1289,1293,1296,1300,1303,1306,1309,1312,1315,1319,1323,1327,1330,1334,1337,1341,1344,1347,1351,1355,1359,1363,1367,1370,1373,1378,1382,1386,1390,1393,1396,1399,1402,1404,1406,1408,1410,1412,1413,1414,1417,1420,1423,1426,1429,1433,1435,1437,1439,1441,1444,1446,1447,1449,1450,1453,1454,1455,1457,1458,1463,1467,1471,1474,1477,1480,1484,1487,1489,1493,1497,1500,1503,1506,1509,1512,1514,1517,1519,1521,1525,1527,1528,1531,1533,1537,1539,1542,1545,1548,1551,1553,1555,1557,1560,1564,1568,1571,1574,1577,1579,1582,1584,1587,1589,1591,1592,1596,1599,1603,1607,1611,1615,1619,1623,1627,1631,1635,1639,1643,1647,1650,1653,1656,1658,1661,1663,1665,1668],{"type":368,"name":369,"callback":370,"priority":28,"file":371,"line":372},"action","sunshine_addon_check","sunshine_get_addon_data","includes\\admin\\addons.php",355,{"type":374,"name":375,"callback":376,"file":377,"line":378},"filter","pre_set_site_transient_update_plugins","check_update","includes\\admin\\class-addon-update.php",75,{"type":374,"name":380,"callback":381,"priority":142,"file":377,"line":382},"plugins_api","plugins_api_filter",76,{"type":368,"name":384,"callback":385,"priority":142,"file":377,"line":27},"after_plugin_row","show_update_notification",{"type":368,"name":387,"callback":388,"file":377,"line":389},"admin_init","show_changelog",78,{"type":368,"name":391,"callback":392,"file":393,"line":60},"current_screen","init","includes\\admin\\class-admin-meta-box.php",{"type":368,"name":395,"callback":395,"priority":315,"file":393,"line":396},"add_meta_boxes",12,{"type":368,"name":398,"callback":399,"priority":102,"file":393,"line":400},"save_post","pre_save_meta_boxes",13,{"type":368,"name":402,"callback":403,"file":393,"line":404},"admin_enqueue_scripts","enqueue",14,{"type":368,"name":406,"callback":407,"file":408,"line":396},"wp_loaded","needs_setup","includes\\admin\\class-admin.php",{"type":374,"name":410,"callback":410,"file":408,"line":404},"admin_body_class",{"type":368,"name":412,"callback":412,"file":408,"line":413},"in_admin_header",15,{"type":368,"name":415,"callback":415,"file":408,"line":416},"admin_footer",16,{"type":368,"name":418,"callback":419,"file":408,"line":420},"sunshine_header_links","header_links",17,{"type":368,"name":402,"callback":402,"file":408,"line":422},18,{"type":374,"name":424,"callback":425,"priority":142,"file":408,"line":426},"display_post_states","post_states",19,{"type":368,"name":387,"callback":428,"file":408,"line":429},"update_check",21,{"type":368,"name":387,"callback":431,"file":408,"line":432},"warnings",22,{"type":374,"name":434,"callback":435,"file":408,"line":436},"jpeg_quality","image_quality",24,{"type":374,"name":438,"callback":439,"priority":440,"file":408,"line":441},"intermediate_image_sizes","image_sizes",99999,26,{"type":374,"name":443,"callback":443,"priority":444,"file":408,"line":445},"big_image_size_threshold",999,27,{"type":368,"name":398,"callback":447,"file":408,"line":448},"flush_rewrite_page_save",29,{"type":374,"name":450,"callback":451,"file":408,"line":452},"ajax_query_attachments_args","clean_media_library",32,{"type":374,"name":454,"callback":455,"file":408,"line":456},"pre_get_posts","media_library_list",33,{"type":374,"name":458,"callback":459,"file":408,"line":460},"plugin_action_links_sunshine-photo-cart-v3\u002Fsunshine-photo-cart.php","plugin_action_links",36,{"type":368,"name":462,"callback":463,"priority":464,"file":408,"line":465},"admin_bar_menu","admin_bar_view_client_galleries",768,39,{"type":368,"name":467,"callback":468,"file":408,"line":469},"admin_head","order_status_admin_customizations",42,{"type":374,"name":471,"callback":471,"file":408,"line":472},"post_updated_messages",45,{"type":368,"name":474,"callback":475,"priority":476,"file":408,"line":477},"admin_notices","logging_notice",5,48,{"type":368,"name":474,"callback":479,"priority":476,"file":408,"line":480},"install_notice",51,{"type":368,"name":474,"callback":482,"priority":483,"file":408,"line":484},"in_app_promos",4,54,{"type":368,"name":474,"callback":486,"priority":476,"file":408,"line":487},"promo_notice",57,{"type":374,"name":489,"callback":490,"priority":142,"file":408,"line":491},"wp_prepare_attachment_for_js","custom_fallback_image_size",60,{"type":368,"name":415,"callback":493,"priority":494,"file":408,"line":280},"sortable",9999,{"type":374,"name":454,"callback":496,"file":408,"line":497},"pre_get_posts_sort",66,{"type":374,"name":499,"callback":499,"priority":142,"file":408,"line":500},"create_term",67,{"type":374,"name":502,"callback":499,"priority":142,"file":408,"line":86},"edit_term",{"type":374,"name":504,"callback":505,"priority":142,"file":408,"line":506},"terms_clauses","term_clauses",69,{"type":368,"name":508,"callback":509,"priority":142,"file":408,"line":510},"before_delete_post","delete_post",72,{"type":368,"name":391,"callback":512,"priority":444,"file":408,"line":513},"load_theme_functions",74,{"type":368,"name":515,"callback":516,"file":408,"line":27},"admin_menu","menu",{"type":368,"name":387,"callback":518,"file":408,"line":519},"deactivate_old_addons",79,{"type":374,"name":521,"callback":522,"priority":142,"file":408,"line":523},"attachment_fields_to_edit","attachment_fields",82,{"type":374,"name":525,"callback":526,"priority":142,"file":408,"line":527},"attachment_fields_to_save","save_attachment_fields",83,{"type":368,"name":395,"callback":529,"file":408,"line":346},"attachment_meta_box_setup",{"type":368,"name":387,"callback":531,"file":408,"line":532},"show_post_debug",88,{"type":368,"name":474,"callback":534,"file":408,"line":535},"plugin_conflicts",91,{"type":368,"name":387,"callback":537,"file":408,"line":13},"clear_log",{"type":368,"name":539,"callback":540,"priority":142,"file":408,"line":541},"update_option_sunshine_enable_log","handle_log_toggle",97,{"type":368,"name":543,"callback":544,"priority":142,"file":408,"line":545},"add_option_sunshine_enable_log","handle_log_enabled",98,{"type":368,"name":547,"callback":548,"priority":142,"file":408,"line":549},"update_option_sunshine_enable_error_log","handle_error_log_toggle",101,{"type":368,"name":551,"callback":552,"priority":142,"file":408,"line":553},"add_option_sunshine_enable_error_log","handle_error_log_enabled",102,{"type":368,"name":387,"callback":555,"file":408,"line":556},"clear_error_log",103,{"type":368,"name":558,"callback":559,"file":408,"line":560},"admin_post_sunshine_download_log","download_log",106,{"type":368,"name":562,"callback":563,"file":408,"line":564},"admin_post_sunshine_download_error_log","download_error_log",107,{"type":374,"name":566,"callback":567,"file":408,"line":568},"install_plugins_tabs","plugin_search_tabs",109,{"type":368,"name":387,"callback":570,"file":408,"line":571},"plugin_search_tabs_go",110,{"type":374,"name":573,"callback":574,"priority":142,"file":408,"line":575},"user_has_cap","restrict_media_editing_capabilities",113,{"type":374,"name":577,"callback":578,"file":408,"line":579},"sunshine_price_free_label","__return_false",115,{"type":374,"name":581,"callback":582,"priority":102,"file":583,"line":452},"sunshine_options_licenses","default_options","includes\\admin\\class-license.php",{"type":368,"name":387,"callback":585,"priority":476,"file":583,"line":586},"listener",34,{"type":368,"name":387,"callback":588,"file":583,"line":589},"manual_license_check",35,{"type":368,"name":591,"callback":592,"file":583,"line":460},"sunshine_expired_addons","expired_addons",{"type":368,"name":594,"callback":595,"file":583,"line":596},"sunshine_active_addons","active_addons",37,{"type":368,"name":598,"callback":599,"file":583,"line":600},"sunshine_license_check","check_license",38,{"type":368,"name":387,"callback":392,"file":602,"line":315},"includes\\admin\\class-options.php",{"type":368,"name":387,"callback":604,"file":602,"line":456},"register_settings",{"type":374,"name":606,"callback":606,"file":602,"line":596},"sunshine_admin_menu",{"type":368,"name":415,"callback":608,"file":602,"line":609},"scripts",40,{"type":368,"name":474,"callback":474,"file":602,"line":472},{"type":368,"name":387,"callback":612,"file":602,"line":613},"flush_endpoint_rewrite_rules_check",47,{"type":368,"name":474,"callback":615,"file":602,"line":477},"flush_endpoint_rewrite_rules_process",{"type":374,"name":617,"callback":618,"file":619,"line":500},"wp_privacy_personal_data_erasers","register_erasers","includes\\admin\\class-privacy.php",{"type":374,"name":621,"callback":622,"file":619,"line":86},"wp_privacy_personal_data_exporters","register_exporters",{"type":368,"name":624,"callback":625,"file":619,"line":506},"sunshine_daily","retention_cleanup",{"type":374,"name":627,"callback":628,"file":629,"line":416},"sunshine_tools","register","includes\\admin\\class-tool.php",{"type":368,"name":387,"callback":428,"file":631,"line":28},"includes\\admin\\class-update.php",{"type":368,"name":515,"callback":516,"file":631,"line":429},{"type":368,"name":634,"callback":635,"file":631,"line":636},"sunshine_update_3.0","update_3",23,{"type":368,"name":638,"callback":639,"file":631,"line":596},"sunshine_update_3.0.17","update_3_0_17",{"type":368,"name":641,"callback":642,"file":631,"line":600},"sunshine_update_3.0.18","update_3_0_18",{"type":368,"name":644,"callback":645,"file":631,"line":465},"sunshine_update_3.5.6","update_3_5_6",{"type":368,"name":647,"callback":648,"file":631,"line":609},"sunshine_update_3.6.0","update_3_6_0",{"type":368,"name":650,"callback":651,"file":631,"line":652},"sunshine_update_3.6.2","update_3_6_2",41,{"type":368,"name":654,"callback":655,"file":631,"line":469},"sunshine_update_3.6.3","update_3_6_3",{"type":368,"name":657,"callback":658,"priority":142,"file":631,"line":659},"activated_plugin","check_plugin_activation",44,{"type":368,"name":474,"callback":661,"priority":142,"file":631,"line":472},"show_deactivation_notice",{"type":368,"name":387,"callback":663,"file":664,"line":500},"sunshine_customer_save","includes\\admin\\customers.php",{"type":368,"name":666,"callback":666,"file":664,"line":667},"sunshine_customer_tab_profile",93,{"type":368,"name":669,"callback":669,"file":664,"line":670},"sunshine_customer_tab_orders",133,{"type":368,"name":672,"callback":672,"file":664,"line":673},"sunshine_customer_tab_favorites",173,{"type":368,"name":675,"callback":675,"file":664,"line":676},"sunshine_customer_tab_activity",244,{"type":374,"name":678,"callback":679,"priority":142,"file":664,"line":680},"comments_clauses","sunshine_filter_comments_by_email",273,{"type":368,"name":682,"callback":392,"file":683,"line":684},"wp_dashboard_setup","includes\\admin\\dashboard.php",6,{"type":368,"name":686,"callback":687,"file":683,"line":74},"sunshine_order_create","recalculate_stats",{"type":368,"name":402,"callback":689,"file":690,"line":142},"sunshine_gallery_navigator_enqueue_scripts","includes\\admin\\gallery-navigator.php",{"type":368,"name":692,"callback":693,"file":690,"line":448},"manage_posts_extra_tablenav","sunshine_gallery_navigator_button",{"type":368,"name":387,"callback":695,"file":696,"line":497},"sunshine_install_redirect","includes\\admin\\install.php",{"type":368,"name":387,"callback":698,"file":696,"line":699},"sunshine_force_base_install",80,{"type":368,"name":387,"callback":701,"priority":305,"file":696,"line":702},"sunshine_flush_rewrite_rules",95,{"type":368,"name":387,"callback":704,"file":696,"line":705},"sunshine_install_process_data",599,{"type":368,"name":707,"callback":707,"file":708,"line":294},"sunshine_emails_display","includes\\admin\\options\\emails.php",{"type":368,"name":710,"callback":710,"file":711,"line":317},"sunshine_payment_methods_display","includes\\admin\\options\\payment-methods.php",{"type":368,"name":713,"callback":713,"file":714,"line":317},"sunshine_shipping_methods_display","includes\\admin\\options\\shipping-methods.php",{"type":368,"name":716,"callback":716,"file":717,"line":317},"sunshine_taxes_display","includes\\admin\\options\\taxes.php",{"type":374,"name":719,"callback":720,"priority":142,"file":721,"line":294},"sunshine_admin_meta_sunshine-product","sunshine_product_promos","includes\\admin\\promos.php",{"type":374,"name":723,"callback":724,"priority":142,"file":721,"line":532},"sunshine_admin_meta_sunshine-gallery","sunshine_gallery_promos",{"type":374,"name":726,"callback":727,"priority":305,"file":721,"line":728},"sunshine_options_email","sunshine_email_settings_promos",145,{"type":374,"name":730,"callback":731,"priority":305,"file":721,"line":732},"sunshine_options_checkout","sunshine_checkout_settings_promos",166,{"type":374,"name":734,"callback":735,"priority":305,"file":721,"line":736},"sunshine_options_shipping","sunshine_shipping_settings_promos",196,{"type":374,"name":738,"callback":739,"priority":305,"file":721,"line":740},"sunshine_options_galleries","sunshine_galleries_settings_promos",217,{"type":374,"name":742,"callback":743,"priority":476,"file":721,"line":744},"sunshine_options_extra","sunshine_cloud_storage_promo_tab",239,{"type":368,"name":746,"callback":747,"priority":142,"file":748,"line":749},"sunshine_report_orders","sunshine_report_orders_display","includes\\admin\\reports.php",141,{"type":368,"name":751,"callback":752,"priority":142,"file":748,"line":753},"sunshine_report_tax","sunshine_report_tax_display",357,{"type":368,"name":755,"callback":756,"priority":142,"file":748,"line":757},"sunshine_report_products","sunshine_report_promo_display",414,{"type":368,"name":759,"callback":756,"priority":142,"file":748,"line":760},"sunshine_report_galleries",415,{"type":368,"name":762,"callback":756,"priority":142,"file":748,"line":763},"sunshine_report_images",416,{"type":368,"name":765,"callback":756,"priority":142,"file":748,"line":256},"sunshine_report_customers",{"type":368,"name":767,"callback":756,"priority":142,"file":748,"line":768},"sunshine_report_profits",418,{"type":374,"name":770,"callback":771,"priority":142,"file":772,"line":773},"manage_edit-sunshine-gallery_columns","sunshine_galleries_columns","includes\\admin\\sunshine-gallery.php",250,{"type":368,"name":775,"callback":776,"priority":777,"file":772,"line":778},"manage_sunshine-gallery_posts_custom_column","sunshine_galleries_columns_content",99,262,{"type":368,"name":780,"callback":780,"file":772,"line":781},"sunshine_meta_gallery_images_display",333,{"type":374,"name":783,"callback":784,"priority":444,"file":772,"line":785},"intermediate_image_sizes_advanced","__return_empty_array",1304,{"type":374,"name":787,"callback":784,"priority":444,"file":772,"line":788},"fallback_intermediate_image_sizes",1305,{"type":374,"name":790,"callback":578,"priority":444,"file":772,"line":791},"image_make_intermediate_size",1306,{"type":374,"name":793,"callback":794,"priority":142,"file":772,"line":795},"as3cf_pre_update_attachment_metadata","sunshine_delay_s3_offload",1310,{"type":368,"name":398,"callback":797,"priority":142,"file":772,"line":798},"sunshine_make_cover_size_image",1566,{"type":368,"name":398,"callback":800,"priority":142,"file":772,"line":801},"sunshine_gallery_save_post",1602,{"type":374,"name":803,"callback":804,"file":772,"line":805},"sunshine_meta_gallery_images_validate","sunshine_meta_gallery_images_unique",1648,{"type":374,"name":807,"callback":808,"priority":142,"file":772,"line":809},"wp_insert_attachment_data","sunshine_featured_image_upload_situation",1654,{"type":368,"name":811,"callback":811,"file":772,"line":812},"sunshine_meta_gallery_emails_display",1826,{"type":368,"name":814,"callback":815,"file":772,"line":816},"wp","sunshine_admin_gallery_check",1886,{"type":368,"name":474,"callback":818,"file":772,"line":819},"sunshine_admin_no_galleries",1900,{"type":374,"name":821,"callback":822,"priority":142,"file":772,"line":823},"enter_title_here","sunshine_gallery_enter_title_here",1905,{"type":374,"name":424,"callback":825,"priority":142,"file":772,"line":826},"sunshine_gallery_post_states",1917,{"type":374,"name":828,"callback":829,"priority":142,"file":772,"line":830},"wp_read_image_metadata","sunshine_enhance_image_metadata",1971,{"type":374,"name":832,"callback":833,"priority":444,"file":834,"line":219},"views_edit-sunshine-order","views_edit","includes\\admin\\sunshine-order.php",{"type":368,"name":836,"callback":837,"file":834,"line":142},"restrict_manage_posts","filter_by_customer",{"type":374,"name":839,"callback":840,"file":834,"line":400},"bulk_actions-edit-sunshine-order","bulk_actions",{"type":374,"name":842,"callback":843,"priority":142,"file":834,"line":404},"handle_bulk_actions-edit-sunshine-order","handle_bulk_actions",{"type":374,"name":845,"callback":845,"file":834,"line":413},"parse_query",{"type":374,"name":847,"callback":848,"priority":142,"file":834,"line":422},"posts_join","order_search_join",{"type":374,"name":850,"callback":851,"priority":142,"file":834,"line":426},"posts_search","order_search_where",{"type":374,"name":853,"callback":854,"priority":142,"file":834,"line":28},"posts_distinct","order_search_distinct",{"type":374,"name":847,"callback":856,"priority":142,"file":834,"line":636},"gallery_filter_join",{"type":374,"name":858,"callback":859,"priority":142,"file":834,"line":436},"posts_where","gallery_filter_where",{"type":374,"name":853,"callback":861,"priority":142,"file":834,"line":862},"gallery_filter_distinct",25,{"type":374,"name":864,"callback":865,"priority":494,"file":834,"line":866},"manage_sunshine-order_posts_columns","column_headers",28,{"type":368,"name":868,"callback":869,"priority":142,"file":834,"line":448},"manage_sunshine-order_posts_custom_column","column_data",{"type":368,"name":871,"callback":872,"file":834,"line":315},"manage_edit-sunshine-order_sortable_columns","sortable_columns",{"type":368,"name":454,"callback":874,"file":834,"line":875},"sortable_query",31,{"type":368,"name":387,"callback":877,"file":834,"line":586},"invoice",{"type":368,"name":395,"callback":879,"priority":494,"file":834,"line":596},"meta_boxes",{"type":368,"name":881,"callback":882,"file":834,"line":609},"sunshine_admin_order_tab_items","items_tab",{"type":368,"name":884,"callback":885,"file":834,"line":652},"sunshine_admin_order_tab_images","images_tab",{"type":368,"name":887,"callback":888,"file":834,"line":469},"sunshine_admin_order_tab_comments","comments_tab",{"type":368,"name":890,"callback":891,"file":834,"line":196},"sunshine_admin_order_tab_notes","notes_tab",{"type":368,"name":893,"callback":894,"file":834,"line":659},"sunshine_admin_order_tab_log","log_tab",{"type":368,"name":896,"callback":897,"file":834,"line":472},"sunshine_admin_order_tab_refunds","refunds_tab",{"type":368,"name":398,"callback":398,"file":834,"line":477},{"type":368,"name":387,"callback":900,"file":834,"line":901},"process_order_action",53,{"type":368,"name":903,"callback":904,"file":834,"line":484},"sunshine_order_process_action_resend_order_email","resend_order_email",{"type":368,"name":906,"callback":907,"file":834,"line":487},"trashed_post","trash",{"type":368,"name":909,"callback":910,"file":834,"line":911},"untrashed_post","untrash",58,{"type":368,"name":508,"callback":913,"file":834,"line":914},"delete",59,{"type":368,"name":387,"callback":916,"file":834,"line":917},"fix_order_items",62,{"type":368,"name":814,"callback":919,"file":834,"line":920},"sunshine_admin_order_check",1207,{"type":368,"name":474,"callback":922,"file":834,"line":923},"sunshine_admin_no_orders",1221,{"type":368,"name":925,"callback":926,"file":927,"line":317},"sunshine-product-category_add_form_fields","sunshine_product_category_add_form_fields","includes\\admin\\sunshine-product-category.php",{"type":368,"name":929,"callback":930,"priority":142,"file":927,"line":931},"sunshine-product-category_edit_form_fields","sunshine_product_category_edit_form_fields",87,{"type":368,"name":933,"callback":934,"file":927,"line":935},"created_sunshine-product-category","sunshine_product_category_save",152,{"type":368,"name":937,"callback":934,"file":927,"line":938},"edited_sunshine-product-category",153,{"type":374,"name":940,"callback":941,"file":927,"line":942},"manage_edit-sunshine-product-category_columns","sunshine_product_category_columns",162,{"type":374,"name":944,"callback":945,"priority":142,"file":927,"line":946},"manage_sunshine-product-category_custom_column","sunshine_product_category_columns_content",174,{"type":374,"name":948,"callback":949,"priority":142,"file":927,"line":950},"sunshine-product-category_row_actions","sunshine_product_category_row_actions",193,{"type":374,"name":952,"callback":953,"priority":142,"file":954,"line":553},"manage_edit-sunshine-product_columns","sunshine_products_columns","includes\\admin\\sunshine-product.php",{"type":368,"name":956,"callback":957,"priority":777,"file":954,"line":571},"manage_sunshine-product_posts_custom_column","sunshine_products_columns_content",{"type":374,"name":959,"callback":960,"priority":142,"file":954,"line":961},"months_dropdown_results","sunshine_product_date_dropdown",126,{"type":368,"name":836,"callback":963,"file":954,"line":964},"sunshine_product_filter_by_category",134,{"type":374,"name":845,"callback":966,"file":954,"line":673},"sunshine_product_parse_query_category",{"type":368,"name":968,"callback":969,"file":954,"line":970},"save_post_sunshine-product","sunshine_product_default_category",195,{"type":368,"name":814,"callback":972,"file":954,"line":973},"sunshine_admin_product_check",212,{"type":368,"name":474,"callback":975,"file":954,"line":976},"sunshine_admin_no_products",226,{"type":374,"name":821,"callback":978,"priority":142,"file":954,"line":979},"sunshine_product_enter_title_here",231,{"type":374,"name":981,"callback":982,"priority":142,"file":954,"line":983},"post_row_actions","sunshine_row_actions",243,{"type":374,"name":985,"callback":982,"priority":142,"file":954,"line":676},"page_row_actions",{"type":374,"name":987,"callback":988,"file":989,"line":911},"debug_information","sunshine_site_health_info","includes\\admin\\system-info.php",{"type":374,"name":991,"callback":992,"file":989,"line":86},"site_status_tests","sunshine_site_health_test",{"type":374,"name":981,"callback":994,"priority":142,"file":995,"line":416},"regenerate_gallery_images_link_row","includes\\admin\\tools\\regenerate.php",{"type":374,"name":985,"callback":994,"priority":142,"file":995,"line":420},{"type":368,"name":474,"callback":998,"file":999,"line":294},"closure","includes\\admin\\tracking.php",{"type":368,"name":1001,"callback":1001,"file":999,"line":60},"sunshine_tracking_send",{"type":374,"name":443,"callback":1003,"priority":444,"file":1004,"line":293},"disable_big_image_threshold","includes\\background\\process-images.php",{"type":374,"name":438,"callback":1006,"priority":440,"file":1004,"line":1007},"filter_background_image_sizes",160,{"type":368,"name":1009,"callback":392,"priority":102,"file":1010,"line":400},"sunshine_before_init","includes\\class-background.php",{"type":368,"name":508,"callback":1012,"priority":142,"file":1010,"line":404},"delete_gallery_images",{"type":368,"name":392,"callback":392,"priority":102,"file":1010,"line":420},{"type":368,"name":392,"callback":1015,"priority":476,"file":1016,"line":596},"setup","includes\\class-cart.php",{"type":368,"name":387,"callback":1015,"priority":476,"file":1016,"line":600},{"type":368,"name":1019,"callback":1020,"file":1016,"line":465},"sunshine_checkout_section_contact_process","create_customer",{"type":368,"name":814,"callback":1022,"priority":476,"file":1016,"line":469},"process_payment",{"type":374,"name":1024,"callback":628,"file":1025,"line":404},"sunshine_delivery_methods","includes\\class-delivery-method.php",{"type":374,"name":734,"callback":1027,"file":1025,"line":413},"options",{"type":368,"name":814,"callback":1029,"priority":102,"file":1030,"line":416},"set_view_values","includes\\class-frontend.php",{"type":368,"name":1032,"callback":1033,"file":1030,"line":422},"wp_enqueue_scripts","enqueue_scripts",{"type":368,"name":814,"callback":1035,"file":1030,"line":426},"admin_bar",{"type":368,"name":814,"callback":1037,"priority":777,"file":1030,"line":28},"remove_canonical",{"type":374,"name":1039,"callback":1039,"file":1030,"line":429},"body_class",{"type":374,"name":1041,"callback":1041,"priority":142,"file":1030,"line":636},"protected_title_format",{"type":374,"name":1043,"callback":1043,"priority":142,"file":1030,"line":436},"private_title_format",{"type":374,"name":1045,"callback":1046,"priority":142,"file":1030,"line":862},"sunshine_main_menu","build_main_menu",{"type":374,"name":1048,"callback":1049,"priority":142,"file":1030,"line":441},"sunshine_image_menu","build_image_menu",{"type":374,"name":1051,"callback":1052,"priority":142,"file":1030,"line":445},"sunshine_action_menu","build_action_menu",{"type":368,"name":1054,"callback":1055,"priority":102,"file":1030,"line":866},"wp_head","meta",{"type":368,"name":1054,"callback":1057,"priority":294,"file":1030,"line":448},"head",{"type":368,"name":1054,"callback":1059,"priority":444,"file":1030,"line":315},"custom_css",{"type":368,"name":1061,"callback":1062,"file":1030,"line":875},"wp_footer","protection",{"type":368,"name":1061,"callback":1064,"priority":142,"file":1030,"line":452},"selection_tray_widget",{"type":368,"name":1061,"callback":1066,"priority":494,"file":1030,"line":456},"version_output",{"type":368,"name":1068,"callback":1069,"file":1030,"line":589},"template_redirect","can_view_image",{"type":368,"name":1068,"callback":1071,"file":1030,"line":460},"can_view_order",{"type":368,"name":1068,"callback":1073,"file":1030,"line":596},"can_use_cart",{"type":374,"name":1075,"callback":1076,"priority":142,"file":1030,"line":600},"comments_open","disable_comments",{"type":374,"name":1078,"callback":1079,"priority":777,"file":1030,"line":465},"previous_post_link","disable_prev_next",{"type":374,"name":1081,"callback":1079,"priority":777,"file":1030,"line":609},"next_post_link",{"type":368,"name":1068,"callback":1083,"priority":102,"file":1030,"line":652},"order_invoice_pdf",{"type":368,"name":814,"callback":1085,"file":1030,"line":469},"process_password",{"type":368,"name":814,"callback":1087,"file":1030,"line":196},"process_access",{"type":368,"name":814,"callback":1089,"file":1030,"line":659},"check_account_endpoints",{"type":368,"name":814,"callback":1091,"file":1030,"line":472},"theme_functions",{"type":368,"name":1068,"callback":1093,"file":1030,"line":1094},"no_cache",46,{"type":368,"name":1096,"callback":1096,"priority":142,"file":1030,"line":613},"post_thumbnail_size",{"type":374,"name":1098,"callback":1098,"file":1030,"line":1099},"the_content",52,{"type":374,"name":1101,"callback":1101,"priority":444,"file":1030,"line":484},"template_include",{"type":368,"name":392,"callback":1103,"file":1104,"line":219},"set","includes\\class-notices.php",{"type":368,"name":387,"callback":1106,"priority":219,"file":1104,"line":142},"set_admin",{"type":368,"name":474,"callback":1108,"file":1104,"line":60},"show_admin",{"type":374,"name":1110,"callback":1111,"priority":142,"file":1112,"line":429},"sunshine_create_order_status","create_order_status","includes\\class-payment-method.php",{"type":374,"name":1114,"callback":1115,"file":1112,"line":432},"sunshine_order_transaction_url","get_transaction_url",{"type":374,"name":1117,"callback":1118,"priority":142,"file":1112,"line":636},"sunshine_checkout_create_order_mode","mode",{"type":368,"name":1120,"callback":1121,"file":1122,"line":416},"sunshine_session_garbage_collection","cleanup","includes\\class-session.php",{"type":368,"name":1124,"callback":1125,"priority":29,"file":1122,"line":432},"shutdown","write_data",{"type":374,"name":1127,"callback":628,"file":1128,"line":532},"sunshine_shipping_methods","includes\\class-shipping-method.php",{"type":374,"name":1130,"callback":1131,"file":1128,"line":535},"sunshine_checkout_delivery_options","delivery_options",{"type":368,"name":392,"callback":392,"priority":102,"file":1133,"line":600},"includes\\class-sunshinephotocart.php",{"type":368,"name":1135,"callback":1136,"file":1137,"line":432},"sunshine_favorites_share","trigger","includes\\emails\\class-email-admin-favorites.php",{"type":368,"name":1139,"callback":1136,"priority":142,"file":1140,"line":441},"sunshine_order_notify","includes\\emails\\class-email-admin-receipt.php",{"type":368,"name":1142,"callback":1136,"file":1143,"line":404},"sunshine_after_signup","includes\\emails\\class-email-admin-signup.php",{"type":368,"name":1135,"callback":1136,"file":1145,"line":432},"includes\\emails\\class-email-custom-favorites.php",{"type":368,"name":1139,"callback":1136,"file":1147,"line":862},"includes\\emails\\class-email-customer-receipt.php",{"type":368,"name":1149,"callback":1136,"priority":142,"file":1150,"line":432},"sunshine_add_comment","includes\\emails\\class-email-image-comment.php",{"type":368,"name":1152,"callback":1136,"priority":142,"file":1153,"line":436},"sunshine_order_add_comment","includes\\emails\\class-email-order-comment.php",{"type":368,"name":1155,"callback":1136,"file":1156,"line":441},"sunshine_admin_order_status_update","includes\\emails\\class-email-order-status.php",{"type":368,"name":1158,"callback":1136,"file":1159,"line":28},"sunshine_reset_password","includes\\emails\\class-email-reset-password.php",{"type":368,"name":1142,"callback":1136,"priority":142,"file":1161,"line":28},"includes\\emails\\class-email-signup.php",{"type":368,"name":1163,"callback":1136,"file":1164,"line":404},"sunshine_send_summary","includes\\emails\\class-email-summary.php",{"type":368,"name":1166,"callback":1166,"file":1167,"line":1168},"sunshine_modal_display_signup","includes\\functions\\account.php",73,{"type":368,"name":1170,"callback":1170,"file":1167,"line":336},"sunshine_modal_display_login",{"type":368,"name":1172,"callback":1172,"file":1167,"line":1173},"sunshine_modal_display_require_login",118,{"type":368,"name":1175,"callback":1176,"file":1167,"line":1177},"wp_logout","sunshine_logout",182,{"type":368,"name":814,"callback":1179,"file":1167,"line":1180},"sunshine_password_reset_process",381,{"type":368,"name":814,"callback":1182,"file":1167,"line":1183},"sunshine_login_process",479,{"type":368,"name":814,"callback":1185,"file":1167,"line":1186},"sunshine_save_profile",582,{"type":368,"name":814,"callback":1188,"file":1167,"line":1189},"sunshine_save_addresses",631,{"type":368,"name":1191,"callback":1192,"priority":142,"file":1167,"line":1193},"wp_login","sunshine_track_user_login",657,{"type":368,"name":1195,"callback":1195,"file":1196,"line":317},"sunshine_modal_display_add_to_cart","includes\\functions\\add-to-cart.php",{"type":368,"name":1198,"callback":1198,"file":1196,"line":28},"sunshine_modal_display_add_favorites_to_cart",{"type":368,"name":814,"callback":1200,"file":1196,"line":1201},"sunshine_add_to_cart_url",382,{"type":368,"name":392,"callback":1203,"priority":777,"file":1204,"line":28},"sunshine_update_cart","includes\\functions\\cart.php",{"type":368,"name":392,"callback":1206,"priority":142,"file":1204,"line":1099},"sunshine_delete_cart_item",{"type":368,"name":1142,"callback":1208,"file":1204,"line":506},"sunshine_update_cart_after_signup",{"type":368,"name":1061,"callback":1210,"priority":476,"file":1211,"line":684},"sunshine_checkout_scripts","includes\\functions\\checkout.php",{"type":368,"name":1213,"callback":1213,"file":1214,"line":294},"sunshine_modal_display_comments","includes\\functions\\comments.php",{"type":374,"name":1216,"callback":1217,"priority":142,"file":1218,"line":472},"sunshine_account_require_login_message","sunshine_account_require_login_message_favorites","includes\\functions\\favorites.php",{"type":368,"name":1220,"callback":1221,"file":1218,"line":1222},"sunshine_after_login","sunshine_after_login_add_to_favorites",56,{"type":368,"name":1142,"callback":1221,"file":1218,"line":487},{"type":368,"name":1191,"callback":1225,"priority":142,"file":1218,"line":336},"sunshine_merge_favorites_on_wp_login",{"type":368,"name":1227,"callback":1227,"file":1218,"line":560},"sunshine_modal_display_guest_favorites",{"type":368,"name":392,"callback":1229,"priority":305,"file":1218,"line":983},"sunshine_clear_favorites",{"type":374,"name":1231,"callback":1232,"priority":476,"file":1218,"line":1233},"user_row_actions","sunshine_user_favorites_link_row",255,{"type":368,"name":1235,"callback":1236,"file":1218,"line":1237},"show_user_profile","sunshine_admin_user_show_favorites",263,{"type":368,"name":1239,"callback":1236,"file":1218,"line":1240},"edit_user_profile",264,{"type":368,"name":814,"callback":1242,"file":1218,"line":1243},"sunshine_favorites_check_availability",313,{"type":368,"name":1245,"callback":1246,"file":1218,"line":781},"sunshine_modal_display_share_favorites","sunshine_modal_share_favorites",{"type":368,"name":1248,"callback":1248,"file":1218,"line":1249},"sunshine_add_favorite",364,{"type":368,"name":1251,"callback":1251,"file":1218,"line":1252},"sunshine_delete_favorite",371,{"type":374,"name":1254,"callback":1255,"file":1256,"line":1257},"sunshine_sanitize_amount_decimals","sunshine_currency_decimal_filter","includes\\functions\\formatting.php",194,{"type":374,"name":1259,"callback":1255,"file":1256,"line":970},"sunshine_format_amount_decimals",{"type":374,"name":858,"callback":1261,"priority":142,"file":1262,"line":1263},"sunshine_search_where","includes\\functions\\image.php",246,{"type":368,"name":1265,"callback":1266,"file":1262,"line":1267},"sunshine_after_image","sunshine_show_caption_single_image",294,{"type":368,"name":1269,"callback":1270,"file":1271,"line":1272},"wp_before_admin_bar_render","sunshine_customize_admin_toolbar","includes\\functions\\misc.php",431,{"type":374,"name":1274,"callback":1275,"file":1271,"line":1276},"upload_dir","sunshine_custom_upload_dir",455,{"type":368,"name":1098,"callback":1278,"priority":1279,"file":1271,"line":1280},"sunshine_prevent_prophoto_retina_sunshine",5000,471,{"type":374,"name":573,"callback":1282,"priority":1283,"file":1271,"line":1284},"sunshine_user_has_cap",9996,497,{"type":368,"name":1286,"callback":1287,"priority":142,"file":1271,"line":1288},"pre_get_comments","sunshine_hide_comments",513,{"type":368,"name":1290,"callback":1291,"file":1271,"line":1292},"pre_option_wp_attachment_pages_enabled","__return_true",546,{"type":368,"name":624,"callback":1294,"file":1271,"line":1295},"sunshine_create_htaccess",597,{"type":374,"name":1297,"callback":1298,"priority":219,"file":1299,"line":483},"jetpack_photon_skip_for_url","sunshine_photon_skip_for_url","includes\\functions\\plugin-compat.php",{"type":374,"name":1301,"callback":1302,"priority":219,"file":1299,"line":400},"photon_validate_image_url","sunshine_photon_validate_image_url",{"type":374,"name":1304,"callback":1305,"priority":219,"file":1299,"line":432},"jetpack_photon_skip_image","sunshine_photon_skip_image",{"type":374,"name":1307,"callback":1308,"priority":142,"file":1299,"line":452},"ewww_image_optimizer_bypass","sunshine_ewww_image_optimizer_bypass",{"type":374,"name":1310,"callback":1311,"priority":142,"file":1299,"line":652},"ewww_image_optimizer_resize_dimensions","sunshine_ewww_image_optimizer_resize_dimensions",{"type":368,"name":1313,"callback":1314,"priority":102,"file":1299,"line":291},"sunshine_after_image_process","sunshine_ewww_image_optimizer_editor_overwrite",{"type":374,"name":1316,"callback":1317,"priority":142,"file":1299,"line":1318},"ewww_image_optimizer_background_optimization","sunshine_ewww_disable_background_for_sunshine",61,{"type":374,"name":1320,"callback":1321,"priority":142,"file":1299,"line":1322},"imagify_auto_optimize_attachment","sunshine_imagify_auto_optimize_attachment",70,{"type":374,"name":1324,"callback":1325,"priority":142,"file":1299,"line":1326},"shortpixel\u002Fmedia\u002Fuploadhook","sunshine_shortpixel_media_uploadhook",81,{"type":374,"name":1328,"callback":1329,"priority":219,"file":1299,"line":13},"wp_generate_attachment_metadata","sunshine_image_optimization_elementor_bypass",{"type":374,"name":1331,"callback":1332,"priority":142,"file":1333,"line":420},"wpseo_sitemap_exclude_post_type","sunshine_yoast_sitemap_exclude_post_type","includes\\functions\\seo.php",{"type":374,"name":1335,"callback":1336,"priority":444,"file":1333,"line":659},"wpseo_opengraph_image","sunshine_yoast_alter_existing_opengraph_image",{"type":374,"name":1338,"callback":1339,"file":1333,"line":1340},"wpseo_opengraph_image_width","sunshine_yoast_change_opengraph_image_width",49,{"type":374,"name":1342,"callback":1343,"file":1333,"line":506},"wpseo_opengraph_image_height","sunshine_yoast_change_opengraph_image_height",{"type":374,"name":1345,"callback":1346,"priority":142,"file":1333,"line":777},"wpseo_attachment_redirect_url","sunshine_yoast_prevent_image_redirect",{"type":374,"name":1348,"callback":1349,"file":1333,"line":1350},"rank_math\u002Ffrontend\u002Fattachment\u002Fredirect_url","sunshine_rank_math_prevent_image_redirect",117,{"type":374,"name":1352,"callback":1353,"file":1333,"line":1354},"wpseo_exclude_from_sitemap_by_post_ids","sunshine_wpseo_exclude_galleries",169,{"type":374,"name":1356,"callback":1357,"priority":142,"file":1333,"line":1358},"aioseo_sitemap_exclude_posts","sunshine_aioseo_sitemap_exclude_posts",183,{"type":374,"name":1360,"callback":1361,"priority":142,"file":1333,"line":1362},"rank_math\u002Fsitemap\u002Fentry","sunshine_rank_math_entry",203,{"type":374,"name":1364,"callback":1365,"priority":142,"file":1333,"line":1366},"seopress_sitemaps_single_url","sunshine_seopress_sitemaps_single_url",222,{"type":368,"name":1368,"callback":1368,"file":1369,"line":294},"sunshine_modal_display_share","includes\\functions\\share.php",{"type":368,"name":1371,"callback":1371,"file":1372,"line":294},"sunshine_modal_display_store_product","includes\\functions\\store.php",{"type":368,"name":1374,"callback":1375,"file":1376,"line":1377},"sunshine_checkout_start_form","sunshine_checkout_login_form","includes\\functions\\template.php",690,{"type":368,"name":1379,"callback":1380,"priority":476,"file":1376,"line":1381},"sunshine_after_cart","sunshine_gallery_return",865,{"type":368,"name":1313,"callback":1383,"priority":142,"file":1384,"line":1385},"sunshine_watermark_media_upload","includes\\functions\\watermark.php",374,{"type":368,"name":1387,"callback":1388,"priority":396,"file":1389,"line":400},"sunshine_order","show_instructions","includes\\payment-methods\\offline.php",{"type":368,"name":1391,"callback":1392,"priority":396,"file":1389,"line":404},"sunshine_email_order_receipt","show_instructions_email",{"type":374,"name":1114,"callback":1394,"file":1395,"line":426},"transaction_url","includes\\payment-methods\\paypal-legacy.php",{"type":374,"name":1397,"callback":1398,"priority":142,"file":1395,"line":429},"sunshine_admin_order_tabs","admin_order_tab",{"type":368,"name":1400,"callback":1401,"file":1395,"line":432},"sunshine_admin_order_tab_paypal-legacy","admin_order_tab_content_paypal_legacy",{"type":368,"name":814,"callback":1403,"file":1395,"line":436},"ipn",{"type":368,"name":814,"callback":1405,"file":1395,"line":862},"clear_cart",{"type":368,"name":814,"callback":1407,"file":1395,"line":441},"cancel_order",{"type":368,"name":1032,"callback":1033,"file":1409,"line":436},"includes\\payment-methods\\paypal.php",{"type":368,"name":1411,"callback":1022,"file":1409,"line":586},"sunshine_checkout_process_payment_paypal",{"type":374,"name":1114,"callback":1394,"file":1409,"line":460},{"type":374,"name":1397,"callback":1398,"priority":142,"file":1409,"line":600},{"type":368,"name":1415,"callback":1416,"file":1409,"line":465},"sunshine_admin_order_tab_paypal","admin_order_tab_content_paypal",{"type":368,"name":1418,"callback":1419,"priority":142,"file":1409,"line":652},"sunshine_order_actions","order_actions",{"type":368,"name":1421,"callback":1422,"file":1409,"line":469},"sunshine_order_actions_options","order_actions_options",{"type":368,"name":1424,"callback":1425,"file":1409,"line":196},"sunshine_order_process_action_paypal_refund","process_refund",{"type":368,"name":1427,"callback":1428,"file":1409,"line":472},"sunshine_checkout_validation","checkout_validation",{"type":368,"name":1430,"callback":1431,"file":1432,"line":432},"sunshine_square_connect_display","square_connect_display","includes\\payment-methods\\square.php",{"type":368,"name":387,"callback":1434,"file":1432,"line":636},"square_connect_return",{"type":368,"name":387,"callback":1436,"file":1432,"line":436},"square_disconnect",{"type":368,"name":387,"callback":1438,"file":1432,"line":862},"square_refresh_locations",{"type":368,"name":387,"callback":1440,"file":1432,"line":441},"square_refresh_token",{"type":368,"name":1442,"callback":1443,"file":1432,"line":452},"sunshine_square_access_token_refresh","refresh_token",{"type":368,"name":814,"callback":1445,"file":1432,"line":586},"init_setup",{"type":368,"name":1032,"callback":1033,"file":1432,"line":460},{"type":368,"name":1448,"callback":1022,"file":1432,"line":469},"sunshine_checkout_process_payment_square",{"type":374,"name":1397,"callback":1398,"priority":142,"file":1432,"line":1340},{"type":368,"name":1451,"callback":1452,"file":1432,"line":291},"sunshine_admin_order_tab_square","admin_order_tab_content_square",{"type":368,"name":1418,"callback":1419,"priority":142,"file":1432,"line":1099},{"type":368,"name":1421,"callback":1422,"file":1432,"line":901},{"type":368,"name":1456,"callback":1425,"file":1432,"line":484},"sunshine_order_process_action_square_refund",{"type":368,"name":1427,"callback":1428,"file":1432,"line":1222},{"type":368,"name":1459,"callback":1460,"file":1461,"line":1462},"sunshine_stripe_connect_display","stripe_connect_display","includes\\payment-methods\\stripe.php",315,{"type":368,"name":1464,"callback":1465,"file":1461,"line":1466},"sunshine_stripe_webhook_display","stripe_webhook_display",316,{"type":368,"name":1468,"callback":1469,"file":1461,"line":1470},"sunshine_stripe_payment_methods_display","stripe_payment_methods_display",317,{"type":368,"name":387,"callback":1472,"file":1461,"line":1473},"stripe_connect_return",318,{"type":368,"name":387,"callback":1475,"file":1461,"line":1476},"stripe_disconnect_return",319,{"type":368,"name":387,"callback":1478,"file":1461,"line":1479},"setup_payment_domain_manual",320,{"type":374,"name":1481,"callback":1482,"priority":142,"file":1461,"line":1483},"sunshine_checkout_post_process_order","checkout_post_process_order",334,{"type":368,"name":387,"callback":1485,"priority":102,"file":1461,"line":1486},"set_payment_intent_manually",336,{"type":368,"name":1032,"callback":1033,"file":1461,"line":1488},338,{"type":368,"name":1490,"callback":1491,"file":1461,"line":1492},"sunshine_checkout_update_payment_method","update_payment_method",340,{"type":368,"name":1494,"callback":1495,"file":1461,"line":1496},"sunshine_checkout_init_order_success","init_order",342,{"type":368,"name":814,"callback":1498,"file":1461,"line":1499},"check_order_paid",344,{"type":368,"name":814,"callback":1501,"file":1461,"line":1502},"process_webhook",345,{"type":368,"name":814,"callback":1504,"priority":28,"file":1461,"line":1505},"payment_return",347,{"type":368,"name":814,"callback":1507,"file":1461,"line":1508},"stripe_checkout_return",350,{"type":368,"name":814,"callback":1510,"file":1461,"line":1511},"stripe_checkout_cancel",351,{"type":374,"name":1110,"callback":1111,"priority":142,"file":1461,"line":1513},354,{"type":368,"name":1515,"callback":1022,"file":1461,"line":1516},"sunshine_checkout_process_payment_stripe",356,{"type":374,"name":1114,"callback":1394,"file":1461,"line":1518},358,{"type":374,"name":1397,"callback":1398,"priority":142,"file":1461,"line":1520},360,{"type":368,"name":1522,"callback":1523,"file":1461,"line":1524},"sunshine_admin_order_tab_stripe","admin_order_tab_content_stripe",361,{"type":368,"name":1418,"callback":1419,"priority":142,"file":1461,"line":1526},363,{"type":368,"name":1421,"callback":1422,"file":1461,"line":1249},{"type":368,"name":1529,"callback":1425,"file":1461,"line":1530},"sunshine_order_process_action_stripe_refund",365,{"type":368,"name":1427,"callback":1428,"file":1461,"line":1532},367,{"type":368,"name":1534,"callback":1535,"priority":476,"file":1536,"line":483},"sunshine_before_content","sunshine_show_notices","includes\\template-hooks.php",{"type":368,"name":1534,"callback":1538,"priority":483,"file":1536,"line":219},"sunshine_before_custom_content",{"type":368,"name":1540,"callback":1541,"priority":29,"file":1536,"line":420},"sunshine_after_content","sunshine_after_custom_content",{"type":368,"name":1543,"callback":1544,"priority":74,"file":1536,"line":862},"sunshine_single_gallery","sunshine_show_gallery_page_header",{"type":368,"name":1546,"callback":1547,"priority":74,"file":1536,"line":456},"sunshine_single_image","sunshine_show_image_page_header",{"type":368,"name":1549,"callback":1550,"priority":291,"file":1536,"line":469},"sunshine_galleries","sunshine_gallery_loop_display",{"type":368,"name":1543,"callback":1552,"file":1536,"line":1168},"sunshine_single_gallery_display",{"type":374,"name":1098,"callback":1098,"file":1536,"line":1554},178,{"type":368,"name":1546,"callback":1556,"file":1536,"line":1362},"sunshine_single_image_display",{"type":368,"name":1546,"callback":1558,"priority":28,"file":1536,"line":1559},"sunshine_image_nav",254,{"type":368,"name":1561,"callback":1562,"file":1536,"line":1563},"sunshine_cart","sunshine_display_cart",257,{"type":368,"name":1565,"callback":1566,"file":1536,"line":1567},"sunshine_checkout","sunshine_display_checkout",267,{"type":368,"name":1387,"callback":1569,"priority":102,"file":1536,"line":1570},"sunshine_display_order_title",277,{"type":368,"name":1572,"callback":1569,"priority":102,"file":1536,"line":1573},"sunshine_order_received",278,{"type":368,"name":1387,"callback":1575,"priority":142,"file":1536,"line":1576},"sunshine_display_order_status",288,{"type":368,"name":1572,"callback":1575,"priority":142,"file":1536,"line":1578},289,{"type":368,"name":1387,"callback":1580,"priority":28,"file":1536,"line":1581},"sunshine_display_order_details",299,{"type":368,"name":1572,"callback":1580,"priority":28,"file":1536,"line":1583},300,{"type":368,"name":1387,"callback":1585,"priority":315,"file":1536,"line":1586},"sunshine_display_order_items",307,{"type":368,"name":1572,"callback":1585,"priority":315,"file":1536,"line":1588},308,{"type":368,"name":1387,"callback":1590,"priority":609,"file":1536,"line":1462},"sunshine_display_order_totals",{"type":368,"name":1572,"callback":1590,"priority":609,"file":1536,"line":1466},{"type":368,"name":1593,"callback":1594,"file":1536,"line":1595},"sunshine_favorites","sunshine_display_favorites",325,{"type":368,"name":1597,"callback":1598,"file":1536,"line":1502},"sunshine_account","sunshine_display_account",{"type":368,"name":1600,"callback":1601,"file":1536,"line":1602},"sunshine_account_menu","sunshine_display_account_menu",385,{"type":368,"name":1604,"callback":1605,"file":1536,"line":1606},"sunshine_account_content","sunshine_display_account_content",392,{"type":368,"name":1608,"callback":1609,"file":1536,"line":1610},"sunshine_account_orders","sunshine_display_account_orders",406,{"type":368,"name":1612,"callback":1613,"file":1536,"line":1614},"sunshine_account_addresses","sunshine_display_account_addresses",411,{"type":368,"name":1616,"callback":1617,"file":1536,"line":1618},"sunshine_account_galleries","sunshine_display_account_galleries",443,{"type":368,"name":1620,"callback":1621,"file":1536,"line":1622},"sunshine_account_profile","sunshine_display_account_profile",448,{"type":368,"name":1624,"callback":1625,"file":1536,"line":1626},"sunshine_account_login","sunshine_display_account_login",459,{"type":368,"name":1628,"callback":1629,"file":1536,"line":1630},"sunshine_account_reset-password","sunshine_display_reset_password",468,{"type":368,"name":1632,"callback":1633,"file":1536,"line":1634},"sunshine_search_results","sunshine_display_search_results",491,{"type":368,"name":1636,"callback":1637,"file":1536,"line":1638},"sunshine_invoice_after_data","sunshine_invoice_custom_content",503,{"type":368,"name":1640,"callback":1641,"file":1642,"line":1240},"widgets_init","sunshine_widgets_init","includes\\widgets.php",{"type":368,"name":1644,"callback":1645,"priority":777,"file":1646,"line":465},"after_setup_theme","sunshine_load_textdomain","sunshine-photo-cart.php",{"type":374,"name":1648,"callback":1649,"priority":142,"file":1646,"line":659},"load_textdomain_mofile","sunshine_load_own_translations",{"type":368,"name":1054,"callback":1651,"file":1652,"line":684},"sunshine_theme_classic_css","themes\\classic\\functions.php",{"type":368,"name":1054,"callback":1654,"file":1655,"line":445},"sunshine_theme_cover_css","themes\\cover\\functions.php",{"type":374,"name":1045,"callback":1657,"file":1655,"line":613},"sunshine_theme_cover_main_menu",{"type":368,"name":1534,"callback":1659,"priority":102,"file":1660,"line":684},"sunshine_before_content_start_sunshine","themes\\theme\\functions.php",{"type":368,"name":1534,"callback":1662,"priority":317,"file":1660,"line":60},"sunshine_before_content_start_main",{"type":368,"name":1534,"callback":1664,"priority":483,"file":1660,"line":416},"sunshine_main_menu_display",{"type":368,"name":1540,"callback":1666,"priority":1667,"file":1660,"line":636},"sunshine_after_content_end_main",995,{"type":368,"name":1540,"callback":1669,"priority":102,"file":1660,"line":866},"sunshine_after_content_end_sunshine",[1671,1676,1679,1682,1685,1689,1693,1696,1699,1702,1705,1708,1711,1714,1717,1720,1723,1726,1729,1732,1734,1737,1740,1742,1744,1746,1749,1752,1755,1758,1761,1764,1767,1771,1774,1778,1781,1785,1788,1791,1794,1797,1801,1805,1808,1811,1814,1816,1820,1823,1827,1829,1830,1833,1836,1838,1841,1843,1845,1847,1851,1853,1855,1856,1859,1860,1864,1866,1869,1871,1874,1876,1879,1881,1884,1886,1889,1891,1894,1895,1898,1900,1902,1903,1905,1907,1910,1912,1914,1917,1918,1921,1922,1925,1926,1929,1931,1933,1934,1937,1938,1941,1943,1946,1947,1949,1950,1954,1958,1962,1963,1967],{"action":1672,"nopriv":1673,"callback":1672,"hasNonce":1674,"hasCapCheck":1674,"file":371,"line":1675},"sunshine_addon_toggle",false,true,292,{"action":1677,"nopriv":1673,"callback":1678,"hasNonce":1674,"hasCapCheck":1674,"file":393,"line":413},"sunshine_search_users","search_users",{"action":1680,"nopriv":1673,"callback":1681,"hasNonce":1674,"hasCapCheck":1674,"file":393,"line":416},"sunshine_search_galleries","search_galleries",{"action":1683,"nopriv":1673,"callback":1684,"hasNonce":1674,"hasCapCheck":1674,"file":393,"line":420},"sunshine_search_products","search_products",{"action":1686,"nopriv":1673,"callback":1687,"hasNonce":1673,"hasCapCheck":1673,"file":408,"line":1688},"sunshine_term_sort","term_sort",64,{"action":1690,"nopriv":1673,"callback":1691,"hasNonce":1673,"hasCapCheck":1673,"file":408,"line":1692},"sunshine_post_sort","post_sort",65,{"action":1694,"nopriv":1673,"callback":1695,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":436},"sunshine_update_3_settings_data","update_3_settings_data",{"action":1697,"nopriv":1673,"callback":1698,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":862},"sunshine_update_3_customers_update","update_3_customers_update",{"action":1700,"nopriv":1673,"callback":1701,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":441},"sunshine_update_3_products_update","update_3_products_update",{"action":1703,"nopriv":1673,"callback":1704,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":445},"sunshine_update_3_discounts_update","update_3_discounts_update",{"action":1706,"nopriv":1673,"callback":1707,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":866},"sunshine_update_3_emails_update","update_3_emails_update",{"action":1709,"nopriv":1673,"callback":1710,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":448},"sunshine_update_3_orders_update","update_3_orders_update",{"action":1712,"nopriv":1673,"callback":1713,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":315},"sunshine_update_3_galleries_common_update","update_3_galleries_common_update",{"action":1715,"nopriv":1673,"callback":1716,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":875},"sunshine_update_3_galleries_update","update_3_galleries_update",{"action":1718,"nopriv":1673,"callback":1719,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":452},"sunshine_update_3_images_update","update_3_images_update",{"action":1721,"nopriv":1673,"callback":1722,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":456},"sunshine_update_3_galleries_duplicate_meta","update_3_galleries_duplicate_meta",{"action":1724,"nopriv":1673,"callback":1725,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":586},"sunshine_update_3_complete","update_3_complete",{"action":1727,"nopriv":1673,"callback":1728,"hasNonce":1674,"hasCapCheck":1674,"file":631,"line":589},"sunshine_update_3_cleanup","update_3_cleanup",{"action":1730,"nopriv":1673,"callback":1731,"hasNonce":1673,"hasCapCheck":1673,"file":683,"line":48},"sunshine_dashboard_calculate_stats","calculate_stats",{"action":1733,"nopriv":1673,"callback":1733,"hasNonce":1674,"hasCapCheck":1674,"file":690,"line":378},"sunshine_gallery_navigator_load",{"action":1735,"nopriv":1673,"callback":1735,"hasNonce":1674,"hasCapCheck":1674,"file":690,"line":1736},"sunshine_gallery_navigator_reorder",202,{"action":1738,"nopriv":1673,"callback":1739,"hasNonce":1674,"hasCapCheck":1673,"file":708,"line":378},"sunshine_active_emails","sunshine_active_emails_toggle",{"action":1741,"nopriv":1673,"callback":1741,"hasNonce":1674,"hasCapCheck":1673,"file":711,"line":13},"sunshine_sort_payment_methods",{"action":1743,"nopriv":1673,"callback":1743,"hasNonce":1674,"hasCapCheck":1673,"file":711,"line":579},"sunshine_delete_payment_method",{"action":1745,"nopriv":1673,"callback":1745,"hasNonce":1674,"hasCapCheck":1673,"file":711,"line":749},"sunshine_activate_payment_method",{"action":1747,"nopriv":1673,"callback":1747,"hasNonce":1674,"hasCapCheck":1673,"file":714,"line":1748},"sunshine_add_shipping_method",157,{"action":1750,"nopriv":1673,"callback":1750,"hasNonce":1674,"hasCapCheck":1673,"file":714,"line":1751},"sunshine_sort_shipping_methods",185,{"action":1753,"nopriv":1673,"callback":1753,"hasNonce":1674,"hasCapCheck":1673,"file":714,"line":1754},"sunshine_delete_shipping_method",206,{"action":1756,"nopriv":1673,"callback":1756,"hasNonce":1674,"hasCapCheck":1673,"file":714,"line":1757},"sunshine_active_shipping_methods",232,{"action":1759,"nopriv":1673,"callback":1759,"hasNonce":1674,"hasCapCheck":1673,"file":717,"line":1760},"sunshine_sort_tax_rates",190,{"action":1762,"nopriv":1673,"callback":1762,"hasNonce":1674,"hasCapCheck":1673,"file":717,"line":1763},"sunshine_delete_tax_rate",211,{"action":1765,"nopriv":1673,"callback":1765,"hasNonce":1674,"hasCapCheck":1673,"file":717,"line":1766},"sunshine_show_tax_states",233,{"action":1768,"nopriv":1673,"callback":1769,"hasNonce":1673,"hasCapCheck":1673,"file":772,"line":1770},"load_edit_image_modal","sunshine_ajax_load_edit_image_modal",310,{"action":526,"nopriv":1673,"callback":1772,"hasNonce":1673,"hasCapCheck":1673,"file":772,"line":1773},"sunshine_save_attachment_fields_via_ajax",329,{"action":1775,"nopriv":1673,"callback":1776,"hasNonce":1673,"hasCapCheck":1673,"file":772,"line":1777},"sunshine_gallery_refresh_images","sunshine_gallery_get_refreshed_images",1079,{"action":1779,"nopriv":1673,"callback":1779,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1780},"sunshine_gallery_add_media_images",1096,{"action":1782,"nopriv":1673,"callback":1783,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1784},"sunshine_gallery_upload","sunshine_gallery_admin_ajax_upload",1131,{"action":1786,"nopriv":1673,"callback":1786,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1787},"sunshine_gallery_image_sort",1461,{"action":1789,"nopriv":1673,"callback":1789,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1790},"sunshine_gallery_load_more",1492,{"action":1792,"nopriv":1673,"callback":1792,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1793},"sunshine_gallery_image_delete",1519,{"action":1795,"nopriv":1673,"callback":1795,"hasNonce":1674,"hasCapCheck":1673,"file":772,"line":1796},"sunshine_gallery_image_featured",1536,{"action":1798,"nopriv":1673,"callback":1799,"hasNonce":1673,"hasCapCheck":1674,"file":772,"line":1800},"sunshine_gallery_import_list","sunshine_ajax_gallery_import_list",1695,{"action":1802,"nopriv":1673,"callback":1803,"hasNonce":1673,"hasCapCheck":1673,"file":772,"line":1804},"sunshine_gallery_import","sunshine_ajax_gallery_import",1747,{"action":1806,"nopriv":1673,"callback":1807,"hasNonce":1673,"hasCapCheck":1673,"file":834,"line":60},"sunshine_customer_search","customer_search",{"action":1809,"nopriv":1673,"callback":1810,"hasNonce":1673,"hasCapCheck":1673,"file":834,"line":396},"sunshine_gallery_search","gallery_search",{"action":1812,"nopriv":1673,"callback":1813,"hasNonce":1674,"hasCapCheck":1673,"file":834,"line":1340},"sunshine_order_save_notes","save_notes",{"action":1152,"nopriv":1673,"callback":1815,"hasNonce":1674,"hasCapCheck":1673,"file":834,"line":291},"add_comment",{"action":1817,"nopriv":1673,"callback":1818,"hasNonce":1674,"hasCapCheck":1674,"file":1819,"line":396},"sunshine_clear_orphan","clear_orphan","includes\\admin\\tools\\orphans.php",{"action":1821,"nopriv":1673,"callback":1822,"hasNonce":1674,"hasCapCheck":1674,"file":995,"line":404},"sunshine_regenerate_image","regenerate_image",{"action":1824,"nopriv":1673,"callback":1825,"hasNonce":1674,"hasCapCheck":1674,"file":1826,"line":396},"sunshine_delete_unused_image_sizes","delete_unused_image_sizes","includes\\admin\\tools\\unused-image-sizes.php",{"action":1828,"nopriv":1674,"callback":1495,"hasNonce":1674,"hasCapCheck":1673,"file":1016,"line":609},"sunshine_checkout_init_order",{"action":1828,"nopriv":1673,"callback":1495,"hasNonce":1674,"hasCapCheck":1673,"file":1016,"line":652},{"action":1831,"nopriv":1673,"callback":1832,"hasNonce":1673,"hasCapCheck":1673,"file":1104,"line":396},"sunshine_notice_dismiss","dismiss",{"action":1834,"nopriv":1674,"callback":1834,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1835},"sunshine_modal_login",179,{"action":1834,"nopriv":1673,"callback":1834,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1837},180,{"action":1839,"nopriv":1674,"callback":1839,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1840},"sunshine_modal_signup",280,{"action":1839,"nopriv":1673,"callback":1839,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1842},281,{"action":1844,"nopriv":1674,"callback":1844,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1483},"sunshine_modal_reset_password",{"action":1844,"nopriv":1673,"callback":1844,"hasNonce":1674,"hasCapCheck":1673,"file":1167,"line":1846},335,{"action":1848,"nopriv":1674,"callback":1849,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1850},"sunshine_product_details","sunshine_modal_product_details",121,{"action":1848,"nopriv":1673,"callback":1849,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1852},122,{"action":1854,"nopriv":1674,"callback":1854,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1177},"sunshine_modal_add_item_to_cart",{"action":1854,"nopriv":1673,"callback":1854,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1358},{"action":1857,"nopriv":1674,"callback":1857,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1858},"sunshine_modal_add_favorites_to_cart",291,{"action":1857,"nopriv":1673,"callback":1857,"hasNonce":1673,"hasCapCheck":1673,"file":1196,"line":1675},{"action":1861,"nopriv":1673,"callback":1862,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1863},"sunshine_checkout_update","sunshine_checkout_update_summary",823,{"action":1861,"nopriv":1674,"callback":1862,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1865},824,{"action":1867,"nopriv":1673,"callback":1867,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1868},"sunshine_checkout_process_section",852,{"action":1867,"nopriv":1674,"callback":1867,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1870},853,{"action":1872,"nopriv":1673,"callback":1872,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1873},"sunshine_checkout_select_delivery_method",878,{"action":1872,"nopriv":1674,"callback":1872,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1875},879,{"action":1877,"nopriv":1673,"callback":1877,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1878},"sunshine_checkout_select_shipping_method",908,{"action":1877,"nopriv":1674,"callback":1877,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1880},909,{"action":1882,"nopriv":1673,"callback":1882,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1883},"sunshine_checkout_use_credits",939,{"action":1882,"nopriv":1674,"callback":1882,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1885},940,{"action":1887,"nopriv":1673,"callback":1887,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1888},"sunshine_checkout_select_payment_method",968,{"action":1887,"nopriv":1674,"callback":1887,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1890},969,{"action":1892,"nopriv":1673,"callback":1892,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1893},"sunshine_checkout_update_state",998,{"action":1892,"nopriv":1674,"callback":1892,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":444},{"action":1896,"nopriv":1673,"callback":1896,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1897},"sunshine_checkout_payment_failed",1036,{"action":1896,"nopriv":1674,"callback":1896,"hasNonce":1674,"hasCapCheck":1673,"file":1211,"line":1899},1037,{"action":1901,"nopriv":1674,"callback":1901,"hasNonce":1674,"hasCapCheck":1673,"file":1214,"line":448},"sunshine_modal_add_comment",{"action":1901,"nopriv":1673,"callback":1901,"hasNonce":1674,"hasCapCheck":1673,"file":1214,"line":315},{"action":1904,"nopriv":1673,"callback":1904,"hasNonce":1673,"hasCapCheck":1673,"file":1218,"line":579},"sunshine_add_to_favorites",{"action":1904,"nopriv":1674,"callback":1904,"hasNonce":1673,"hasCapCheck":1673,"file":1218,"line":1906},116,{"action":1908,"nopriv":1674,"callback":1908,"hasNonce":1673,"hasCapCheck":1673,"file":1218,"line":1909},"sunshine_guest_favorites_mode",181,{"action":1911,"nopriv":1673,"callback":1911,"hasNonce":1673,"hasCapCheck":1673,"file":1218,"line":1496},"sunshine_modal_favorites_share_process",{"action":1911,"nopriv":1674,"callback":1911,"hasNonce":1673,"hasCapCheck":1673,"file":1218,"line":1913},343,{"action":1915,"nopriv":1674,"callback":1915,"hasNonce":1674,"hasCapCheck":1673,"file":1262,"line":1916},"sunshine_get_image_data",261,{"action":1915,"nopriv":1673,"callback":1915,"hasNonce":1674,"hasCapCheck":1673,"file":1262,"line":778},{"action":1919,"nopriv":1674,"callback":1919,"hasNonce":1674,"hasCapCheck":1673,"file":1920,"line":294},"sunshine_modal_display","includes\\functions\\modal.php",{"action":1919,"nopriv":1673,"callback":1919,"hasNonce":1674,"hasCapCheck":1673,"file":1920,"line":317},{"action":1923,"nopriv":1674,"callback":1923,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":1924},"sunshine_multi_image_select_images",84,{"action":1923,"nopriv":1673,"callback":1923,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":346},{"action":1927,"nopriv":1674,"callback":1927,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":1928},"sunshine_multi_image_select_gallery_images",150,{"action":1927,"nopriv":1673,"callback":1927,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":1930},151,{"action":1932,"nopriv":1673,"callback":1932,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":950},"sunshine_multi_image_select_images_item",{"action":1932,"nopriv":1674,"callback":1932,"hasNonce":1674,"hasCapCheck":1673,"file":1372,"line":1257},{"action":1935,"nopriv":1673,"callback":1936,"hasNonce":1674,"hasCapCheck":1673,"file":1376,"line":1520},"sunshine_gallery_pagination","sunshine_gallery_pagination_load",{"action":1935,"nopriv":1674,"callback":1936,"hasNonce":1674,"hasCapCheck":1673,"file":1376,"line":1524},{"action":1939,"nopriv":1673,"callback":1940,"hasNonce":1674,"hasCapCheck":1673,"file":1376,"line":1622},"sunshine_galleries_pagination","sunshine_galleries_pagination_load",{"action":1939,"nopriv":1674,"callback":1940,"hasNonce":1674,"hasCapCheck":1673,"file":1376,"line":1942},449,{"action":1944,"nopriv":1673,"callback":1945,"hasNonce":1674,"hasCapCheck":1673,"file":1409,"line":445},"sunshine_checkout_paypal_create_order","create_order",{"action":1944,"nopriv":1674,"callback":1945,"hasNonce":1674,"hasCapCheck":1673,"file":1409,"line":866},{"action":1948,"nopriv":1674,"callback":1495,"hasNonce":1673,"hasCapCheck":1673,"file":1432,"line":465},"sunshine_square_init_order",{"action":1948,"nopriv":1673,"callback":1495,"hasNonce":1673,"hasCapCheck":1673,"file":1432,"line":609},{"action":1951,"nopriv":1673,"callback":1952,"hasNonce":1674,"hasCapCheck":1674,"file":1461,"line":1953},"sunshine_stripe_sync_payment_methods","sync_payment_methods_ajax",321,{"action":1955,"nopriv":1673,"callback":1956,"hasNonce":1674,"hasCapCheck":1674,"file":1461,"line":1957},"sunshine_stripe_toggle_payment_method","toggle_payment_method_ajax",322,{"action":1959,"nopriv":1673,"callback":1960,"hasNonce":1673,"hasCapCheck":1673,"file":1461,"line":1961},"sunshine_stripe_log_payment","log_payment",328,{"action":1959,"nopriv":1674,"callback":1960,"hasNonce":1673,"hasCapCheck":1673,"file":1461,"line":1773},{"action":1964,"nopriv":1673,"callback":1965,"hasNonce":1673,"hasCapCheck":1673,"file":1461,"line":1966},"sunshine_stripe_create_payment_intent","create_payment_intent",331,{"action":1964,"nopriv":1674,"callback":1965,"hasNonce":1673,"hasCapCheck":1673,"file":1461,"line":1968},332,[],[1971,1974,1977,1979,1981,1984,1986,1989,1992,1996,1999,2002],{"tag":1549,"callback":1972,"file":1973,"line":404},"sunshine_galleries_shortcode","includes\\shortcodes.php",{"tag":1975,"callback":1976,"file":1973,"line":452},"sunshine_gallery","sunshine_gallery_shortcode",{"tag":1561,"callback":1978,"file":1973,"line":86},"sunshine_cart_shortcode",{"tag":1565,"callback":1980,"file":1973,"line":336},"sunshine_checkout_shortcode",{"tag":1593,"callback":1982,"file":1973,"line":1983},"sunshine_favorites_shortcode",104,{"tag":1597,"callback":1985,"file":1973,"line":1852},"sunshine_account_shortcode",{"tag":1987,"callback":1988,"file":1973,"line":749},"sunshine_gallery_password","sunshine_gallery_password_shortcode",{"tag":1990,"callback":1988,"file":1973,"line":1991},"sunshine-gallery-password",142,{"tag":1993,"callback":1994,"file":1973,"line":1995},"sunshine_menu","sunshine_menu_shortcode",161,{"tag":1997,"callback":1998,"file":1973,"line":732},"sunshine_search","sunshine_search_shortcode",{"tag":2000,"callback":2001,"file":1973,"line":1751},"sunshine_cart_quantity","sunshine_cart_quantity_shortcode",{"tag":2003,"callback":2004,"file":1973,"line":1760},"sunshine_mini_cart","sunshine_mini_cart_shortcode",[2006,2008,2009,2010,2012,2013,2014,2015,2016,2018,2020,2022,2023],{"hook":369,"callback":369,"file":631,"line":2007},119,{"hook":1120,"callback":1120,"file":631,"line":1852},{"hook":1163,"callback":1163,"file":631,"line":279},{"hook":598,"callback":598,"file":631,"line":2011},130,{"hook":1001,"callback":1001,"file":631,"line":670},{"hook":624,"callback":624,"file":631,"line":14},{"hook":369,"callback":369,"file":696,"line":757},{"hook":1120,"callback":1120,"file":696,"line":256},{"hook":1163,"callback":1163,"file":696,"line":2017},422,{"hook":598,"callback":598,"file":696,"line":2019},425,{"hook":1001,"callback":1001,"file":696,"line":2021},428,{"hook":624,"callback":624,"file":696,"line":1272},{"hook":1442,"callback":1442,"file":1432,"line":773},124,{"dangerousFunctions":2026,"sqlUsage":2031,"outputEscaping":2066,"fileOperations":196,"externalRequests":28,"nonceChecks":545,"capabilityChecks":506,"bundledLibraries":2298},[2027],{"fn":2028,"file":1122,"line":2029,"context":2030},"unserialize",164,"$value = @unserialize( $this->data[ $key ] );",{"prepared":1322,"raw":432,"locations":2032},[2033,2036,2037,2038,2039,2042,2044,2045,2047,2050,2051,2053,2055,2057,2058,2059,2060,2061,2062,2063,2064,2065],{"file":631,"line":2034,"context":2035},191,"$wpdb->query() with variable interpolation",{"file":631,"line":1479,"context":2035},{"file":631,"line":1953,"context":2035},{"file":631,"line":1957,"context":2035},{"file":683,"line":2040,"context":2041},198,"$wpdb->get_row() with variable interpolation",{"file":696,"line":2024,"context":2043},"$wpdb->get_results() with variable interpolation",{"file":711,"line":964,"context":2035},{"file":714,"line":2046,"context":2035},225,{"file":2048,"line":413,"context":2049},"includes\\admin\\tools\\sessions.php","$wpdb->get_var() with variable interpolation",{"file":2048,"line":866,"context":2035},{"file":999,"line":2052,"context":2049},105,{"file":1122,"line":2054,"context":2035},284,{"file":2056,"line":404,"context":2035},"uninstall.php",{"file":2056,"line":416,"context":2035},{"file":2056,"line":456,"context":2035},{"file":2056,"line":460,"context":2035},{"file":2056,"line":600,"context":2035},{"file":2056,"line":480,"context":2035},{"file":2056,"line":1099,"context":2035},{"file":2056,"line":901,"context":2035},{"file":2056,"line":1688,"context":2035},{"file":2056,"line":500,"context":2035},{"escaped":2067,"rawEcho":2068,"locations":2069},3274,128,[2070,2073,2075,2077,2079,2081,2083,2085,2086,2088,2090,2092,2093,2094,2096,2097,2099,2100,2102,2104,2106,2108,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2132,2134,2136,2137,2138,2140,2141,2142,2144,2145,2147,2149,2151,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2175,2177,2179,2181,2183,2184,2186,2188,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2228,2229,2230,2232,2234,2235,2237,2238,2239,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2259,2261,2262,2264,2265,2267,2268,2269,2270,2272,2274,2275,2277,2279,2281,2283,2285,2287,2289,2290,2292,2294,2296],{"file":393,"line":2071,"context":2072},137,"raw output",{"file":393,"line":2074,"context":2072},155,{"file":393,"line":2076,"context":2072},717,{"file":393,"line":2078,"context":2072},776,{"file":393,"line":2080,"context":2072},1016,{"file":393,"line":2082,"context":2072},1046,{"file":393,"line":2084,"context":2072},1076,{"file":583,"line":372,"context":2072},{"file":602,"line":2087,"context":2072},625,{"file":602,"line":2089,"context":2072},793,{"file":602,"line":2091,"context":2072},795,{"file":664,"line":1760,"context":2072},{"file":664,"line":1362,"context":2072},{"file":664,"line":2095,"context":2072},228,{"file":714,"line":673,"context":2072},{"file":717,"line":2098,"context":2072},242,{"file":748,"line":1858,"context":2072},{"file":748,"line":2101,"context":2072},298,{"file":772,"line":2103,"context":2072},276,{"file":772,"line":2105,"context":2072},373,{"file":772,"line":2107,"context":2072},419,{"file":772,"line":2017,"context":2072},{"file":772,"line":2110,"context":2072},423,{"file":772,"line":2112,"context":2072},730,{"file":772,"line":2114,"context":2072},1687,{"file":834,"line":2116,"context":2072},138,{"file":834,"line":2118,"context":2072},379,{"file":834,"line":2120,"context":2072},426,{"file":834,"line":2122,"context":2072},436,{"file":834,"line":2124,"context":2072},456,{"file":834,"line":2126,"context":2072},522,{"file":834,"line":2128,"context":2072},587,{"file":834,"line":2130,"context":2072},645,{"file":834,"line":1878,"context":2072},{"file":834,"line":2133,"context":2072},1077,{"file":834,"line":2135,"context":2072},1162,{"file":927,"line":777,"context":2072},{"file":1819,"line":1168,"context":2072},{"file":2139,"line":416,"context":2072},"includes\\admin\\tools\\reinstall.php",{"file":2048,"line":426,"context":2072},{"file":2048,"line":589,"context":2072},{"file":2143,"line":460,"context":2072},"includes\\admin\\tools.php",{"file":2143,"line":469,"context":2072},{"file":1016,"line":2146,"context":2072},1709,{"file":1016,"line":2148,"context":2072},1727,{"file":1016,"line":2150,"context":2072},1771,{"file":2152,"line":2153,"context":2072},"includes\\class-countries.php",2416,{"file":2152,"line":2155,"context":2072},2418,{"file":2152,"line":2157,"context":2072},2432,{"file":2152,"line":2159,"context":2072},2436,{"file":2152,"line":2161,"context":2072},2453,{"file":2152,"line":2163,"context":2072},2455,{"file":1030,"line":2165,"context":2072},1059,{"file":1211,"line":2167,"context":2072},652,{"file":1211,"line":2169,"context":2072},1032,{"file":1218,"line":2171,"context":2072},269,{"file":2173,"line":1462,"context":2072},"includes\\functions\\forms.php",{"file":1372,"line":513,"context":2072},{"file":1376,"line":2176,"context":2072},170,{"file":1376,"line":2178,"context":2072},353,{"file":1376,"line":2180,"context":2072},441,{"file":1376,"line":2182,"context":2072},553,{"file":1376,"line":1189,"context":2072},{"file":1376,"line":2185,"context":2072},792,{"file":1376,"line":2187,"context":2072},818,{"file":1376,"line":1870,"context":2072},{"file":1376,"line":2190,"context":2072},882,{"file":1395,"line":2192,"context":2072},175,{"file":1395,"line":2194,"context":2072},220,{"file":1395,"line":2196,"context":2072},223,{"file":1409,"line":2198,"context":2072},303,{"file":1409,"line":2200,"context":2072},664,{"file":1409,"line":2202,"context":2072},667,{"file":1409,"line":2204,"context":2072},670,{"file":1409,"line":2206,"context":2072},673,{"file":1409,"line":2208,"context":2072},676,{"file":1432,"line":2210,"context":2072},561,{"file":1432,"line":2212,"context":2072},772,{"file":1432,"line":2214,"context":2072},778,{"file":1432,"line":2216,"context":2072},779,{"file":1461,"line":2218,"context":2072},745,{"file":1461,"line":2220,"context":2072},2790,{"file":1461,"line":2222,"context":2072},2895,{"file":1461,"line":2224,"context":2072},2900,{"file":1461,"line":2226,"context":2072},2901,{"file":1536,"line":400,"context":2072},{"file":1536,"line":429,"context":2072},{"file":1536,"line":86,"context":2072},{"file":1536,"line":2231,"context":2072},176,{"file":2233,"line":142,"context":2072},"templates\\account\\login-signup.php",{"file":2233,"line":413,"context":2072},{"file":2236,"line":219,"context":2072},"templates\\admin\\header.php",{"file":2236,"line":396,"context":2072},{"file":2236,"line":413,"context":2072},{"file":2236,"line":636,"context":2072},{"file":2241,"line":317,"context":2072},"templates\\admin\\install\\business.php",{"file":2243,"line":219,"context":2072},"templates\\admin\\install\\data.php",{"file":2245,"line":476,"context":2072},"templates\\admin\\install\\default.php",{"file":2247,"line":317,"context":2072},"templates\\admin\\install\\license.php",{"file":2249,"line":317,"context":2072},"templates\\admin\\install\\updates.php",{"file":2251,"line":404,"context":2072},"templates\\cart\\mini-cart.php",{"file":2253,"line":142,"context":2072},"templates\\email\\admin-favorites.php",{"file":2255,"line":142,"context":2072},"templates\\email\\custom-favorites.php",{"file":2257,"line":48,"context":2072},"templates\\favorites\\guest-choice.php",{"file":2257,"line":400,"context":2072},{"file":2260,"line":684,"context":2072},"templates\\gallery\\access.php",{"file":2260,"line":28,"context":2072},{"file":2263,"line":404,"context":2072},"templates\\image\\comments.php",{"file":2263,"line":28,"context":2072},{"file":2266,"line":413,"context":2072},"templates\\image\\share.php",{"file":2266,"line":416,"context":2072},{"file":2266,"line":420,"context":2072},{"file":2266,"line":422,"context":2072},{"file":2271,"line":102,"context":2072},"templates\\invoice\\order.php",{"file":2273,"line":456,"context":2072},"templates\\multi-image-select\\gallery-list.php",{"file":2273,"line":465,"context":2072},{"file":2276,"line":527,"context":2072},"templates\\multi-image-select\\select-images.php",{"file":2276,"line":2278,"context":2072},89,{"file":2280,"line":413,"context":2072},"themes\\classic\\account.php",{"file":2282,"line":413,"context":2072},"themes\\classic\\cart.php",{"file":2284,"line":400,"context":2072},"themes\\classic\\checkout.php",{"file":2286,"line":413,"context":2072},"themes\\classic\\favorites.php",{"file":2288,"line":600,"context":2072},"themes\\classic\\header.php",{"file":2288,"line":472,"context":2072},{"file":2291,"line":60,"context":2072},"themes\\cover\\account.php",{"file":2293,"line":60,"context":2072},"themes\\cover\\cart.php",{"file":2295,"line":60,"context":2072},"themes\\cover\\checkout.php",{"file":2297,"line":60,"context":2072},"themes\\cover\\favorites.php",[2299],{"name":2300,"version":38,"knownCves":2301},"Select2",[],[2303,2318,2327,2343,2353,2367,2381,2390,2406,2419,2427,2441,2451,2464,2474,2492,2502,2517,2527,2535,2593,2622,2630,2638,2646,2654,2662,2670,2680,2688,2701,2709,2719,2727,2738,2748,2757],{"entryPoint":2304,"graph":2305,"unsanitizedCount":102,"severity":41},"sunshine_addon_get_license_key (includes\\admin\\addons.php:147)",{"nodes":2306,"edges":2316},[2307,2311],{"id":2308,"type":2309,"label":2310,"file":371,"line":1995},"n0","source","$_SERVER",{"id":2312,"type":2313,"label":2314,"file":371,"line":942,"wp_function":2315},"n1","sink","wp_remote_get() [SSRF]","wp_remote_get",[2317],{"from":2308,"to":2312,"sanitized":1673},{"entryPoint":2319,"graph":2320,"unsanitizedCount":102,"severity":41},"sunshine_get_addon_data (includes\\admin\\addons.php:356)",{"nodes":2321,"edges":2325},[2322,2323],{"id":2308,"type":2309,"label":2310,"file":371,"line":1524},{"id":2312,"type":2313,"label":2314,"file":371,"line":2324,"wp_function":2315},368,[2326],{"from":2308,"to":2312,"sanitized":1673},{"entryPoint":2328,"graph":2329,"unsanitizedCount":102,"severity":41},"sunshine_customers_page (includes\\admin\\customers.php:2)",{"nodes":2330,"edges":2340},[2331,2333,2336],{"id":2308,"type":2309,"label":2332,"file":664,"line":74},"$_GET['customer']",{"id":2312,"type":2334,"label":2335,"file":664,"line":74},"transform","→ sunshine_customer_page()",{"id":2337,"type":2313,"label":2338,"file":664,"line":609,"wp_function":2339},"n2","echo() [XSS]","echo",[2341,2342],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2344,"graph":2345,"unsanitizedCount":102,"severity":41},"\u003Ccustomers> (includes\\admin\\customers.php:0)",{"nodes":2346,"edges":2350},[2347,2348,2349],{"id":2308,"type":2309,"label":2332,"file":664,"line":74},{"id":2312,"type":2334,"label":2335,"file":664,"line":74},{"id":2337,"type":2313,"label":2338,"file":664,"line":609,"wp_function":2339},[2351,2352],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2354,"graph":2355,"unsanitizedCount":102,"severity":41},"sunshine_reports_page (includes\\admin\\reports.php:2)",{"nodes":2356,"edges":2364},[2357,2359,2360,2362],{"id":2308,"type":2309,"label":2358,"file":748,"line":866},"$_GET (x4)",{"id":2312,"type":2313,"label":2338,"file":748,"line":702,"wp_function":2339},{"id":2337,"type":2309,"label":2361,"file":748,"line":866},"$_GET",{"id":2363,"type":2313,"label":2338,"file":748,"line":560,"wp_function":2339},"n3",[2365,2366],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1673},{"entryPoint":2368,"graph":2369,"unsanitizedCount":102,"severity":41},"\u003Csunshine-gallery> (includes\\admin\\sunshine-gallery.php:0)",{"nodes":2370,"edges":2378},[2371,2374,2376],{"id":2308,"type":2309,"label":2372,"file":772,"line":2373},"$_POST",1445,{"id":2312,"type":2334,"label":2375,"file":772,"line":2373},"→ sunshine_admin_gallery_image_thumbnail()",{"id":2337,"type":2313,"label":2338,"file":772,"line":2377,"wp_function":2339},1071,[2379,2380],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2382,"graph":2383,"unsanitizedCount":102,"severity":41},"filter_by_customer (includes\\admin\\sunshine-order.php:122)",{"nodes":2384,"edges":2388},[2385,2387],{"id":2308,"type":2309,"label":2361,"file":834,"line":2386},125,{"id":2312,"type":2313,"label":2338,"file":834,"line":2116,"wp_function":2339},[2389],{"from":2308,"to":2312,"sanitized":1673},{"entryPoint":2391,"graph":2392,"unsanitizedCount":102,"severity":41},"do_process (includes\\admin\\tools\\regenerate.php:30)",{"nodes":2393,"edges":2402},[2394,2396,2397,2398,2400],{"id":2308,"type":2309,"label":2395,"file":995,"line":456},"$_GET (x2)",{"id":2312,"type":2313,"label":2338,"file":995,"line":1350,"wp_function":2339},{"id":2337,"type":2309,"label":2361,"file":995,"line":389},{"id":2363,"type":2334,"label":2399,"file":995,"line":389},"→ show_watermark_options()",{"id":2401,"type":2313,"label":2338,"file":995,"line":736,"wp_function":2339},"n4",[2403,2404,2405],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1673},{"from":2363,"to":2401,"sanitized":1673},{"entryPoint":2407,"graph":2408,"unsanitizedCount":102,"severity":41},"\u003Cregenerate> (includes\\admin\\tools\\regenerate.php:0)",{"nodes":2409,"edges":2415},[2410,2411,2412,2413,2414],{"id":2308,"type":2309,"label":2358,"file":995,"line":456},{"id":2312,"type":2313,"label":2338,"file":995,"line":1350,"wp_function":2339},{"id":2337,"type":2309,"label":2361,"file":995,"line":389},{"id":2363,"type":2334,"label":2399,"file":995,"line":389},{"id":2401,"type":2313,"label":2338,"file":995,"line":736,"wp_function":2339},[2416,2417,2418],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1673},{"from":2363,"to":2401,"sanitized":1673},{"entryPoint":2420,"graph":2421,"unsanitizedCount":102,"severity":41},"sunshine_gallery_pagination (includes\\functions\\template.php:291)",{"nodes":2422,"edges":2425},[2423,2424],{"id":2308,"type":2309,"label":2361,"file":1376,"line":1476},{"id":2312,"type":2313,"label":2338,"file":1376,"line":2178,"wp_function":2339},[2426],{"from":2308,"to":2312,"sanitized":1673},{"entryPoint":2428,"graph":2429,"unsanitizedCount":102,"severity":41},"process_payment (includes\\payment-methods\\paypal.php:589)",{"nodes":2430,"edges":2438},[2431,2433,2435],{"id":2308,"type":2309,"label":2372,"file":1409,"line":2432},602,{"id":2312,"type":2334,"label":2434,"file":1409,"line":2432},"→ make_request()",{"id":2337,"type":2313,"label":2436,"file":1409,"line":1183,"wp_function":2437},"wp_remote_request() [SSRF]","wp_remote_request",[2439,2440],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2442,"graph":2443,"unsanitizedCount":102,"severity":41},"\u003Cpaypal> (includes\\payment-methods\\paypal.php:0)",{"nodes":2444,"edges":2448},[2445,2446,2447],{"id":2308,"type":2309,"label":2372,"file":1409,"line":2432},{"id":2312,"type":2334,"label":2434,"file":1409,"line":2432},{"id":2337,"type":2313,"label":2436,"file":1409,"line":1183,"wp_function":2437},[2449,2450],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2452,"graph":2453,"unsanitizedCount":102,"severity":41},"process_payment (includes\\payment-methods\\square.php:703)",{"nodes":2454,"edges":2461},[2455,2457,2459],{"id":2308,"type":2309,"label":2372,"file":1432,"line":2456},711,{"id":2312,"type":2334,"label":2458,"file":1432,"line":2456},"→ api_request()",{"id":2337,"type":2313,"label":2436,"file":1432,"line":2460,"wp_function":2437},634,[2462,2463],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2465,"graph":2466,"unsanitizedCount":102,"severity":41},"\u003Csquare> (includes\\payment-methods\\square.php:0)",{"nodes":2467,"edges":2471},[2468,2469,2470],{"id":2308,"type":2309,"label":2372,"file":1432,"line":2456},{"id":2312,"type":2334,"label":2458,"file":1432,"line":2456},{"id":2337,"type":2313,"label":2436,"file":1432,"line":2460,"wp_function":2437},[2472,2473],{"from":2308,"to":2312,"sanitized":1673},{"from":2312,"to":2337,"sanitized":1673},{"entryPoint":2475,"graph":2476,"unsanitizedCount":476,"severity":41},"\u003Cstripe> (includes\\payment-methods\\stripe.php:0)",{"nodes":2477,"edges":2488},[2478,2480,2482,2485,2487],{"id":2308,"type":2309,"label":2310,"file":1461,"line":2479},1163,{"id":2312,"type":2313,"label":2338,"file":1461,"line":2481,"wp_function":2339},2896,{"id":2337,"type":2309,"label":2483,"file":1461,"line":2484},"$_SERVER (x5)",1646,{"id":2363,"type":2334,"label":2486,"file":1461,"line":2484},"→ make_stripe_request()",{"id":2401,"type":2313,"label":2436,"file":1461,"line":1350,"wp_function":2437},[2489,2490,2491],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1673},{"from":2363,"to":2401,"sanitized":1673},{"entryPoint":2493,"graph":2494,"unsanitizedCount":29,"severity":2501},"\u003Caddons> (includes\\admin\\addons.php:0)",{"nodes":2495,"edges":2499},[2496,2498],{"id":2308,"type":2309,"label":2497,"file":371,"line":1995},"$_SERVER (x2)",{"id":2312,"type":2313,"label":2314,"file":371,"line":942,"wp_function":2315},[2500],{"from":2308,"to":2312,"sanitized":1674},"low",{"entryPoint":2503,"graph":2504,"unsanitizedCount":29,"severity":2501},"\u003Cclass-admin-meta-box> (includes\\admin\\class-admin-meta-box.php:0)",{"nodes":2505,"edges":2514},[2506,2507,2510,2512],{"id":2308,"type":2309,"label":2372,"file":393,"line":1563},{"id":2312,"type":2313,"label":2508,"file":393,"line":1240,"wp_function":2509},"call_user_func() [RCE]","call_user_func",{"id":2337,"type":2309,"label":2511,"file":393,"line":1563},"$_POST (x2)",{"id":2363,"type":2313,"label":2338,"file":393,"line":2513,"wp_function":2339},623,[2515,2516],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1674},{"entryPoint":2518,"graph":2519,"unsanitizedCount":29,"severity":2501},"settings_page (includes\\admin\\class-options.php:633)",{"nodes":2520,"edges":2525},[2521,2523],{"id":2308,"type":2309,"label":2361,"file":602,"line":2522},642,{"id":2312,"type":2313,"label":2338,"file":602,"line":2524,"wp_function":2339},679,[2526],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2528,"graph":2529,"unsanitizedCount":29,"severity":2501},"\u003Cclass-options> (includes\\admin\\class-options.php:0)",{"nodes":2530,"edges":2533},[2531,2532],{"id":2308,"type":2309,"label":2361,"file":602,"line":2522},{"id":2312,"type":2313,"label":2338,"file":602,"line":2524,"wp_function":2339},[2534],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2536,"graph":2537,"unsanitizedCount":29,"severity":2501},"sunshine_install_process_data (includes\\admin\\install.php:600)",{"nodes":2538,"edges":2584},[2539,2542,2545,2548,2549,2552,2554,2558,2560,2564,2566,2570,2572,2576,2578,2581],{"id":2308,"type":2309,"label":2540,"file":696,"line":2541},"$_POST['address1']",611,{"id":2312,"type":2313,"label":2543,"file":696,"line":2541,"wp_function":2544},"update_option() [Settings Manipulation]","update_option",{"id":2337,"type":2309,"label":2546,"file":696,"line":2547},"$_POST['address2']",612,{"id":2363,"type":2313,"label":2543,"file":696,"line":2547,"wp_function":2544},{"id":2401,"type":2309,"label":2550,"file":696,"line":2551},"$_POST['city']",613,{"id":2553,"type":2313,"label":2543,"file":696,"line":2551,"wp_function":2544},"n5",{"id":2555,"type":2309,"label":2556,"file":696,"line":2557},"n6","$_POST['state']",614,{"id":2559,"type":2313,"label":2543,"file":696,"line":2557,"wp_function":2544},"n7",{"id":2561,"type":2309,"label":2562,"file":696,"line":2563},"n8","$_POST['postcode']",615,{"id":2565,"type":2313,"label":2543,"file":696,"line":2563,"wp_function":2544},"n9",{"id":2567,"type":2309,"label":2568,"file":696,"line":2569},"n10","$_POST['country']",616,{"id":2571,"type":2313,"label":2543,"file":696,"line":2569,"wp_function":2544},"n11",{"id":2573,"type":2309,"label":2574,"file":696,"line":2575},"n12","$_POST['logo']",617,{"id":2577,"type":2313,"label":2543,"file":696,"line":2575,"wp_function":2544},"n13",{"id":2579,"type":2309,"label":2511,"file":696,"line":2580},"n14",620,{"id":2582,"type":2313,"label":2543,"file":696,"line":2583,"wp_function":2544},"n15",621,[2585,2586,2587,2588,2589,2590,2591,2592],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1674},{"from":2401,"to":2553,"sanitized":1674},{"from":2555,"to":2559,"sanitized":1674},{"from":2561,"to":2565,"sanitized":1674},{"from":2567,"to":2571,"sanitized":1674},{"from":2573,"to":2577,"sanitized":1674},{"from":2579,"to":2582,"sanitized":1674},{"entryPoint":2594,"graph":2595,"unsanitizedCount":29,"severity":2501},"\u003Cinstall> (includes\\admin\\install.php:0)",{"nodes":2596,"edges":2613},[2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612],{"id":2308,"type":2309,"label":2540,"file":696,"line":2541},{"id":2312,"type":2313,"label":2543,"file":696,"line":2541,"wp_function":2544},{"id":2337,"type":2309,"label":2546,"file":696,"line":2547},{"id":2363,"type":2313,"label":2543,"file":696,"line":2547,"wp_function":2544},{"id":2401,"type":2309,"label":2550,"file":696,"line":2551},{"id":2553,"type":2313,"label":2543,"file":696,"line":2551,"wp_function":2544},{"id":2555,"type":2309,"label":2556,"file":696,"line":2557},{"id":2559,"type":2313,"label":2543,"file":696,"line":2557,"wp_function":2544},{"id":2561,"type":2309,"label":2562,"file":696,"line":2563},{"id":2565,"type":2313,"label":2543,"file":696,"line":2563,"wp_function":2544},{"id":2567,"type":2309,"label":2568,"file":696,"line":2569},{"id":2571,"type":2313,"label":2543,"file":696,"line":2569,"wp_function":2544},{"id":2573,"type":2309,"label":2574,"file":696,"line":2575},{"id":2577,"type":2313,"label":2543,"file":696,"line":2575,"wp_function":2544},{"id":2579,"type":2309,"label":2511,"file":696,"line":2580},{"id":2582,"type":2313,"label":2543,"file":696,"line":2583,"wp_function":2544},[2614,2615,2616,2617,2618,2619,2620,2621],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1674},{"from":2401,"to":2553,"sanitized":1674},{"from":2555,"to":2559,"sanitized":1674},{"from":2561,"to":2565,"sanitized":1674},{"from":2567,"to":2571,"sanitized":1674},{"from":2573,"to":2577,"sanitized":1674},{"from":2579,"to":2582,"sanitized":1674},{"entryPoint":2623,"graph":2624,"unsanitizedCount":29,"severity":2501},"sunshine_emails_display (includes\\admin\\options\\emails.php:3)",{"nodes":2625,"edges":2628},[2626,2627],{"id":2308,"type":2309,"label":2358,"file":708,"line":476},{"id":2312,"type":2313,"label":2338,"file":708,"line":426,"wp_function":2339},[2629],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2631,"graph":2632,"unsanitizedCount":29,"severity":2501},"\u003Cemails> (includes\\admin\\options\\emails.php:0)",{"nodes":2633,"edges":2636},[2634,2635],{"id":2308,"type":2309,"label":2358,"file":708,"line":476},{"id":2312,"type":2313,"label":2338,"file":708,"line":426,"wp_function":2339},[2637],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2639,"graph":2640,"unsanitizedCount":29,"severity":2501},"sunshine_payment_methods_display (includes\\admin\\options\\payment-methods.php:4)",{"nodes":2641,"edges":2644},[2642,2643],{"id":2308,"type":2309,"label":2358,"file":711,"line":684},{"id":2312,"type":2313,"label":2338,"file":711,"line":636,"wp_function":2339},[2645],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2647,"graph":2648,"unsanitizedCount":29,"severity":2501},"\u003Cpayment-methods> (includes\\admin\\options\\payment-methods.php:0)",{"nodes":2649,"edges":2652},[2650,2651],{"id":2308,"type":2309,"label":2358,"file":711,"line":684},{"id":2312,"type":2313,"label":2338,"file":711,"line":636,"wp_function":2339},[2653],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2655,"graph":2656,"unsanitizedCount":29,"severity":2501},"sunshine_shipping_methods_display (includes\\admin\\options\\shipping-methods.php:4)",{"nodes":2657,"edges":2660},[2658,2659],{"id":2308,"type":2309,"label":2358,"file":714,"line":684},{"id":2312,"type":2313,"label":2338,"file":714,"line":586,"wp_function":2339},[2661],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2663,"graph":2664,"unsanitizedCount":29,"severity":2501},"\u003Cshipping-methods> (includes\\admin\\options\\shipping-methods.php:0)",{"nodes":2665,"edges":2668},[2666,2667],{"id":2308,"type":2309,"label":2358,"file":714,"line":684},{"id":2312,"type":2313,"label":2338,"file":714,"line":586,"wp_function":2339},[2669],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2671,"graph":2672,"unsanitizedCount":29,"severity":2501},"sunshine_show_tax_states (includes\\admin\\options\\taxes.php:234)",{"nodes":2673,"edges":2678},[2674,2677],{"id":2308,"type":2309,"label":2675,"file":717,"line":2676},"$_REQUEST",240,{"id":2312,"type":2313,"label":2338,"file":717,"line":2098,"wp_function":2339},[2679],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2681,"graph":2682,"unsanitizedCount":29,"severity":2501},"\u003Ctaxes> (includes\\admin\\options\\taxes.php:0)",{"nodes":2683,"edges":2686},[2684,2685],{"id":2308,"type":2309,"label":2675,"file":717,"line":2676},{"id":2312,"type":2313,"label":2338,"file":717,"line":2098,"wp_function":2339},[2687],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2689,"graph":2690,"unsanitizedCount":317,"severity":2501},"\u003Creports> (includes\\admin\\reports.php:0)",{"nodes":2691,"edges":2698},[2692,2694,2695,2697],{"id":2308,"type":2309,"label":2693,"file":748,"line":866},"$_GET (x10)",{"id":2312,"type":2313,"label":2338,"file":748,"line":702,"wp_function":2339},{"id":2337,"type":2309,"label":2696,"file":748,"line":866},"$_GET (x3)",{"id":2363,"type":2313,"label":2338,"file":748,"line":560,"wp_function":2339},[2699,2700],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1673},{"entryPoint":2702,"graph":2703,"unsanitizedCount":29,"severity":2501},"\u003Csunshine-order> (includes\\admin\\sunshine-order.php:0)",{"nodes":2704,"edges":2707},[2705,2706],{"id":2308,"type":2309,"label":2395,"file":834,"line":2386},{"id":2312,"type":2313,"label":2338,"file":834,"line":2116,"wp_function":2339},[2708],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2710,"graph":2711,"unsanitizedCount":29,"severity":2501},"\u003Cfavorites> (includes\\functions\\favorites.php:0)",{"nodes":2712,"edges":2717},[2713,2715],{"id":2308,"type":2309,"label":2372,"file":1218,"line":2714},120,{"id":2312,"type":2313,"label":2338,"file":1218,"line":2716,"wp_function":2339},301,[2718],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2720,"graph":2721,"unsanitizedCount":29,"severity":2501},"sunshine_current_url (includes\\functions\\template.php:9)",{"nodes":2722,"edges":2725},[2723,2724],{"id":2308,"type":2309,"label":2310,"file":1376,"line":142},{"id":2312,"type":2313,"label":2338,"file":1376,"line":400,"wp_function":2339},[2726],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2728,"graph":2729,"unsanitizedCount":29,"severity":2501},"\u003Ctemplate> (includes\\functions\\template.php:0)",{"nodes":2730,"edges":2735},[2731,2732,2733,2734],{"id":2308,"type":2309,"label":2310,"file":1376,"line":142},{"id":2312,"type":2313,"label":2338,"file":1376,"line":400,"wp_function":2339},{"id":2337,"type":2309,"label":2696,"file":1376,"line":1476},{"id":2363,"type":2313,"label":2338,"file":1376,"line":2178,"wp_function":2339},[2736,2737],{"from":2308,"to":2312,"sanitized":1674},{"from":2337,"to":2363,"sanitized":1674},{"entryPoint":2739,"graph":2740,"unsanitizedCount":29,"severity":2501},"\u003Clogin> (templates\\account\\login.php:0)",{"nodes":2741,"edges":2746},[2742,2745],{"id":2308,"type":2309,"label":2743,"file":2744,"line":875},"$_GET['redirect']","templates\\account\\login.php",{"id":2312,"type":2313,"label":2338,"file":2744,"line":875,"wp_function":2339},[2747],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2749,"graph":2750,"unsanitizedCount":29,"severity":2501},"\u003Csignup> (templates\\account\\signup.php:0)",{"nodes":2751,"edges":2755},[2752,2754],{"id":2308,"type":2309,"label":2743,"file":2753,"line":613},"templates\\account\\signup.php",{"id":2312,"type":2313,"label":2338,"file":2753,"line":613,"wp_function":2339},[2756],{"from":2308,"to":2312,"sanitized":1674},{"entryPoint":2758,"graph":2759,"unsanitizedCount":102,"severity":94},"save_meta_boxes (includes\\admin\\class-admin-meta-box.php:242)",{"nodes":2760,"edges":2763},[2761,2762],{"id":2308,"type":2309,"label":2372,"file":393,"line":1563},{"id":2312,"type":2313,"label":2508,"file":393,"line":1240,"wp_function":2509},[2764],{"from":2308,"to":2312,"sanitized":1673},{"summary":2766,"deductions":2767},"The \"sunshine-photo-cart\" plugin v3.6.3 presents a mixed security posture. While it demonstrates good practices in several areas, such as a high percentage of SQL prepared statements and properly escaped output, significant concerns remain. The presence of 27 AJAX handlers without authentication checks creates a substantial attack surface, making these endpoints vulnerable to unauthorized access and manipulation. Furthermore, the taint analysis revealed one high-severity flow with unsanitized paths, indicating a potential pathway for attackers to exploit.  The plugin's vulnerability history is a major red flag, with a significant number of past CVEs, including critical and high-severity ones, across various common vulnerability types like Missing Authorization, XSS, and Deserialization. Although there are currently no unpatched CVEs, the frequent discovery of vulnerabilities and the nature of past issues suggest a persistent underlying security weakness in the development process. The presence of the `unserialize` function also warrants caution, as it's a known vector for deserialization vulnerabilities if not handled with extreme care.  In conclusion, while the plugin has some strengths, the large number of unprotected entry points, the identified high-severity taint flow, and a concerning historical pattern of vulnerabilities necessitate a high degree of vigilance.",[2768,2770,2772,2774,2776,2778],{"reason":2769,"points":142},"AJAX handlers without authentication checks",{"reason":2771,"points":396},"High severity taint flow (unsanitized paths)",{"reason":2773,"points":48},"Dangerous function: unserialize",{"reason":2775,"points":413},"Significant vulnerability history (20 CVEs total)",{"reason":2777,"points":142},"Past critical vulnerabilities",{"reason":2779,"points":74},"Past high severity vulnerabilities","2026-03-16T18:59:41.499Z",{"wat":2782,"direct":2791},{"assetPaths":2783,"generatorPatterns":2786,"scriptPaths":2787,"versionParams":2788},[2784,2785],"\u002Fwp-content\u002Fplugins\u002Fsunshine-photo-cart\u002Fassets\u002Fcss\u002Fsunshine-photo-cart.css","\u002Fwp-content\u002Fplugins\u002Fsunshine-photo-cart\u002Fassets\u002Fjs\u002Fsunshine-photo-cart.js",[],[2785],[2789,2790],"sunshine-photo-cart\u002Fassets\u002Fcss\u002Fsunshine-photo-cart.css?ver=","sunshine-photo-cart\u002Fassets\u002Fjs\u002Fsunshine-photo-cart.js?ver=",{"cssClasses":2792,"htmlComments":2794,"htmlAttributes":2795,"restEndpoints":2796,"jsGlobals":2797,"shortcodeOutput":2799},[2793],"sunshine-photo-cart-admin",[],[],[],[2798],"SunshinePhotoCartAdmin",[]]