Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Security & Risk Analysis

wordpress.org/plugins/sunshine-photo-cart

Create professional client photo galleries and photo proofing galleries for your photography business. Sell photos directly to clients with zero commi …

1K active installs v3.6.3 PHP 7.4+ WP 5.5+ Updated Mar 13, 2026
client-galleriesclient-photo-galleryclient-proofingphoto-proofingsell-photos
77
B · Generally Safe
CVEs total20
Unpatched0
Last CVEJan 27, 2026
Safety Verdict

Is Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Safe to Use in 2026?

Mostly Safe

Score 77/100

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers is generally safe to use. 20 past CVEs were resolved. Keep it updated.

20 known CVEsLast CVE: Jan 27, 2026Updated 21d ago
Risk Assessment

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.

Key Concerns

  • AJAX handlers without authentication checks
  • High severity taint flow (unsanitized paths)
  • Dangerous function: unserialize
  • Significant vulnerability history (20 CVEs total)
  • Past critical vulnerabilities
  • Past high severity vulnerabilities
Vulnerabilities
20

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Security Vulnerabilities

CVEs by Year

1 CVE in 2021
2021
3 CVEs in 2022
2022
1 CVE in 2023
2023
9 CVEs in 2024
2024
4 CVEs in 2025
2025
2 CVEs in 2026
2026
Patched Has unpatched

Severity Breakdown

Critical
2
High
2
Medium
16

20 total CVEs

CVE-2025-67973medium · 5.3Missing Authorization

Sunshine Photo Cart <= 3.5.6.2 - Missing Authorization

Jan 27, 2026 Patched in 3.5.7.1 (7d)
CVE-2026-24994medium · 5.3Missing Authorization

Sunshine Photo Cart <= 3.5.7.2 - Missing Authorization

Jan 23, 2026 Patched in 3.5.7.3 (11d)
CVE-2025-68535medium · 4.3Missing Authorization

Sunshine Photo Cart <= 3.5.7.1 - Missing Authorization

Dec 30, 2025 Patched in 3.5.7.2 (8d)
CVE-2025-62892medium · 5.3Missing Authorization

Sunshine Photo Cart <= 3.5.3 - Missing Authorization

Aug 29, 2025 Patched in 3.5.4 (68d)
CVE-2025-5482high · 8.8Unverified Password Change

Sunshine Photo Cart <= 3.4.11 - Authenticated (Subscriber+) Privilege Escalation

Jun 3, 2025 Patched in 3.4.12 (1d)
CVE-2025-31084critical · 9.8Deserialization of Untrusted Data

Sunshine Photo Cart <= 3.4.10 - Unauthenticated PHP Object Injection

Mar 28, 2025 Patched in 3.4.11 (7d)
CVE-2024-50463medium · 6.1URL Redirection to Untrusted Site ('Open Redirect')

Sunshine Photo Cart <= 3.2.9 - Open Redirect

Oct 24, 2024 Patched in 3.2.11 (7d)
CVE-2024-49697medium · 4.3Missing Authorization

Sunshine Photo Cart <= 3.2.9 - Missing Authorization

Oct 21, 2024 Patched in 3.2.10 (10d)
CVE-2024-47314medium · 4.3Missing Authorization

Sunshine Photo Cart <= 3.2.8 - Missing Authorization

Sep 25, 2024 Patched in 3.2.9 (8d)
CVE-2024-44038medium · 5.3Missing Authorization

Sunshine Photo Cart <= 3.2.9 - Missing Authorization

Sep 23, 2024 Patched in 3.2.10 (10d)
CVE-2024-43971medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sunshine Photo Cart <= 3.2.5 - Reflected Cross-Site Scripting

Aug 28, 2024 Patched in 3.2.6 (8d)
CVE-2024-43136medium · 4.3Missing Authorization

Sunshine Photo Cart <= 3.2.1 - Missing Authorization

Aug 7, 2024 Patched in 3.2.2 (8d)
CVE-2024-30221critical · 9.8Deserialization of Untrusted Data

Sunshine Photo Cart: Free Client Photo Galleries for Photographers <= 3.1.1 - Unauthenticated PHP Object Injection

Mar 26, 2024 Patched in 3.1.2 (43d)
CVE-2024-30194medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sunshine Photo Cart <= 3.1.1 - Reflected Cross-Site Scripting

Mar 25, 2024 Patched in 3.1.2 (8d)
CVE-2024-1294medium · 5.3Improper Access Control

Sunshine Photo Cart: Free Client Galleries for Photographers <= 3.0.24 - Unauthenticated Sensitive Information Exposure via Invoice

Feb 12, 2024 Patched in 3.1 (9d)
CVE-2023-41796medium · 5.3Authorization Bypass Through User-Controlled Key

Sunshine Photo Cart <= 2.9.25 - Insecure Direct Object Reference to Order Manipulation

Sep 5, 2023 Patched in 3.0 (140d)
CVE-2022-4301medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sunshine Photo Cart <= 2.9.14 - Reflected Cross-Site Scripting

Dec 12, 2022 Patched in 2.9.15 (407d)
CVE-2022-40692high · 8.8Cross-Site Request Forgery (CSRF)

Sunshine Photo Cart <= 2.9.13 - Cross-Site Request Forgery

Dec 2, 2022 Patched in 2.9.14 (417d)
CVE-2022-45826medium · 6.3Missing Authorization

Sunshine Photo Cart <= 2.9.13 - Missing Authorization

Dec 2, 2022 Patched in 2.9.14 (417d)
CVE-2021-4415medium · 4.3Cross-Site Request Forgery (CSRF)

Sunshine Photo Cart <= 2.8.28 - Cross-Site Request Forgery Bypass

Jun 21, 2021 Patched in 2.8.29 (946d)
Code Analysis
Analyzed Mar 16, 2026

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Code Analysis

Dangerous Functions
1
Raw SQL Queries
22
70 prepared
Unescaped Output
128
3274 escaped
Nonce Checks
98
Capability Checks
69
File Operations
43
External Requests
20
Bundled Libraries
1

Dangerous Functions Found

unserialize$value = @unserialize( $this->data[ $key ] );includes\class-session.php:164

Bundled Libraries

Select2

SQL Query Safety

76% prepared92 total queries

Output Escaping

96% escaped3402 total outputs
Data Flows
17 unsanitized

Data Flow Analysis

25 flows17 with unsanitized paths
sunshine_addon_get_license_key (includes\admin\addons.php:147)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
27 unprotected

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Attack Surface

Entry Points124
Unprotected27

AJAX Handlers 112

authwp_ajax_sunshine_addon_toggleincludes\admin\addons.php:292
authwp_ajax_sunshine_search_usersincludes\admin\class-admin-meta-box.php:15
authwp_ajax_sunshine_search_galleriesincludes\admin\class-admin-meta-box.php:16
authwp_ajax_sunshine_search_productsincludes\admin\class-admin-meta-box.php:17
authwp_ajax_sunshine_term_sortincludes\admin\class-admin.php:64
authwp_ajax_sunshine_post_sortincludes\admin\class-admin.php:65
authwp_ajax_sunshine_update_3_settings_dataincludes\admin\class-update.php:24
authwp_ajax_sunshine_update_3_customers_updateincludes\admin\class-update.php:25
authwp_ajax_sunshine_update_3_products_updateincludes\admin\class-update.php:26
authwp_ajax_sunshine_update_3_discounts_updateincludes\admin\class-update.php:27
authwp_ajax_sunshine_update_3_emails_updateincludes\admin\class-update.php:28
authwp_ajax_sunshine_update_3_orders_updateincludes\admin\class-update.php:29
authwp_ajax_sunshine_update_3_galleries_common_updateincludes\admin\class-update.php:30
authwp_ajax_sunshine_update_3_galleries_updateincludes\admin\class-update.php:31
authwp_ajax_sunshine_update_3_images_updateincludes\admin\class-update.php:32
authwp_ajax_sunshine_update_3_galleries_duplicate_metaincludes\admin\class-update.php:33
authwp_ajax_sunshine_update_3_completeincludes\admin\class-update.php:34
authwp_ajax_sunshine_update_3_cleanupincludes\admin\class-update.php:35
authwp_ajax_sunshine_dashboard_calculate_statsincludes\admin\dashboard.php:7
authwp_ajax_sunshine_gallery_navigator_loadincludes\admin\gallery-navigator.php:75
authwp_ajax_sunshine_gallery_navigator_reorderincludes\admin\gallery-navigator.php:202
authwp_ajax_sunshine_active_emailsincludes\admin\options\emails.php:75
authwp_ajax_sunshine_sort_payment_methodsincludes\admin\options\payment-methods.php:94
authwp_ajax_sunshine_delete_payment_methodincludes\admin\options\payment-methods.php:115
authwp_ajax_sunshine_activate_payment_methodincludes\admin\options\payment-methods.php:141
authwp_ajax_sunshine_add_shipping_methodincludes\admin\options\shipping-methods.php:157
authwp_ajax_sunshine_sort_shipping_methodsincludes\admin\options\shipping-methods.php:185
authwp_ajax_sunshine_delete_shipping_methodincludes\admin\options\shipping-methods.php:206
authwp_ajax_sunshine_active_shipping_methodsincludes\admin\options\shipping-methods.php:232
authwp_ajax_sunshine_sort_tax_ratesincludes\admin\options\taxes.php:190
authwp_ajax_sunshine_delete_tax_rateincludes\admin\options\taxes.php:211
authwp_ajax_sunshine_show_tax_statesincludes\admin\options\taxes.php:233
authwp_ajax_load_edit_image_modalincludes\admin\sunshine-gallery.php:310
authwp_ajax_save_attachment_fieldsincludes\admin\sunshine-gallery.php:329
authwp_ajax_sunshine_gallery_refresh_imagesincludes\admin\sunshine-gallery.php:1079
authwp_ajax_sunshine_gallery_add_media_imagesincludes\admin\sunshine-gallery.php:1096
authwp_ajax_sunshine_gallery_uploadincludes\admin\sunshine-gallery.php:1131
authwp_ajax_sunshine_gallery_image_sortincludes\admin\sunshine-gallery.php:1461
authwp_ajax_sunshine_gallery_load_moreincludes\admin\sunshine-gallery.php:1492
authwp_ajax_sunshine_gallery_image_deleteincludes\admin\sunshine-gallery.php:1519
authwp_ajax_sunshine_gallery_image_featuredincludes\admin\sunshine-gallery.php:1536
authwp_ajax_sunshine_gallery_import_listincludes\admin\sunshine-gallery.php:1695
authwp_ajax_sunshine_gallery_importincludes\admin\sunshine-gallery.php:1747
authwp_ajax_sunshine_customer_searchincludes\admin\sunshine-order.php:11
authwp_ajax_sunshine_gallery_searchincludes\admin\sunshine-order.php:12
authwp_ajax_sunshine_order_save_notesincludes\admin\sunshine-order.php:49
authwp_ajax_sunshine_order_add_commentincludes\admin\sunshine-order.php:50
authwp_ajax_sunshine_clear_orphanincludes\admin\tools\orphans.php:12
authwp_ajax_sunshine_regenerate_imageincludes\admin\tools\regenerate.php:14
authwp_ajax_sunshine_delete_unused_image_sizesincludes\admin\tools\unused-image-sizes.php:12
noprivwp_ajax_sunshine_checkout_init_orderincludes\class-cart.php:40
authwp_ajax_sunshine_checkout_init_orderincludes\class-cart.php:41
authwp_ajax_sunshine_notice_dismissincludes\class-notices.php:12
noprivwp_ajax_sunshine_modal_loginincludes\functions\account.php:179
authwp_ajax_sunshine_modal_loginincludes\functions\account.php:180
noprivwp_ajax_sunshine_modal_signupincludes\functions\account.php:280
authwp_ajax_sunshine_modal_signupincludes\functions\account.php:281
noprivwp_ajax_sunshine_modal_reset_passwordincludes\functions\account.php:334
authwp_ajax_sunshine_modal_reset_passwordincludes\functions\account.php:335
noprivwp_ajax_sunshine_product_detailsincludes\functions\add-to-cart.php:121
authwp_ajax_sunshine_product_detailsincludes\functions\add-to-cart.php:122
noprivwp_ajax_sunshine_modal_add_item_to_cartincludes\functions\add-to-cart.php:182
authwp_ajax_sunshine_modal_add_item_to_cartincludes\functions\add-to-cart.php:183
noprivwp_ajax_sunshine_modal_add_favorites_to_cartincludes\functions\add-to-cart.php:291
authwp_ajax_sunshine_modal_add_favorites_to_cartincludes\functions\add-to-cart.php:292
authwp_ajax_sunshine_checkout_updateincludes\functions\checkout.php:823
noprivwp_ajax_sunshine_checkout_updateincludes\functions\checkout.php:824
authwp_ajax_sunshine_checkout_process_sectionincludes\functions\checkout.php:852
noprivwp_ajax_sunshine_checkout_process_sectionincludes\functions\checkout.php:853
authwp_ajax_sunshine_checkout_select_delivery_methodincludes\functions\checkout.php:878
noprivwp_ajax_sunshine_checkout_select_delivery_methodincludes\functions\checkout.php:879
authwp_ajax_sunshine_checkout_select_shipping_methodincludes\functions\checkout.php:908
noprivwp_ajax_sunshine_checkout_select_shipping_methodincludes\functions\checkout.php:909
authwp_ajax_sunshine_checkout_use_creditsincludes\functions\checkout.php:939
noprivwp_ajax_sunshine_checkout_use_creditsincludes\functions\checkout.php:940
authwp_ajax_sunshine_checkout_select_payment_methodincludes\functions\checkout.php:968
noprivwp_ajax_sunshine_checkout_select_payment_methodincludes\functions\checkout.php:969
authwp_ajax_sunshine_checkout_update_stateincludes\functions\checkout.php:998
noprivwp_ajax_sunshine_checkout_update_stateincludes\functions\checkout.php:999
authwp_ajax_sunshine_checkout_payment_failedincludes\functions\checkout.php:1036
noprivwp_ajax_sunshine_checkout_payment_failedincludes\functions\checkout.php:1037
noprivwp_ajax_sunshine_modal_add_commentincludes\functions\comments.php:29
authwp_ajax_sunshine_modal_add_commentincludes\functions\comments.php:30
authwp_ajax_sunshine_add_to_favoritesincludes\functions\favorites.php:115
noprivwp_ajax_sunshine_add_to_favoritesincludes\functions\favorites.php:116
noprivwp_ajax_sunshine_guest_favorites_modeincludes\functions\favorites.php:181
authwp_ajax_sunshine_modal_favorites_share_processincludes\functions\favorites.php:342
noprivwp_ajax_sunshine_modal_favorites_share_processincludes\functions\favorites.php:343
noprivwp_ajax_sunshine_get_image_dataincludes\functions\image.php:261
authwp_ajax_sunshine_get_image_dataincludes\functions\image.php:262
noprivwp_ajax_sunshine_modal_displayincludes\functions\modal.php:2
authwp_ajax_sunshine_modal_displayincludes\functions\modal.php:3
noprivwp_ajax_sunshine_multi_image_select_imagesincludes\functions\store.php:84
authwp_ajax_sunshine_multi_image_select_imagesincludes\functions\store.php:85
noprivwp_ajax_sunshine_multi_image_select_gallery_imagesincludes\functions\store.php:150
authwp_ajax_sunshine_multi_image_select_gallery_imagesincludes\functions\store.php:151
authwp_ajax_sunshine_multi_image_select_images_itemincludes\functions\store.php:193
noprivwp_ajax_sunshine_multi_image_select_images_itemincludes\functions\store.php:194
authwp_ajax_sunshine_gallery_paginationincludes\functions\template.php:360
noprivwp_ajax_sunshine_gallery_paginationincludes\functions\template.php:361
authwp_ajax_sunshine_galleries_paginationincludes\functions\template.php:448
noprivwp_ajax_sunshine_galleries_paginationincludes\functions\template.php:449
authwp_ajax_sunshine_checkout_paypal_create_orderincludes\payment-methods\paypal.php:27
noprivwp_ajax_sunshine_checkout_paypal_create_orderincludes\payment-methods\paypal.php:28
noprivwp_ajax_sunshine_square_init_orderincludes\payment-methods\square.php:39
authwp_ajax_sunshine_square_init_orderincludes\payment-methods\square.php:40
authwp_ajax_sunshine_stripe_sync_payment_methodsincludes\payment-methods\stripe.php:321
authwp_ajax_sunshine_stripe_toggle_payment_methodincludes\payment-methods\stripe.php:322
authwp_ajax_sunshine_stripe_log_paymentincludes\payment-methods\stripe.php:328
noprivwp_ajax_sunshine_stripe_log_paymentincludes\payment-methods\stripe.php:329
authwp_ajax_sunshine_stripe_create_payment_intentincludes\payment-methods\stripe.php:331
noprivwp_ajax_sunshine_stripe_create_payment_intentincludes\payment-methods\stripe.php:332

Shortcodes 12

[sunshine_galleries] includes\shortcodes.php:14
[sunshine_gallery] includes\shortcodes.php:32
[sunshine_cart] includes\shortcodes.php:68
[sunshine_checkout] includes\shortcodes.php:86
[sunshine_favorites] includes\shortcodes.php:104
[sunshine_account] includes\shortcodes.php:122
[sunshine_gallery_password] includes\shortcodes.php:141
[sunshine-gallery-password] includes\shortcodes.php:142
[sunshine_menu] includes\shortcodes.php:161
[sunshine_search] includes\shortcodes.php:166
[sunshine_cart_quantity] includes\shortcodes.php:185
[sunshine_mini_cart] includes\shortcodes.php:190
WordPress Hooks 424
actionsunshine_addon_checkincludes\admin\addons.php:355
filterpre_set_site_transient_update_pluginsincludes\admin\class-addon-update.php:75
filterplugins_apiincludes\admin\class-addon-update.php:76
actionafter_plugin_rowincludes\admin\class-addon-update.php:77
actionadmin_initincludes\admin\class-addon-update.php:78
actioncurrent_screenincludes\admin\class-admin-meta-box.php:11
actionadd_meta_boxesincludes\admin\class-admin-meta-box.php:12
actionsave_postincludes\admin\class-admin-meta-box.php:13
actionadmin_enqueue_scriptsincludes\admin\class-admin-meta-box.php:14
actionwp_loadedincludes\admin\class-admin.php:12
filteradmin_body_classincludes\admin\class-admin.php:14
actionin_admin_headerincludes\admin\class-admin.php:15
actionadmin_footerincludes\admin\class-admin.php:16
actionsunshine_header_linksincludes\admin\class-admin.php:17
actionadmin_enqueue_scriptsincludes\admin\class-admin.php:18
filterdisplay_post_statesincludes\admin\class-admin.php:19
actionadmin_initincludes\admin\class-admin.php:21
actionadmin_initincludes\admin\class-admin.php:22
filterjpeg_qualityincludes\admin\class-admin.php:24
filterintermediate_image_sizesincludes\admin\class-admin.php:26
filterbig_image_size_thresholdincludes\admin\class-admin.php:27
actionsave_postincludes\admin\class-admin.php:29
filterajax_query_attachments_argsincludes\admin\class-admin.php:32
filterpre_get_postsincludes\admin\class-admin.php:33
filterplugin_action_links_sunshine-photo-cart-v3/sunshine-photo-cart.phpincludes\admin\class-admin.php:36
actionadmin_bar_menuincludes\admin\class-admin.php:39
actionadmin_headincludes\admin\class-admin.php:42
filterpost_updated_messagesincludes\admin\class-admin.php:45
actionadmin_noticesincludes\admin\class-admin.php:48
actionadmin_noticesincludes\admin\class-admin.php:51
actionadmin_noticesincludes\admin\class-admin.php:54
actionadmin_noticesincludes\admin\class-admin.php:57
filterwp_prepare_attachment_for_jsincludes\admin\class-admin.php:60
actionadmin_footerincludes\admin\class-admin.php:63
filterpre_get_postsincludes\admin\class-admin.php:66
filtercreate_termincludes\admin\class-admin.php:67
filteredit_termincludes\admin\class-admin.php:68
filterterms_clausesincludes\admin\class-admin.php:69
actionbefore_delete_postincludes\admin\class-admin.php:72
actioncurrent_screenincludes\admin\class-admin.php:74
actionadmin_menuincludes\admin\class-admin.php:77
actionadmin_initincludes\admin\class-admin.php:79
filterattachment_fields_to_editincludes\admin\class-admin.php:82
filterattachment_fields_to_saveincludes\admin\class-admin.php:83
actionadd_meta_boxesincludes\admin\class-admin.php:85
actionadmin_initincludes\admin\class-admin.php:88
actionadmin_noticesincludes\admin\class-admin.php:91
actionadmin_initincludes\admin\class-admin.php:94
actionupdate_option_sunshine_enable_logincludes\admin\class-admin.php:97
actionadd_option_sunshine_enable_logincludes\admin\class-admin.php:98
actionupdate_option_sunshine_enable_error_logincludes\admin\class-admin.php:101
actionadd_option_sunshine_enable_error_logincludes\admin\class-admin.php:102
actionadmin_initincludes\admin\class-admin.php:103
actionadmin_post_sunshine_download_logincludes\admin\class-admin.php:106
actionadmin_post_sunshine_download_error_logincludes\admin\class-admin.php:107
filterinstall_plugins_tabsincludes\admin\class-admin.php:109
actionadmin_initincludes\admin\class-admin.php:110
filteruser_has_capincludes\admin\class-admin.php:113
filtersunshine_price_free_labelincludes\admin\class-admin.php:115
filtersunshine_options_licensesincludes\admin\class-license.php:32
actionadmin_initincludes\admin\class-license.php:34
actionadmin_initincludes\admin\class-license.php:35
actionsunshine_expired_addonsincludes\admin\class-license.php:36
actionsunshine_active_addonsincludes\admin\class-license.php:37
actionsunshine_license_checkincludes\admin\class-license.php:38
actionadmin_initincludes\admin\class-options.php:30
actionadmin_initincludes\admin\class-options.php:33
filtersunshine_admin_menuincludes\admin\class-options.php:37
actionadmin_footerincludes\admin\class-options.php:40
actionadmin_noticesincludes\admin\class-options.php:45
actionadmin_initincludes\admin\class-options.php:47
actionadmin_noticesincludes\admin\class-options.php:48
filterwp_privacy_personal_data_erasersincludes\admin\class-privacy.php:67
filterwp_privacy_personal_data_exportersincludes\admin\class-privacy.php:68
actionsunshine_dailyincludes\admin\class-privacy.php:69
filtersunshine_toolsincludes\admin\class-tool.php:16
actionadmin_initincludes\admin\class-update.php:20
actionadmin_menuincludes\admin\class-update.php:21
actionsunshine_update_3.0includes\admin\class-update.php:23
actionsunshine_update_3.0.17includes\admin\class-update.php:37
actionsunshine_update_3.0.18includes\admin\class-update.php:38
actionsunshine_update_3.5.6includes\admin\class-update.php:39
actionsunshine_update_3.6.0includes\admin\class-update.php:40
actionsunshine_update_3.6.2includes\admin\class-update.php:41
actionsunshine_update_3.6.3includes\admin\class-update.php:42
actionactivated_pluginincludes\admin\class-update.php:44
actionadmin_noticesincludes\admin\class-update.php:45
actionadmin_initincludes\admin\customers.php:67
actionsunshine_customer_tab_profileincludes\admin\customers.php:93
actionsunshine_customer_tab_ordersincludes\admin\customers.php:133
actionsunshine_customer_tab_favoritesincludes\admin\customers.php:173
actionsunshine_customer_tab_activityincludes\admin\customers.php:244
filtercomments_clausesincludes\admin\customers.php:273
actionwp_dashboard_setupincludes\admin\dashboard.php:6
actionsunshine_order_createincludes\admin\dashboard.php:8
actionadmin_enqueue_scriptsincludes\admin\gallery-navigator.php:10
actionmanage_posts_extra_tablenavincludes\admin\gallery-navigator.php:29
actionadmin_initincludes\admin\install.php:66
actionadmin_initincludes\admin\install.php:80
actionadmin_initincludes\admin\install.php:95
actionadmin_initincludes\admin\install.php:599
actionsunshine_emails_displayincludes\admin\options\emails.php:2
actionsunshine_payment_methods_displayincludes\admin\options\payment-methods.php:3
actionsunshine_shipping_methods_displayincludes\admin\options\shipping-methods.php:3
actionsunshine_taxes_displayincludes\admin\options\taxes.php:3
filtersunshine_admin_meta_sunshine-productincludes\admin\promos.php:2
filtersunshine_admin_meta_sunshine-galleryincludes\admin\promos.php:88
filtersunshine_options_emailincludes\admin\promos.php:145
filtersunshine_options_checkoutincludes\admin\promos.php:166
filtersunshine_options_shippingincludes\admin\promos.php:196
filtersunshine_options_galleriesincludes\admin\promos.php:217
filtersunshine_options_extraincludes\admin\promos.php:239
actionsunshine_report_ordersincludes\admin\reports.php:141
actionsunshine_report_taxincludes\admin\reports.php:357
actionsunshine_report_productsincludes\admin\reports.php:414
actionsunshine_report_galleriesincludes\admin\reports.php:415
actionsunshine_report_imagesincludes\admin\reports.php:416
actionsunshine_report_customersincludes\admin\reports.php:417
actionsunshine_report_profitsincludes\admin\reports.php:418
filtermanage_edit-sunshine-gallery_columnsincludes\admin\sunshine-gallery.php:250
actionmanage_sunshine-gallery_posts_custom_columnincludes\admin\sunshine-gallery.php:262
actionsunshine_meta_gallery_images_displayincludes\admin\sunshine-gallery.php:333
filterintermediate_image_sizes_advancedincludes\admin\sunshine-gallery.php:1304
filterfallback_intermediate_image_sizesincludes\admin\sunshine-gallery.php:1305
filterimage_make_intermediate_sizeincludes\admin\sunshine-gallery.php:1306
filteras3cf_pre_update_attachment_metadataincludes\admin\sunshine-gallery.php:1310
actionsave_postincludes\admin\sunshine-gallery.php:1566
actionsave_postincludes\admin\sunshine-gallery.php:1602
filtersunshine_meta_gallery_images_validateincludes\admin\sunshine-gallery.php:1648
filterwp_insert_attachment_dataincludes\admin\sunshine-gallery.php:1654
actionsunshine_meta_gallery_emails_displayincludes\admin\sunshine-gallery.php:1826
actionwpincludes\admin\sunshine-gallery.php:1886
actionadmin_noticesincludes\admin\sunshine-gallery.php:1900
filterenter_title_hereincludes\admin\sunshine-gallery.php:1905
filterdisplay_post_statesincludes\admin\sunshine-gallery.php:1917
filterwp_read_image_metadataincludes\admin\sunshine-gallery.php:1971
filterviews_edit-sunshine-orderincludes\admin\sunshine-order.php:9
actionrestrict_manage_postsincludes\admin\sunshine-order.php:10
filterbulk_actions-edit-sunshine-orderincludes\admin\sunshine-order.php:13
filterhandle_bulk_actions-edit-sunshine-orderincludes\admin\sunshine-order.php:14
filterparse_queryincludes\admin\sunshine-order.php:15
filterposts_joinincludes\admin\sunshine-order.php:18
filterposts_searchincludes\admin\sunshine-order.php:19
filterposts_distinctincludes\admin\sunshine-order.php:20
filterposts_joinincludes\admin\sunshine-order.php:23
filterposts_whereincludes\admin\sunshine-order.php:24
filterposts_distinctincludes\admin\sunshine-order.php:25
filtermanage_sunshine-order_posts_columnsincludes\admin\sunshine-order.php:28
actionmanage_sunshine-order_posts_custom_columnincludes\admin\sunshine-order.php:29
actionmanage_edit-sunshine-order_sortable_columnsincludes\admin\sunshine-order.php:30
actionpre_get_postsincludes\admin\sunshine-order.php:31
actionadmin_initincludes\admin\sunshine-order.php:34
actionadd_meta_boxesincludes\admin\sunshine-order.php:37
actionsunshine_admin_order_tab_itemsincludes\admin\sunshine-order.php:40
actionsunshine_admin_order_tab_imagesincludes\admin\sunshine-order.php:41
actionsunshine_admin_order_tab_commentsincludes\admin\sunshine-order.php:42
actionsunshine_admin_order_tab_notesincludes\admin\sunshine-order.php:43
actionsunshine_admin_order_tab_logincludes\admin\sunshine-order.php:44
actionsunshine_admin_order_tab_refundsincludes\admin\sunshine-order.php:45
actionsave_postincludes\admin\sunshine-order.php:48
actionadmin_initincludes\admin\sunshine-order.php:53
actionsunshine_order_process_action_resend_order_emailincludes\admin\sunshine-order.php:54
actiontrashed_postincludes\admin\sunshine-order.php:57
actionuntrashed_postincludes\admin\sunshine-order.php:58
actionbefore_delete_postincludes\admin\sunshine-order.php:59
actionadmin_initincludes\admin\sunshine-order.php:62
actionwpincludes\admin\sunshine-order.php:1207
actionadmin_noticesincludes\admin\sunshine-order.php:1221
actionsunshine-product-category_add_form_fieldsincludes\admin\sunshine-product-category.php:3
actionsunshine-product-category_edit_form_fieldsincludes\admin\sunshine-product-category.php:87
actioncreated_sunshine-product-categoryincludes\admin\sunshine-product-category.php:152
actionedited_sunshine-product-categoryincludes\admin\sunshine-product-category.php:153
filtermanage_edit-sunshine-product-category_columnsincludes\admin\sunshine-product-category.php:162
filtermanage_sunshine-product-category_custom_columnincludes\admin\sunshine-product-category.php:174
filtersunshine-product-category_row_actionsincludes\admin\sunshine-product-category.php:193
filtermanage_edit-sunshine-product_columnsincludes\admin\sunshine-product.php:102
actionmanage_sunshine-product_posts_custom_columnincludes\admin\sunshine-product.php:110
filtermonths_dropdown_resultsincludes\admin\sunshine-product.php:126
actionrestrict_manage_postsincludes\admin\sunshine-product.php:134
filterparse_queryincludes\admin\sunshine-product.php:173
actionsave_post_sunshine-productincludes\admin\sunshine-product.php:195
actionwpincludes\admin\sunshine-product.php:212
actionadmin_noticesincludes\admin\sunshine-product.php:226
filterenter_title_hereincludes\admin\sunshine-product.php:231
filterpost_row_actionsincludes\admin\sunshine-product.php:243
filterpage_row_actionsincludes\admin\sunshine-product.php:244
filterdebug_informationincludes\admin\system-info.php:58
filtersite_status_testsincludes\admin\system-info.php:68
filterpost_row_actionsincludes\admin\tools\regenerate.php:16
filterpage_row_actionsincludes\admin\tools\regenerate.php:17
actionadmin_noticesincludes\admin\tracking.php:2
actionsunshine_tracking_sendincludes\admin\tracking.php:11
filterbig_image_size_thresholdincludes\background\process-images.php:90
filterintermediate_image_sizesincludes\background\process-images.php:160
actionsunshine_before_initincludes\class-background.php:13
actionbefore_delete_postincludes\class-background.php:14
actioninitincludes\class-background.php:17
actioninitincludes\class-cart.php:37
actionadmin_initincludes\class-cart.php:38
actionsunshine_checkout_section_contact_processincludes\class-cart.php:39
actionwpincludes\class-cart.php:42
filtersunshine_delivery_methodsincludes\class-delivery-method.php:14
filtersunshine_options_shippingincludes\class-delivery-method.php:15
actionwpincludes\class-frontend.php:16
actionwp_enqueue_scriptsincludes\class-frontend.php:18
actionwpincludes\class-frontend.php:19
actionwpincludes\class-frontend.php:20
filterbody_classincludes\class-frontend.php:21
filterprotected_title_formatincludes\class-frontend.php:23
filterprivate_title_formatincludes\class-frontend.php:24
filtersunshine_main_menuincludes\class-frontend.php:25
filtersunshine_image_menuincludes\class-frontend.php:26
filtersunshine_action_menuincludes\class-frontend.php:27
actionwp_headincludes\class-frontend.php:28
actionwp_headincludes\class-frontend.php:29
actionwp_headincludes\class-frontend.php:30
actionwp_footerincludes\class-frontend.php:31
actionwp_footerincludes\class-frontend.php:32
actionwp_footerincludes\class-frontend.php:33
actiontemplate_redirectincludes\class-frontend.php:35
actiontemplate_redirectincludes\class-frontend.php:36
actiontemplate_redirectincludes\class-frontend.php:37
filtercomments_openincludes\class-frontend.php:38
filterprevious_post_linkincludes\class-frontend.php:39
filternext_post_linkincludes\class-frontend.php:40
actiontemplate_redirectincludes\class-frontend.php:41
actionwpincludes\class-frontend.php:42
actionwpincludes\class-frontend.php:43
actionwpincludes\class-frontend.php:44
actionwpincludes\class-frontend.php:45
actiontemplate_redirectincludes\class-frontend.php:46
actionpost_thumbnail_sizeincludes\class-frontend.php:47
filterthe_contentincludes\class-frontend.php:52
filtertemplate_includeincludes\class-frontend.php:54
actioninitincludes\class-notices.php:9
actionadmin_initincludes\class-notices.php:10
actionadmin_noticesincludes\class-notices.php:11
filtersunshine_create_order_statusincludes\class-payment-method.php:21
filtersunshine_order_transaction_urlincludes\class-payment-method.php:22
filtersunshine_checkout_create_order_modeincludes\class-payment-method.php:23
actionsunshine_session_garbage_collectionincludes\class-session.php:16
actionshutdownincludes\class-session.php:22
filtersunshine_shipping_methodsincludes\class-shipping-method.php:88
filtersunshine_checkout_delivery_optionsincludes\class-shipping-method.php:91
actioninitincludes\class-sunshinephotocart.php:38
actionsunshine_favorites_shareincludes\emails\class-email-admin-favorites.php:22
actionsunshine_order_notifyincludes\emails\class-email-admin-receipt.php:26
actionsunshine_after_signupincludes\emails\class-email-admin-signup.php:14
actionsunshine_favorites_shareincludes\emails\class-email-custom-favorites.php:22
actionsunshine_order_notifyincludes\emails\class-email-customer-receipt.php:25
actionsunshine_add_commentincludes\emails\class-email-image-comment.php:22
actionsunshine_order_add_commentincludes\emails\class-email-order-comment.php:24
actionsunshine_admin_order_status_updateincludes\emails\class-email-order-status.php:26
actionsunshine_reset_passwordincludes\emails\class-email-reset-password.php:20
actionsunshine_after_signupincludes\emails\class-email-signup.php:20
actionsunshine_send_summaryincludes\emails\class-email-summary.php:14
actionsunshine_modal_display_signupincludes\functions\account.php:73
actionsunshine_modal_display_loginincludes\functions\account.php:86
actionsunshine_modal_display_require_loginincludes\functions\account.php:118
actionwp_logoutincludes\functions\account.php:182
actionwpincludes\functions\account.php:381
actionwpincludes\functions\account.php:479
actionwpincludes\functions\account.php:582
actionwpincludes\functions\account.php:631
actionwp_loginincludes\functions\account.php:657
actionsunshine_modal_display_add_to_cartincludes\functions\add-to-cart.php:3
actionsunshine_modal_display_add_favorites_to_cartincludes\functions\add-to-cart.php:20
actionwpincludes\functions\add-to-cart.php:382
actioninitincludes\functions\cart.php:20
actioninitincludes\functions\cart.php:52
actionsunshine_after_signupincludes\functions\cart.php:69
actionwp_footerincludes\functions\checkout.php:6
actionsunshine_modal_display_commentsincludes\functions\comments.php:2
filtersunshine_account_require_login_messageincludes\functions\favorites.php:45
actionsunshine_after_loginincludes\functions\favorites.php:56
actionsunshine_after_signupincludes\functions\favorites.php:57
actionwp_loginincludes\functions\favorites.php:86
actionsunshine_modal_display_guest_favoritesincludes\functions\favorites.php:106
actioninitincludes\functions\favorites.php:243
filteruser_row_actionsincludes\functions\favorites.php:255
actionshow_user_profileincludes\functions\favorites.php:263
actionedit_user_profileincludes\functions\favorites.php:264
actionwpincludes\functions\favorites.php:313
actionsunshine_modal_display_share_favoritesincludes\functions\favorites.php:333
actionsunshine_add_favoriteincludes\functions\favorites.php:364
actionsunshine_delete_favoriteincludes\functions\favorites.php:371
filtersunshine_sanitize_amount_decimalsincludes\functions\formatting.php:194
filtersunshine_format_amount_decimalsincludes\functions\formatting.php:195
filterposts_whereincludes\functions\image.php:246
actionsunshine_after_imageincludes\functions\image.php:294
actionwp_before_admin_bar_renderincludes\functions\misc.php:431
filterupload_dirincludes\functions\misc.php:455
actionthe_contentincludes\functions\misc.php:471
filteruser_has_capincludes\functions\misc.php:497
actionpre_get_commentsincludes\functions\misc.php:513
actionpre_option_wp_attachment_pages_enabledincludes\functions\misc.php:546
actionsunshine_dailyincludes\functions\misc.php:597
filterjetpack_photon_skip_for_urlincludes\functions\plugin-compat.php:4
filterphoton_validate_image_urlincludes\functions\plugin-compat.php:13
filterjetpack_photon_skip_imageincludes\functions\plugin-compat.php:22
filterewww_image_optimizer_bypassincludes\functions\plugin-compat.php:32
filterewww_image_optimizer_resize_dimensionsincludes\functions\plugin-compat.php:41
actionsunshine_after_image_processincludes\functions\plugin-compat.php:50
filterewww_image_optimizer_background_optimizationincludes\functions\plugin-compat.php:61
filterimagify_auto_optimize_attachmentincludes\functions\plugin-compat.php:70
filtershortpixel/media/uploadhookincludes\functions\plugin-compat.php:81
filterwp_generate_attachment_metadataincludes\functions\plugin-compat.php:94
filterwpseo_sitemap_exclude_post_typeincludes\functions\seo.php:17
filterwpseo_opengraph_imageincludes\functions\seo.php:44
filterwpseo_opengraph_image_widthincludes\functions\seo.php:49
filterwpseo_opengraph_image_heightincludes\functions\seo.php:69
filterwpseo_attachment_redirect_urlincludes\functions\seo.php:99
filterrank_math/frontend/attachment/redirect_urlincludes\functions\seo.php:117
filterwpseo_exclude_from_sitemap_by_post_idsincludes\functions\seo.php:169
filteraioseo_sitemap_exclude_postsincludes\functions\seo.php:183
filterrank_math/sitemap/entryincludes\functions\seo.php:203
filterseopress_sitemaps_single_urlincludes\functions\seo.php:222
actionsunshine_modal_display_shareincludes\functions\share.php:2
actionsunshine_modal_display_store_productincludes\functions\store.php:2
actionsunshine_checkout_start_formincludes\functions\template.php:690
actionsunshine_after_cartincludes\functions\template.php:865
actionsunshine_after_image_processincludes\functions\watermark.php:374
actionsunshine_orderincludes\payment-methods\offline.php:13
actionsunshine_email_order_receiptincludes\payment-methods\offline.php:14
filtersunshine_order_transaction_urlincludes\payment-methods\paypal-legacy.php:19
filtersunshine_admin_order_tabsincludes\payment-methods\paypal-legacy.php:21
actionsunshine_admin_order_tab_paypal-legacyincludes\payment-methods\paypal-legacy.php:22
actionwpincludes\payment-methods\paypal-legacy.php:24
actionwpincludes\payment-methods\paypal-legacy.php:25
actionwpincludes\payment-methods\paypal-legacy.php:26
actionwp_enqueue_scriptsincludes\payment-methods\paypal.php:24
actionsunshine_checkout_process_payment_paypalincludes\payment-methods\paypal.php:34
filtersunshine_order_transaction_urlincludes\payment-methods\paypal.php:36
filtersunshine_admin_order_tabsincludes\payment-methods\paypal.php:38
actionsunshine_admin_order_tab_paypalincludes\payment-methods\paypal.php:39
actionsunshine_order_actionsincludes\payment-methods\paypal.php:41
actionsunshine_order_actions_optionsincludes\payment-methods\paypal.php:42
actionsunshine_order_process_action_paypal_refundincludes\payment-methods\paypal.php:43
actionsunshine_checkout_validationincludes\payment-methods\paypal.php:45
actionsunshine_square_connect_displayincludes\payment-methods\square.php:22
actionadmin_initincludes\payment-methods\square.php:23
actionadmin_initincludes\payment-methods\square.php:24
actionadmin_initincludes\payment-methods\square.php:25
actionadmin_initincludes\payment-methods\square.php:26
actionsunshine_square_access_token_refreshincludes\payment-methods\square.php:32
actionwpincludes\payment-methods\square.php:34
actionwp_enqueue_scriptsincludes\payment-methods\square.php:36
actionsunshine_checkout_process_payment_squareincludes\payment-methods\square.php:42
filtersunshine_admin_order_tabsincludes\payment-methods\square.php:49
actionsunshine_admin_order_tab_squareincludes\payment-methods\square.php:50
actionsunshine_order_actionsincludes\payment-methods\square.php:52
actionsunshine_order_actions_optionsincludes\payment-methods\square.php:53
actionsunshine_order_process_action_square_refundincludes\payment-methods\square.php:54
actionsunshine_checkout_validationincludes\payment-methods\square.php:56
actionsunshine_stripe_connect_displayincludes\payment-methods\stripe.php:315
actionsunshine_stripe_webhook_displayincludes\payment-methods\stripe.php:316
actionsunshine_stripe_payment_methods_displayincludes\payment-methods\stripe.php:317
actionadmin_initincludes\payment-methods\stripe.php:318
actionadmin_initincludes\payment-methods\stripe.php:319
actionadmin_initincludes\payment-methods\stripe.php:320
filtersunshine_checkout_post_process_orderincludes\payment-methods\stripe.php:334
actionadmin_initincludes\payment-methods\stripe.php:336
actionwp_enqueue_scriptsincludes\payment-methods\stripe.php:338
actionsunshine_checkout_update_payment_methodincludes\payment-methods\stripe.php:340
actionsunshine_checkout_init_order_successincludes\payment-methods\stripe.php:342
actionwpincludes\payment-methods\stripe.php:344
actionwpincludes\payment-methods\stripe.php:345
actionwpincludes\payment-methods\stripe.php:347
actionwpincludes\payment-methods\stripe.php:350
actionwpincludes\payment-methods\stripe.php:351
filtersunshine_create_order_statusincludes\payment-methods\stripe.php:354
actionsunshine_checkout_process_payment_stripeincludes\payment-methods\stripe.php:356
filtersunshine_order_transaction_urlincludes\payment-methods\stripe.php:358
filtersunshine_admin_order_tabsincludes\payment-methods\stripe.php:360
actionsunshine_admin_order_tab_stripeincludes\payment-methods\stripe.php:361
actionsunshine_order_actionsincludes\payment-methods\stripe.php:363
actionsunshine_order_actions_optionsincludes\payment-methods\stripe.php:364
actionsunshine_order_process_action_stripe_refundincludes\payment-methods\stripe.php:365
actionsunshine_checkout_validationincludes\payment-methods\stripe.php:367
actionsunshine_before_contentincludes\template-hooks.php:4
actionsunshine_before_contentincludes\template-hooks.php:9
actionsunshine_after_contentincludes\template-hooks.php:17
actionsunshine_single_galleryincludes\template-hooks.php:25
actionsunshine_single_imageincludes\template-hooks.php:33
actionsunshine_galleriesincludes\template-hooks.php:42
actionsunshine_single_galleryincludes\template-hooks.php:73
filterthe_contentincludes\template-hooks.php:178
actionsunshine_single_imageincludes\template-hooks.php:203
actionsunshine_single_imageincludes\template-hooks.php:254
actionsunshine_cartincludes\template-hooks.php:257
actionsunshine_checkoutincludes\template-hooks.php:267
actionsunshine_orderincludes\template-hooks.php:277
actionsunshine_order_receivedincludes\template-hooks.php:278
actionsunshine_orderincludes\template-hooks.php:288
actionsunshine_order_receivedincludes\template-hooks.php:289
actionsunshine_orderincludes\template-hooks.php:299
actionsunshine_order_receivedincludes\template-hooks.php:300
actionsunshine_orderincludes\template-hooks.php:307
actionsunshine_order_receivedincludes\template-hooks.php:308
actionsunshine_orderincludes\template-hooks.php:315
actionsunshine_order_receivedincludes\template-hooks.php:316
actionsunshine_favoritesincludes\template-hooks.php:325
actionsunshine_accountincludes\template-hooks.php:345
actionsunshine_account_menuincludes\template-hooks.php:385
actionsunshine_account_contentincludes\template-hooks.php:392
actionsunshine_account_ordersincludes\template-hooks.php:406
actionsunshine_account_addressesincludes\template-hooks.php:411
actionsunshine_account_galleriesincludes\template-hooks.php:443
actionsunshine_account_profileincludes\template-hooks.php:448
actionsunshine_account_loginincludes\template-hooks.php:459
actionsunshine_account_reset-passwordincludes\template-hooks.php:468
actionsunshine_search_resultsincludes\template-hooks.php:491
actionsunshine_invoice_after_dataincludes\template-hooks.php:503
actionwidgets_initincludes\widgets.php:264
actionafter_setup_themesunshine-photo-cart.php:39
filterload_textdomain_mofilesunshine-photo-cart.php:44
actionwp_headthemes\classic\functions.php:6
actionwp_headthemes\cover\functions.php:27
filtersunshine_main_menuthemes\cover\functions.php:47
actionsunshine_before_contentthemes\theme\functions.php:6
actionsunshine_before_contentthemes\theme\functions.php:11
actionsunshine_before_contentthemes\theme\functions.php:16
actionsunshine_after_contentthemes\theme\functions.php:23
actionsunshine_after_contentthemes\theme\functions.php:28

Scheduled Events 13

sunshine_addon_check
sunshine_session_garbage_collection
sunshine_send_summary
sunshine_license_check
sunshine_tracking_send
sunshine_daily
sunshine_addon_check
sunshine_session_garbage_collection
sunshine_send_summary
sunshine_license_check
sunshine_tracking_send
sunshine_daily
sunshine_square_access_token_refresh
Maintenance & Trust

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedMar 13, 2026
PHP min version7.4
Downloads211K

Community Trust

Rating94/100
Number of ratings136
Active installs1K
Developer Profile

Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers Developer Profile

sunshinephotocart

1 plugin · 1K total installs

63
trust score
Avg Security Score
77/100
Avg Patch Time
127 days
View full developer profile
Detection Fingerprints

How We Detect Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/sunshine-photo-cart/assets/css/sunshine-photo-cart.css/wp-content/plugins/sunshine-photo-cart/assets/js/sunshine-photo-cart.js
Script Paths
/wp-content/plugins/sunshine-photo-cart/assets/js/sunshine-photo-cart.js
Version Parameters
sunshine-photo-cart/assets/css/sunshine-photo-cart.css?ver=sunshine-photo-cart/assets/js/sunshine-photo-cart.js?ver=

HTML / DOM Fingerprints

CSS Classes
sunshine-photo-cart-admin
JS Globals
SunshinePhotoCartAdmin
FAQ

Frequently Asked Questions about Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers