Million Dollar Script Two GitLab
https://github.com/milliondollarscript/milliondollarscript Million Dollar Script is a WordPress plugin that enables you to sell pixel-based advertising space on your website for an interactive user experience.
by Ryan Rhode · gitlab.com/milliondollarscript/milliondollarscript-two · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://gitlab.com/milliondollarscript/milliondollarscript-two/-/archive/main/milliondollarscript-two-main.zipReadme
=== Million Dollar Script === Contributors: Ryan Rhode, Adam Malinowski, and the entire community. Donate link: https://milliondollarscript.com Tags: million dollar script,mds,pixels,advertising,pixel ads Requires at least: 6.7 Tested up to: 6.8 Stable tag: 2.6.0 Requires PHP: 8.1 License: GPLv3 or later License URI: https://www.gnu.org/licenses/gpl-3.0.html
Million Dollar Script enables you to sell pixel-based advertising space on your website for an interactive user experience.
== Description ==
Million Dollar Script enables you to sell pixel-based advertising space on your website for an interactive user experience.
Visit the Million Dollar Script WordPress Plugin page on the website for additional documentation.
== Changelog ==
= 2.5.15 =
- Improvement: Cancelled blocks now appear as reserved on the ordering grid so it’s clear the area is temporarily unavailable. They’ll be cleaned up automatically based on your Order Timing settings.
- Fix: Clear Orders not working correctly.
- Chore: Update language file.
- New: Added an “Auto-advance after Upload” option so advanced mode can jump users straight from uploading to confirming or paying, with smoother buttons and messages guiding them through the rest of the order.
- Improvement: Grid images now show a friendly loading message with a retry button if they need extra time, so visitors aren’t left wondering what happened.
- Improvement: Grid backgrounds automatically follow your light or dark theme colors when no custom color is saved, keeping the grid looking consistent.
- Improvement: Oversized image uploads now get a friendly nudge with clear sizing tips on both the order and manage screens, so you stay in the flow without any guesswork.
- Fix: Brought the Not For Sale admin page back so you can quickly reserve blocks without running into access errors.
- Fix: Stop WooCommerce’s empty checkout redirect from hijacking MDS routes so grid images load reliably regardless of the checkout page slug.
- Fix: Adjacent block selection works again and shows a friendly message if something needs fixing.
- Fix: WordPress search now finds MDS Pixels by popup text and custom meta—even when the template is off—and keeps apostrophes exactly as customers entered them.
- Improvement: Clarified WooCommerce versus manual payment auto-complete settings and linked per-grid messaging to the Pixels Awaiting Approval screen for quicker reviews.
- Fix: Single MDS Pixel pages now mirror the popup layout and fall back to a 404 when pixels pages are disabled.
- Fix: Grid image uploads now save consistently instead of reverting to the default artwork during edits.
- Improvement: Polished the advertiser list styling so banner headings now stretch across every column and the layout stays readable on any screen.
- New: Developers can fine-tune the advertiser list with fresh hooks (
mds_list_grid_tracks,mds_list_grid_template,mds_list_default_grid_tracks,mds_list_fallback_grid_track) located insrc/Classes/Ajax/Ajax.php. - Fix: The advertiser list shortcode now shows every grid by default, making it easier for visitors to browse everything you offer.
- Dev: Pixel permalinks now enforce RFC-friendly lengths and expose new filters (
mds_pixels_max_url_length,mds_pixels_max_slug_length,mds_permalink_token_value*,mds_permalink_final_slug) so you can clamp or customize any token—including%text%and%meta:field%—before the slug is saved. - Fix: Pixel post titles now mirror the Popup Text a user enters instead of falling back to usernames.
- New: Toggle the popup text field between plain input and a secure rich text editor (limited to basic formatting), and hook into
mds_form_field_sanitize*to customise allowed markup.
= 2.5.14 =
- Perf: Faster block selection on the Order page.
- Fix: Your selection now appears reliably on the grid after uploading.
- Fix: Choosing the very first block on the grid did not work.
- Fix: General stability improvements while ordering.
= 2.5.13 =
- Refactor: Migrate database interactions to $wpdb for improved security and performance.
- Fix: Update shortcode defaults and titles.
- Fix: Correct light mode tooltip background defaults.
- Fix: Backgrounds not working correctly.
- Chore: Update language file.
- Fix: Page validation cron job incorrectly marking pages as "error".
- Fix: "Validate All Pages" button not working.
- Fix: Creating and updating grids not working.
- Fix: Approve pixels not working.
- Fix: Deleting grids causing an error.
- Feature: Add option to hide uploaded image and dimensions in advanced mode.
- Fix: jpg files not uploading.
- Fix: Uploaded image not respecting max_blocks setting in simple mode.
- Fix: Tooltip text not visible in light theme.
- Feature: Add All Grids to select box to admin Pixel Approval screens.
- Fix: Mass complete and cancel of orders not working.
- Fix: Grid select not working in advanced mode.
- Feature: Add option for Selection Adjacency Mode under the Orders tab.
- Feature: Add per-grid option to layer blocks above or below the background image (default remains below). When set to above, block backgrounds become transparent and grid lines render on top of the background.
- Feature: Support per-grid overlay images for Public and Ordering variants in both Light and Dark modes when layering is above. Overlays are PNG; managed on Manage Grids (under Dark Mode Image Management). Sensible defaults are bundled.
- Feature: Add per-grid background color settings for Light and Dark modes (defaults: #ffffff and #14181c).
- Perf: Reduce memory usage when applying background opacity by replacing per-pixel alpha manipulation with GD imagecopymerge().
- Feature: Admin‑configurable MDS Pixels permalinks.
- Base segment is now configurable (default: mds-pixel).
- Slug pattern supports tokens: %username%, %display_name%, %order_id%, %grid%, %pixel_id%, %text%, and %meta:field%.
- Developers can extend/override tokens via the mds_permalink_tokens filter.
- Respects the Transliterate Cyrillic titles to Latin option for cleaner slugs.
- Feature: Migration tool to update existing MDS Pixel slugs to the current pattern.
- Stores previous slugs and issues automatic 301 redirects.
- Legacy base segments are recognized and redirected to the new structure.
- Usage: After changing the base or slug pattern, click Save Changes first, then click Run migration (batched with nonce/capability checks).
- Fix: MDS Pixels search behavior corrected when enabled: titles are searchable again and results remain restricted to completed status; conditional bug in posts_search resolved.
- Fix: Prevented MDS link and button colors from affecting the rest of your theme. Styles are now scoped to the MDS container rather than the entire page (no more mds-container on by default). If you previously relied on the old behavior, you can temporarily re‑enable it with: add_filter('mds_enable_legacy_body_classes', '__return_true');
- Fix: No more duplicate Manage Pixels pages; page creation runs after the Setup Wizard. Manage shortcode now uses width="100%" height="auto".
- Fix: Migration notice is hidden on fresh installs until the wizard finishes or legacy pages exist.
- Fix: Uninstall (Delete data = Yes) now removes plugin options and metadata tables; pages stay. Wizard will show after reinstall.
- Feature: Added WooCommerce Login Redirect option (Options > Login) to control where users are sent after a successful WooCommerce login when integration is enabled.
- Feature: Replaced Register button on the login form with a "Register Now" link placed directly under the Log In button.
- Fix: Order pixel grid rescaling causing missing rows/columns.
= 2.5.12 =
- Feature: Major improvements to pixel selection and upload UI for a smoother, more intuitive experience. Block selection and grid interaction are now more reliable, especially with multiple grids on the same page.
- Feature: Added dynamic CSS generation for improved style customization.
- Fix: Moved all the Admin Settings into the Options page for more consistent and reliable configuration.
- Fix: Enhanced logging and setup wizard flow for better usability.
- Refactor: Core system classes updated for improved stability and maintainability.
- Fix: Improved user management reliability.
- Fix: Improved WooCommerce integration and settings handling.
- Fix: Click reports page updated for better admin reporting and UI consistency.
- Fix: Changed all the checkboxes in the Options to radio buttons.
- Fix: Fixed Complete Order button on Confirm screen when price per block is 0 or user is privileged to go to the Payment page.
- Fix: Fixed uploading a new pixel image that was smaller than the original didn't resize properly when auto-resize is on.
- Fix: Approve pixels.
- Fix: WooCommerce and permission conditional logic checks on Carbon Fields.
- Feature: Add mds_popup_custom_replacements filter for custom popup template replacements.
- Fix: Fixed Max Image Size option in popup template.
- Feature: Add mds_pixel_area_data_values filter for extensions to add additional data.
- Feature: Add dark mode/light mode selection option.
- Feature: Add dark mode/light mode grid image generation and switching.
- Feature: Add page management and creation system.
- Feature: Add mds_manage_order_header_after, mds_manage_order_content_after and mds_manage_pixels_page_footer actions to Manage Pixels page.
- Feature: Add JavaScript hooks system with afterTooltipContentLoaded hook for extensions to customize tooltip content.
= 2.5.11 =
- Add WooCommerce refund integration.
- Fix: Corrected PHP fatal error during AJAX block type updates in the editor.
- Fix: Improved image upload handling, error messages, and resolved dimension validation issues during pixel ordering and management.
- Fix: Improved responsiveness of the pixel grid on the Manage Pixels page for better interaction on smaller screens.
- Fix: Improved pixel selection accuracy, ensuring that the selection tool properly aligns with grid boundaries at all screen sizes.
- Fix: Enhanced mobile compatibility for block selection, ensuring proper functionality on touch devices and when zooming.
- Fix: Fixed issues with multi-block selections where some blocks were not being properly identified.
- Improved the Manage Pixels info layout: columns are now equal height, mobile stacking is full-width, and images can scale to any size for a cleaner, more responsive experience.
- Improved the pixel selection and upload experience for users, making the process more reliable and intuitive.
- Fix: Auto-approved images not being published automatically when grid has auto-approve and auto-publish enabled.
- Fix: Clicking blocks on grid doesn't popup tippy tooltip - blocks were redirecting immediately instead of showing tooltip first.
- Fix: When multiple grids are displayed on the same page, clicks on the second grid would trigger actions on the first grid.
- Fix: Removed visual artifact (black bar) that sometimes appeared when showing tooltips.
- Fix: Improved tooltip handling for multiple grids to ensure tooltips work consistently on all grids.
- Fix: Resolved 'headers already sent' errors in process-pixels.php and clear-orders.php by proper handling of form submissions through admin-post.php.
- Fix: Improved consistency of admin notices by using the Notices class throughout the plugin.
- Fix: Tooltip AJAX content not loading on second grid when multiple grids are displayed on the same page.
- Fix: Resolved database upgrade issues when upgrading from version 2.3.5, preventing errors related to missing columns.
- Fixed PHP 8.2 deprecation notice for dynamic property creation.
- Fixed issue where the "Delete" button on the Blocked IPs page could delete the wrong entry if the table wasn't sorted by ID.
- Improved CSS loading logic to prevent potential conflicts or redundant loading.
- Added a new daily cron task to automatically delete debug log files older than 30 days.
- Fix: Ensured the "Show Sold Pixels" filter works correctly on the user-facing Manage Pixels page.
- Fix: Corrected issue where updating pixel link/URL didn't reflect immediately on the grid.
- Fix: Resolved PHP warning related to array key in Shortcode class.
- Fix: Added check for
wp_doing_cronbefore enqueuing assets. - Fix: Removed deprecated
wp_filter_content_tagsusage. - Fix: Ensured
order_idis consistently available in themds_order_createdaction hook. - Chore: Added daily cron task to delete log files older than 30 days.
- Refactor: Updated logging system to use Options API and hardcoded filename, removing Config dependency.
- Feature: Added AJAX-powered controls to the Logs page for enabling/disabling logging and clearing the log without page reloads.
- Feature: Implemented live log updates (optional toggle) and log entry consolidation (showing latest timestamp and count) on the Logs page.
- Fix: Allow selecting first block.
- Fix: File upload in simple pixel selection method.
= 2.5.10 =
- Fix Payment page redirects and other redirects, also implement more AJAX messages as well as AJAX redirects.
- Fix block selection issues.
- More optimizations and fixes while ordering.
- Fix orders auto-completing when they shouldn't.
- Add mds_reset_order_progress filter.
- Fix hover popup interaction.
- Use WP date and time functions.
- Fix wrong order id being used in some cases.
- Fix reset order progress.
- Fix disapprove pixels not working.
- Fix pagination.
- Fix warning: Undefined array key "blocks".
- Fix when auto-approve is off it isn't unpublishing the order when a user edits it.
- Reorganized and simplified the admin menu: clearer section names, removed redundant links, grouped pixel actions together, and made navigation more intuitive.
- Fix Upload button in order details not working correctly.
- Fix grid currency setting.
- Use Currency Symbol option.
- Update Instructions in advanced mode to output a legend