Changeset 3224058
- Timestamp:
- 01/17/2025 09:25:54 AM (12 months ago)
- Location:
- mobile-dj-manager/trunk
- Files:
-
- 7 edited
-
assets/css/mdjm-admin.css (modified) (1 diff)
-
assets/css/mdjm-admin.min.css (modified) (1 diff)
-
includes/admin/extensions.php (modified) (2 diffs)
-
includes/admin/menu.php (modified) (1 diff)
-
includes/ajax-functions.php (modified) (1 diff)
-
mobile-dj-manager.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mobile-dj-manager/trunk/assets/css/mdjm-admin.css
r2810426 r3224058 696 696 .mdjm-extension-wrapper { 697 697 overflow: hidden; 698 } 699 700 .mdjm-extension-header { 701 margin: 0 15px; 702 background: #FFF; 703 padding: 12px 0; 704 border: 1px solid #000; 705 border-radius: 4px; 706 text-align: center; 707 column-gap: 10px; 698 708 } 699 709 -
mobile-dj-manager/trunk/assets/css/mdjm-admin.min.css
r3001907 r3224058 634 634 overflow: hidden 635 635 } 636 .mdjm-extension-header { 637 margin: 0 15px; 638 background: #FFF; 639 padding: 24px 0; 640 border: 1px solid #000; 641 border-radius: 10px; 642 text-align: center; 643 width: 100%; 644 font-weight: 700; 645 font-size: 24px; 646 } 647 648 .mdjm-extension-blurb{ 649 margin: 0 15px; 650 padding: 15px 0; 651 font-size: 16px; 652 } 653 .mdjm-extensions-page{ 654 max-width: 100%; 655 margin: 25px 40px 0 0; 656 } 657 .mdjm-extension-container{ 658 display: grid; 659 justify-content: center; 660 grid-template-columns: repeat(4, 1fr); 661 gap: 0px; 662 width: 90%; 663 margin: 0 auto; 664 column-gap:20px; 665 } 666 .mdjm-bundle-container{ 667 display: grid; 668 justify-content: center; 669 grid-template-columns: repeat(4, 1fr); 670 width: 90%; 671 margin: 0 auto; 672 column-gap:20px; 673 } 674 .mdjm-extension-grid{ 675 background-color: #fff; 676 border: 1px solid #ddd; 677 height: auto; 678 box-shadow: 1px 1px 3px 1px #ddd; 679 } 680 .mdjm-extension-name{ 681 font-size: 20px; 682 font-weight: bold; 683 text-align: center; 684 padding: 15px 0; 685 border-bottom: 1px solid #ddd; 686 color: #000; 687 } 688 .mdjm-extension-snippet{ 689 text-align: left; 690 padding: 10px 15px; 691 font-size: 16px; 692 } 693 .mdjm-extension-features{ 694 text-align: center; 695 font-weight: bold; 696 font-size: 16px; 697 margin-top:10px; 698 text-decoration: underline; 699 } 700 .mdjm-extension-features-list { 701 list-style: none; 702 padding: 0px 15px; 703 color: #000; 704 font-size: 16px; 705 } 706 707 .mdjm-extension-features-list li { 708 position: relative; 709 padding-left: 25px; /* Adds space for the icon */ 710 } 711 712 .mdjm-extension-features-list li::before { 713 content: '\f00c'; 714 font-family: 'Font Awesome 5 Free'; 715 font-weight: 900; 716 position: absolute; 717 left: 0; 718 top: 0; 719 color: #000; 720 } 721 722 .mdjm-extension-name-section{ 723 background-color: #eee; 724 } 725 .mdjm-extension-button-placeholder { 726 width: 100%; 727 margin: 0 auto; 728 padding: 10px 0; 729 display: block; 730 justify-content: center; 731 align-items: center; 732 } 733 .mdjm-extension-price { 734 display: block; /* Ensures this element takes up a full line */ 735 margin-bottom: 30px; /* Adds space below the price */ 736 font-size: 36px; /* Adjust font size as needed */ 737 font-weight: bold; /* Optional: Make the price bold */ 738 text-align:center; 739 } 740 741 .mdjm-extension-button { 742 display: block; /* Ensures the button container takes up a full line */ 743 text-align: center; /* Optional: Center the button horizontally */ 744 } 745 746 747 .mdjm-button-secondary { 748 color: #555d66; 749 background: #f6f7f7; 750 border-color: #ccc; 751 box-shadow: 0 1px 0 #ccc; 752 text-decoration: none; 753 text-shadow: 0 1px 0 #fff; 754 padding: 6px 12px; 755 border-radius: 3px; 756 font-size: 13px; 757 font-style:italic; 758 } 759 636 760 .col { 637 761 background: #eee; -
mobile-dj-manager/trunk/includes/admin/extensions.php
r3001907 r3224058 24 24 function mdjm_extensions_page() { 25 25 setlocale( LC_MONETARY, get_locale() ); 26 $extensions = mdjm_get_extensions(); 27 $tags = '<a><em><strong><blockquote><ul><ol><li><p>'; 28 $length = 55; 29 $extensions_url = esc_url( 30 add_query_arg( 31 array( 32 'utm_source' => 'plugin-addons-page', 33 'utm_medium' => 'plugin', 34 'utm_campaign' => 'MDJM_Addons_Page', 35 'utm_content' => 'All Addons', 36 ), 37 'https://mdjm.co.uk/extensions/' 38 ) 39 ); 40 41 $slug_corrections = array( 42 'ratings-and-satisfaction' => 'ratings-satisfaction', 43 'easy-digital-downloads' => 'edd', 44 'pdf-export' => 'to-pdf', 45 ); 26 $extension_url = "https://www.mdjm.co.uk/downloads" 46 27 47 28 ?> 48 <div class="wrap about-wrap mdjm-about-wrapp"> 49 <h1> 50 <?php esc_html_e( 'Extensions for Mobile DJ Manager', 'mobile-dj-manager' ); ?> 51 </h1> 52 <div> 53 <p><a href="<?php echo esc_url( $extensions_url ); ?>" class="button-primary" target="_blank"><?php esc_html_e( 'Browse All Extensions', 'mobile-dj-manager' ); ?></a></p> 54 <p><?php esc_html_e( 'These extensions', 'mobile-dj-manager' ); ?> <em><strong><?php esc_html_e( 'add even more functionality', 'mobile-dj-manager' ); ?></em></strong> <?php esc_html_e( 'to your Mobile DJ Manager solution.', 'mobile-dj-manager' ); ?></p> 29 <div class="mdjm-extensions-page"> 30 <section class="mdjm-extension-header">MDJM Extensions</section> 31 <div class="mdjm-extension-blurb"> 32 We have four extensions so far to further enhance your site, Stripe Payment Add On, Dynamic Contact Forms Extension, a Google Calendar Extension and a brand new SMS Messaging Service extension. We are working on a few other add-ons as well so please join our <a href="https://www.facebook.com/groups/445488710162671">Facebook Users Group</a> to keep up to date.<br /><br />All prices shown are per year. Monthly options are available on our website. 55 33 </div> 56 57 <div class="mdjm-extension-wrapper grid2"> 58 <?php 59 foreach ( $extensions as $key => $extension ) : 60 $the_excerpt = ''; 61 $slug = $extension->info->slug; 62 $link = 'https://mdjm.co.uk/extensions/' . $slug . '/'; 63 $price = false; 64 $link = esc_url( 65 add_query_arg( 66 array( 67 'utm_source' => 'plugin-addons-page', 68 'utm_medium' => 'plugin', 69 'utm_campaign' => 'MDJM_Addons_Page', 70 'utm_content' => $extension->info->title, 71 ), 72 $link 73 ) 74 ); 75 76 if ( 'payment-gateways' == $slug ) { 77 continue; 78 } 79 80 if ( array_key_exists( $slug, $slug_corrections ) ) { 81 $slug = $slug_corrections[ $slug ]; 82 } 83 84 if ( isset( $extension->pricing->amount ) ) { 85 if ( '0.00' == $extension->pricing->amount ) { 86 $price = false; 87 } else { 88 $price = '£' . number_format( $extension->pricing->amount, 2 ); 89 } 90 } else { 91 if ( isset( $extension->pricing->singlesite ) ) { 92 $price = '£' . number_format( $extension->pricing->singlesite, 2 ); 93 } 94 } 95 96 if ( ! empty( $extension->info->excerpt ) ) { 97 $the_excerpt = $extension->info->excerpt; 98 } 99 100 $the_excerpt = strip_shortcodes( wp_strip_all_tags( wp_unslash( $the_excerpt ), $tags ) ); 101 $the_excerpt = preg_split( '/\b/', $the_excerpt, $length * 2 + 1 ); 102 $excerpt_waste = array_pop( $the_excerpt ); 103 $the_excerpt = implode( $the_excerpt ); 104 ?> 105 106 <article class="col"> 107 <div class="mdjm-extension-item"> 108 <div class="mdjm-extension-item-img"> 109 <a href="<?php echo esc_url( $link ); ?>" target="_blank"><img src="<?php echo esc_url( $extension->info->thumbnail ); ?>" /></a> 110 </div> 111 <div class="mdjm-extension-item-desc"> 112 <p class="mdjm-extension-item-heading"><?php echo esc_html( $extension->info->title ); ?></p> 113 <div class="mdjm-extension-item-excerpt"> 114 <p><?php echo esc_html( $the_excerpt ); ?></p> 115 </div> 116 <div class="mdjm-extension-buy-now"> 117 <?php if ( ! is_plugin_active( 'mdjm-' . $slug . '/' . 'mdjm-' . $slug . '.php' ) ) : ?> 118 <?php if ( ! $price ) : ?> 119 <?php 120 $link = add_query_arg( 121 array( 122 's' => 'mdjm-to-pdf', 123 'tab' => 'search', 124 'type' => 'term', 125 ), 126 admin_url( 'plugin-install.php' ) 127 ); 128 ?> 129 <a href="<?php echo esc_url( $link ); ?>" class="button-primary"><?php esc_html_e( 'Download Now for Free', 'mobile-dj-manager' ); ?></a> 130 <?php else : ?> 131 <a href="<?php echo esc_url( $link ); ?>" class="button-primary" target="_blank"><?php printf( esc_html__( 'Buy Now from %s', 'mobile-dj-manager' ), esc_html( $price ) ); ?></a> 132 <?php endif; ?> 133 <?php else : ?> 134 <p class="button-primary"><?php esc_html_e( 'Already Installed', 'mobile-dj-manager' ); ?></p> 135 <?php endif; ?> 136 </div> 137 </div> 138 </div> 139 </article> 140 <?php endforeach; ?> 34 <h2 style="text-decoration: underline">Single Extensions</h2> 35 <div class="mdjm-extension-container"> 36 <div class="mdjm-extension-grid"> 37 <div class="mdjm-extension-name-section"> 38 <div class="mdjm-extension-name">Dynamic Contact Forms</div> 39 </div> 40 41 <div class="mdjm-extension-snippet"> 42 The Dynamic Contact Forms add-on streamlines your business by enabling quick, professional responses to enquiries with accurate, competitive quotes. It captures essential client information and even lets you track when a quote has been read. 43 </div> 44 45 <div class="mdjm-extension-features">Main Features:</div> 46 47 <ul class="mdjm-extension-features-list"> 48 <li>Create unlimited contact forms displayed via shortcode or widget.</li> 49 <li>Automatically create event enquiries and client accounts on form submission.</li> 50 <li>Auto-respond to clients with customizable email templates.</li> 51 <li>Support diverse field types (e.g., text, drop-downs, email, phone, date pickers, etc.).</li> 52 <li>Allow users to request event packages and add-ons, with required fields validation.</li> 53 <li>Map form fields to Client and Event fields in the MDJM application.</li> 54 <li>Customize forms with drag-and-drop reordering, CSS classes, and submission actions.</li> 55 </ul> 56 57 <div class="mdjm-extension-button-placeholder"> 58 <?php 59 if ( class_exists( 'MDJM_Dynamic_ContactForms' ) ) { 60 ?> 61 <div class="mdjm-extension-button"> 62 <a class="mdjm-button-secondary">You already have this extension</a> 63 </div> 64 <?php 65 } else { 66 ?> 67 <div class="mdjm-extension-price">£30</div> 68 <div class="mdjm-extension-button"> 69 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-dynamic-contact-forms">Buy now</a> 70 </div> 71 <?php 72 }; 73 ?> 74 </div> 75 </div> 76 77 <!-- Second column --> 78 <div class="mdjm-extension-grid"> 79 <div class="mdjm-extension-name-section"> 80 <div class="mdjm-extension-name">Stripe Payment Gateway</div> 81 </div> 82 83 <div class="mdjm-extension-snippet"> 84 The extension allows your clients to pay securely for their event. Every type of payment can be collected whether it’s a deposit or the remainder balance. Clients can even choose how much they want to pay as well. 85 </div> 86 87 <div class="mdjm-extension-features">Main Features:</div> 88 89 <ul class="mdjm-extension-features-list"> 90 <li>Inbound payment and outbound processing fees are logged</li> 91 <li>Events are updated accordingly</li> 92 <li>Configure custom emails to be sent once a payment has been made</li> 93 <li>License cost includes 1 year of support and updates from the date of purchase</li> 94 <li>Stripe is only available in certain countries. We cannot be held responsible if you purchase the add-on and it is not supported in your country.</li> 95 </ul> 96 97 <div class="mdjm-extension-button-placeholder"> 98 <?php 99 if ( class_exists( 'MDJM_Stripe_Gateway' ) ) { 100 ?> 101 <div class="mdjm-extension-button"> 102 <a class="mdjm-button-secondary">You already have this extension</a> 103 </div> 104 <?php 105 } else { 106 ?> 107 <div class="mdjm-extension-price">£30</div> 108 <div class="mdjm-extension-button"> 109 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-stripe-payment-gateway/">Buy now</a> 110 </div> 111 <?php 112 }; 113 ?> 114 </div> 115 </div> 116 117 <!-- Third Column --> 118 <div class="mdjm-extension-grid"> 119 <div class="mdjm-extension-name-section"> 120 <div class="mdjm-extension-name">SMS Messaging</div> 121 </div> 122 123 <div class="mdjm-extension-snippet"> 124 With this extension, you can send SMS Messages to your clients straight from your website. There are limitless templates you can have and each time you send an SMS, it logs it to the Communication History tab on your event system too. 125 </div> 126 127 <div class="mdjm-extension-features">Main Features:</div> 128 129 <ul class="mdjm-extension-features-list"> 130 <li>Sends SMS messages to your clients</li> 131 <li>Logs each message including the date and time it was sent and who sent it</li> 132 <li>Allows the use of content tags so you can really personalise each message</li> 133 <li>License is valid for 1 year and comes with support and updates</li> 134 <li>Twilio is only available in certain countries. We cannot be held responsible if you purchase the add-on and it is not supported in your country.</li> 135 <li>We do not take any commission from the sale of SMS Credits purchased through Twilio</li> 136 </ul> 137 138 <div class="mdjm-extension-button-placeholder"> 139 <?php 140 if ( class_exists( 'MDJM_SMS_Sender' ) ) { 141 ?> 142 <div class="mdjm-extension-button"> 143 <a class="mdjm-button-secondary">You already have this extension</a> 144 </div> 145 <?php 146 } else { 147 ?> 148 <div class="mdjm-extension-price">£20</div> 149 <div class="mdjm-extension-button"> 150 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-sms-sender">Buy now</a> 151 </div> 152 <?php 153 }; 154 ?> 155 </div> 156 </div> 157 158 <!-- Fourth Column --> 159 <div class="mdjm-extension-grid"> 160 <div class="mdjm-extension-name-section"> 161 <div class="mdjm-extension-name">Spotify Playlist Converter</div> 162 </div> 163 164 <div class="mdjm-extension-snippet"> 165 This extension will allow your clients to insert a public playlist into their event and it converts the details into the MDJM Playlist table. Mobile DJ Manager has secure APIs set up linked to Spotify that will process the playlist, verify it and return the playlist details into the MDJM Playlist Table for that event. It will even skip the duplicates found on the playlist (this will be for new events from the moment you install the Extension). 166 </div> 167 168 <div class="mdjm-extension-features">Main Features:</div> 169 170 <ul class="mdjm-extension-features-list"> 171 <li>Playlist detail transformation.</li> 172 <li>Events are updated accordingly</li> 173 <li>Checks the Database against the playlist and skips any duplicates</li> 174 <li>License cost includes 1 year of support and updates from the date of purchase</li> 175 <li>The playlist needs to be an open playlist</li> 176 </ul> 177 178 <div class="mdjm-extension-button-placeholder"> 179 <?php 180 if ( class_exists( 'MDJM_SP_Converter' ) ) { 181 ?> 182 <div class="mdjm-extension-button"> 183 <a class="mdjm-button-secondary">You already have this extension</a> 184 </div> 185 <?php 186 } else { 187 ?> 188 <div class="mdjm-extension-price">£15</div> 189 <div class="mdjm-extension-button"> 190 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-extension-spotify-playlist-converter/">Buy now</a> 191 </div> 192 <?php 193 }; 194 ?> 195 </div> 196 </div> 197 </div> 198 <h2 style="text-decoration: underline">Bundles</h2> 199 <div class="mdjm-extension-container"> 200 <div class="mdjm-extension-grid"> 201 <div class="mdjm-extension-name-section"> 202 <div class="mdjm-extension-name">Starter Bundle</div> 203 </div> 204 205 <div class="mdjm-extension-snippet"> 206 Our Starter Bundle is perfect for those that want to take payments and allow clients to fill out a contact form to create an enquiry. 207 </div> 208 209 <div class="mdjm-extension-features">Main Features:</div> 210 211 <ul class="mdjm-extension-features-list"> 212 <li>Dynamic Contact Forms</li> 213 <li>Stripe Payment Gateway</li> 214 <li>1 year support and licensing</li> 215 </ul> 216 217 <div class="mdjm-extension-button-placeholder"> 218 <?php 219 if ( class_exists( 'MDJM_Dynamic_ContactForms' ) && class_exists('MDJM_Stripe_Gateway') ) { 220 ?> 221 <div class="mdjm-extension-button"> 222 <a class="mdjm-button-secondary">You already have this bundle</a> 223 </div> 224 <?php 225 } else { 226 ?> 227 <div class="mdjm-extension-price">£50</div> 228 <div class="mdjm-extension-button"> 229 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-beginner-bundle/">Buy now</a> 230 </div> 231 <?php 232 }; 233 ?> 234 </div> 235 </div> 236 237 <!-- Second column --> 238 <div class="mdjm-extension-grid"> 239 <div class="mdjm-extension-name-section"> 240 <div class="mdjm-extension-name">All-Out Bundle</div> 241 </div> 242 243 <div class="mdjm-extension-snippet"> 244 This bundle is perfect for those that want everything we have to offer. It’s a great offer to be had at £65 instead of £80 when purchased separately and will give you updates and support for 1 year from purchase date. 245 </div> 246 247 <div class="mdjm-extension-features">Main Features:</div> 248 249 <ul class="mdjm-extension-features-list"> 250 <li>Stripe Payment Gateway</li> 251 <li>Dynamic Contact Forms</li> 252 <li>Spotify Playlist Converter</li> 253 <li>SMS Sender</li> 254 <li>1 year support and licensing</li> 255 </ul> 256 257 <div class="mdjm-extension-button-placeholder"> 258 <?php 259 if ( class_exists( 'MDJM_Stripe_Gateway' ) && class_exists( 'MDJM_Dynamic_ContactForms' ) && class_exists( 'MDJM_SP_Converter' ) && class_exists( 'MDJM_SMS_Sender' ) ) { 260 ?> 261 <div class="mdjm-extension-button"> 262 <a class="mdjm-button-secondary">You already have this bundle</a> 263 </div> 264 <?php 265 } else { 266 ?> 267 <div class="mdjm-extension-price">£65</div> 268 <div class="mdjm-extension-button"> 269 <a class="button-primary" href="<?php echo $extension_url?>/mdjm-all-out-bundle/">Buy now</a> 270 </div> 271 <?php 272 }; 273 ?> 274 </div> 275 </div> 276 141 277 </div> 142 278 </div> … … 144 280 145 281 } // mdjm_extensions_page 146 147 /** 148 * Retrieve the published extensions from mdjm.co.uk and store within transient. 149 * 150 * @since 1.0.3 151 * @return void 152 */ 153 function mdjm_get_extensions() { 154 $extensions = get_transient( '_mdjm_extensions_feed' ); 155 156 if ( false === $extensions || doing_action( 'mdjm_daily_scheduled_events' ) ) { 157 $route = 'https://mdjm.co.uk/edd-api/products/'; 158 $number = 20; 159 $endpoint = add_query_arg( 160 array( 161 'number' => $number, 162 'orderby' => 'rand', 163 ), 164 $route 165 ); 166 167 // Make the API request 168 $response = wp_remote_get( $endpoint ); 169 170 // Check for request errors 171 if ( is_wp_error( $response ) ) { 172 // Log the error and return 173 error_log( 'API Request Error: ' . $response->get_error_message() ); 174 return array(); // Return an empty array to avoid further issues with the loop 175 } 176 177 // Get the response code 178 $response_code = wp_remote_retrieve_response_code( $response ); 179 error_log( 'API Response Code: ' . $response_code ); 180 181 if ( 200 === $response_code ) { 182 $body = wp_remote_retrieve_body( $response ); 183 $content = json_decode( $body ); 184 185 if ( is_object( $content ) && isset( $content->products ) ) { 186 set_transient( '_mdjm_extensions_feed', $content->products, DAY_IN_SECONDS / 2 ); // Store for 12 hours 187 $extensions = $content->products; 188 } else { 189 // Log an error message if the expected data is missing 190 error_log( 'API Response does not contain the expected products data.' ); 191 } 192 } else { 193 // Log an error message if the API response code is not 200 194 error_log( 'API Request Failed. Response Code: ' . $response_code ); 195 } 196 } 197 198 return $extensions; 199 } 200 add_action( 'mdjm_daily_scheduled_events', 'mdjm_get_extensions' ); 201 282 add_filter('admin_footer_text', '__return_empty_string'); 283 add_filter('update_footer', '__return_empty_string', 11); -
mobile-dj-manager/trunk/includes/admin/menu.php
r3001907 r3224058 102 102 $mdjm_settings_page = add_submenu_page( 'edit.php?post_type=mdjm-event', __( 'Settings', 'mobile-dj-manager' ), __( '<strong><span style="color:#F90">Settings</span></strong>', 'mobile-dj-manager' ), 'manage_mdjm', 'mdjm-settings', 'mdjm_options_page' ); 103 103 104 $mdjm_extensions_page = add_submenu_page( 'edit.php?post_type=mdjm-event', __( 'MDJM Extensions', 'mobile-dj-manager' ), __( '<strong><span style="color:# F90">Extensions</span></strong>', 'mobile-dj-manager' ), 'mdjm_employee', 'mdjm-addons', 'mdjm_extensions_page' );104 $mdjm_extensions_page = add_submenu_page( 'edit.php?post_type=mdjm-event', __( 'MDJM Extensions', 'mobile-dj-manager' ), __( '<strong><span style="color:#32CD32">Extensions</span></strong>', 'mobile-dj-manager' ), 'mdjm_employee', 'mdjm-addons', 'mdjm_extensions_page' ); 105 105 106 106 } // mdjm_admin_menu -
mobile-dj-manager/trunk/includes/ajax-functions.php
r3219891 r3224058 1216 1216 $travel_data = $mdjm_event->get_travel_data(); 1217 1217 $employee_id = isset( $_POST['employee_id'] ) ? sanitize_text_field( wp_unslash( $_POST['employee_id'] ) ) : 0; 1218 1218 1219 if ( isset( $_POST['venue'] ) ) { 1219 $dest = json_decode( wp_unslash( $_POST['venue'] ), true ); 1220 } else { 1221 $dest = null; 1222 } 1220 if ( is_array( $_POST['venue'] ) ) { 1221 $dest = array_map( 'sanitize_text_field', $_POST['venue'] ); 1222 } else { 1223 $dest = json_decode( wp_unslash( $_POST['venue'] ), true ); 1224 if ( is_array( $dest ) ) { 1225 $dest = array_map( 'sanitize_text_field', $dest ); 1226 } else { 1227 $dest = sanitize_text_field( $_POST['venue'] ); 1228 } 1229 } 1230 } else { 1231 $dest = '0'; 1232 } 1233 1223 1234 $package_cost = 0; 1224 1235 $addons_cost = 0; -
mobile-dj-manager/trunk/mobile-dj-manager.php
r3219891 r3224058 5 5 * Plugin URI: https://www.mdjm.co.uk 6 6 * Description: The flexible event management solution for WordPress - not just for DJs! 7 * Version: 1.7.5. 57 * Version: 1.7.5.6 8 8 * Date: January 2025 9 9 * Author: MDJM <[email protected]> … … 135 135 private function setup_constants() { 136 136 global $wpdb; 137 define( 'MDJM_VERSION_NUM', '1.7.5. 5' );137 define( 'MDJM_VERSION_NUM', '1.7.5.6' ); 138 138 define( 'MDJM_VERSION_KEY', 'mdjm_version' ); 139 139 define( 'MDJM_PLUGIN_DIR', untrailingslashit( dirname( __FILE__ ) ) ); -
mobile-dj-manager/trunk/readme.txt
r3219891 r3224058 5 5 Tested up to: 6.7 6 6 Requires PHP: 7.4 7 Stable tag: 1.7.5. 57 Stable tag: 1.7.5.6 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 87 87 == Changelog == 88 88 89 = 1.7.5.6 = 90 91 **Fix:** Security Fixes 92 **Enhancement:** More friendly Extensions Page layout 93 89 94 = 1.7.5.5 = 90 95
Note: See TracChangeset
for help on using the changeset viewer.