Changeset 3348452
- Timestamp:
- 08/22/2025 06:10:53 AM (6 months ago)
- Location:
- wpem-rest-api/trunk
- Files:
-
- 17 added
- 8 edited
-
LICENSE (added)
-
admin/templates/html-keys-edit.php (modified) (2 diffs)
-
admin/wpem-rest-api-admin.php (modified) (7 diffs)
-
admin/wpem-rest-api-keys.php (modified) (1 diff)
-
assets/js/admin.js (modified) (4 diffs)
-
assets/js/admin.min.js (modified) (1 diff)
-
includes/wpem-rest-app-branding.php (added)
-
includes/wpem-rest-authentication.php (added)
-
includes/wpem-rest-conroller.php (added)
-
includes/wpem-rest-crud-controller.php (added)
-
includes/wpem-rest-ecosystem-controller.php (added)
-
includes/wpem-rest-events-controller.php (added)
-
includes/wpem-rest-matchmaking-create-meetings.php (added)
-
includes/wpem-rest-matchmaking-filter-users.php (added)
-
includes/wpem-rest-matchmaking-get-texonomy.php (added)
-
includes/wpem-rest-matchmaking-profile.php (added)
-
includes/wpem-rest-matchmaking-user-messages.php (added)
-
includes/wpem-rest-matchmaking-user-registred-events.php (added)
-
includes/wpem-rest-matchmaking-user-settings.php (added)
-
includes/wpem-rest-organizers-controller.php (added)
-
includes/wpem-rest-posts-conroller.php (added)
-
includes/wpem-rest-venues-controller.php (added)
-
readme.txt (modified) (2 diffs)
-
wpem-rest-api-functions.php (modified) (2 diffs)
-
wpem-rest-api.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wpem-rest-api/trunk/admin/templates/html-keys-edit.php
r3262627 r3348452 104 104 </td> 105 105 </tr> 106 <?php 107 $saved_mobile_menu = get_user_meta($user_id, '_mobile_menu', true); 108 $saved_mobile_menu = is_array($saved_mobile_menu) ? $saved_mobile_menu : []; 109 ?> 110 <tr valign="top"> 111 <th scope="row" class="titledesc"> 112 <label for="dashboard_menu"> 113 <?php esc_html_e( 'Mobile Menu', 'wpem-rest-api' ); ?> 114 </label> 115 </th> 116 <td class="forminp"> 117 <label><input type="checkbox" name="mobile_menu[]" value="dashboard" <?php checked(in_array('dashboard', $saved_mobile_menu)); ?>> <?php esc_html_e( 'Dashboard', 'wpem-rest-api' ); ?></label><br> 118 <label><input type="checkbox" name="mobile_menu[]" value="attendees" <?php checked(in_array('attendees', $saved_mobile_menu)); ?>> <?php esc_html_e( 'Attendees', 'wpem-rest-api' ); ?></label><br> 119 <label><input type="checkbox" name="mobile_menu[]" value="guest_list" <?php checked(in_array('guest_list', $saved_mobile_menu)); ?>> <?php esc_html_e( 'Guest List', 'wpem-rest-api' ); ?></label><br> 120 <label><input type="checkbox" name="mobile_menu[]" value="orders" <?php checked(in_array('orders', $saved_mobile_menu)); ?>> <?php esc_html_e( 'Orders', 'wpem-rest-api' ); ?></label><br> 121 <label><input type="checkbox" name="mobile_menu[]" value="arrivals" <?php checked(in_array('arrivals', $saved_mobile_menu)); ?>> <?php esc_html_e( 'Arrivals', 'wpem-rest-api' ); ?></label> 122 <p class="description"> 123 <?php esc_html_e( 'Restrict pages for this key.', 'wpem-rest-api' ); ?> 124 </p> 125 </td> 126 </tr> 127 <tr valign="top"> 128 <th scope="row" class="titledesc"> 129 <label for="event_display_option"><?php esc_html_e( 'Event Show By', 'wpem-rest-api' ); ?></label> 130 </th> 131 <td class="forminp"> 132 <?php 133 $event_show_by = isset( $key_data['event_show_by'] ) ? $key_data['event_show_by'] : 'loggedin'; // Default 134 ?> 135 <label> 136 <input type="radio" name="event_show_by" value="loggedin" <?php checked( $event_show_by, 'loggedin' ); ?> /> 137 <?php esc_html_e( 'Show logged-in user events', 'wpem-rest-api' ); ?> 138 </label><br/> 139 <label> 140 <input type="radio" name="event_show_by" value="selected" <?php checked( $event_show_by, 'selected' ); ?> /> 141 <?php esc_html_e( 'Show selected events', 'wpem-rest-api' ); ?> 142 </label> 143 <p class="description"><?php esc_html_e( 'Choose how events are loaded for this key.', 'wpem-rest-api' ); ?></p> 144 </td> 145 </tr> 146 <tr valign="top" id="select-events-row" style="display:none"> 147 <th scope="row" class="titledesc"> 148 <label for="select_events"><?php esc_html_e( 'Select Events', 'wpem-rest-api' ); ?></label> 149 </th> 150 <td class="forminp"> 151 <?php 152 $selected_events = array(); 153 if (isset($key_data['selected_events'])) { 154 if (is_serialized($key_data['selected_events'])) { 155 $selected_events = maybe_unserialize($key_data['selected_events']); 156 } elseif (is_array($key_data['selected_events'])) { 157 $selected_events = $key_data['selected_events']; 158 } 159 160 $selected_events = array_map('absint', (array)$selected_events); 161 } 162 $events = get_posts(array( 163 'post_type' => 'event_listing', 164 'post_status' => 'publish', 165 'posts_per_page' => -1, 166 'orderby' => 'title', 167 'order' => 'ASC', 168 )); 169 ?> 170 <select id="select_events" name="select_events[]" class="event-manager-select-chosen" multiple data-placeholder="<?php esc_attr_e( 'Choose events…', 'wpem-rest-api' ); ?>"> 171 <?php foreach ($events as $event) : ?> 172 <option value="<?php echo esc_attr($event->ID); ?>" <?php selected(in_array($event->ID, $selected_events), true); ?>> 173 <?php echo esc_html($event->post_title); ?> 174 </option> 175 <?php endforeach; ?> 176 </select> 177 <p class="description"><?php esc_html_e('Select one or more events to associate with this key.', 'wpem-rest-api'); ?></p> 178 </td> 179 </tr> 106 180 107 181 <?php if ( 0 !== $key_id ) : ?> … … 142 216 </td> 143 217 </tr> 218 144 219 <?php endif ?> 145 220 </tbody> -
wpem-rest-api/trunk/admin/wpem-rest-api-admin.php
r3225463 r3348452 112 112 $date_expires = !empty( $_POST['date_expires'] ) ? date( 'Y-m-d H:i:s', strtotime( str_replace( '-', '/', $_POST['date_expires'] ) ) ) : null ; 113 113 $restrict_check_in = isset( $_POST['restrict_check_in'] ) ? sanitize_text_field( $_POST['restrict_check_in'] ) : ''; 114 114 $event_show_by = isset($_POST['event_show_by']) ? sanitize_text_field($_POST['event_show_by']) : 'loggedin'; 115 $select_events = isset($_POST['select_events']) ? maybe_serialize(array_map('absint', $_POST['select_events'])) : maybe_serialize(array()); 116 $mobile_menu = isset($_POST['mobile_menu']) ? array_map('sanitize_text_field', $_POST['mobile_menu']) : array(); 117 118 update_user_meta($user_id, '_mobile_menu', $mobile_menu); 119 115 120 // Check if current user can edit other users. 116 121 if( $user_id && ! current_user_can( 'edit_user', $user_id ) ) { … … 122 127 if( 0 < $key_id ) { 123 128 $data = array( 124 'user_id' => $user_id, 125 'description' => $description, 126 'permissions' => $permissions, 127 'event_id' => $event_id, 128 'date_expires' => $date_expires, 129 'user_id' => $user_id, 130 'description' => $description, 131 'permissions' => $permissions, 132 'event_id' => $event_id, 133 'date_expires' => $date_expires, 134 'event_show_by' => $event_show_by, 135 'selected_events' => $select_events, 129 136 ); 130 137 … … 139 146 '%d', 140 147 '%s', 148 '%s', 149 '%s', 141 150 ), 142 151 array( '%d' ) … … 147 156 $response['consumer_secret'] = ''; 148 157 $response['message'] = __( 'API Key updated successfully.', 'wpem-rest-api' ); 158 $response['selected_events'] = maybe_unserialize($select_events); 149 159 } else { 150 160 $app_key = wp_rand(); … … 163 173 'date_created' => current_time( 'mysql' ) , 164 174 'date_expires' => $date_expires, 175 'event_show_by' => $event_show_by, 176 'selected_events' => $select_events, 165 177 ); 166 178 $wpdb->insert( … … 169 181 array( 170 182 '%d', 183 '%s', 184 '%s', 171 185 '%s', 172 186 '%s', … … 187 201 $response['message'] = __( 'API Key generated successfully. Make sure to copy your new keys now as the secret key will be hidden once you leave this page.', 'wpem-rest-api' ); 188 202 $response['revoke_url'] = '<a class="wpem-backend-theme-button" href="' . esc_url( admin_url( 'edit.php?post_type=event_listing&page=wpem-rest-api-settings&tab=api-access' ) ) . '">' . __('I have Copied the Keys', 'wpem-rest-api') . '</a> <br/><br/> <a class="wpem-backend-theme-button wpem-revoke-button" href="' . esc_url(wp_nonce_url(add_query_arg(array( 'revoke-key' => $key_id ), admin_url('edit.php?post_type=event_listing&page=wpem-rest-api-settings&tab=api-access')), 'revoke')) . '">' . __('Revoke key', 'wpem-rest-api') . '</a>'; 203 $response['event_show_by'] = $event_show_by; 204 $response['selected_events'] = maybe_unserialize($select_events); 189 205 } 190 206 } catch ( Exception $e ) { -
wpem-rest-api/trunk/admin/wpem-rest-api-keys.php
r3033558 r3348452 144 144 $key = $wpdb->get_row( 145 145 $wpdb->prepare( 146 "SELECT key_id, user_id, event_id, description, permissions, truncated_key, last_access, date_expires146 "SELECT key_id, user_id, event_id, description, permissions, truncated_key, last_access, event_show_by, selected_events, date_expires 147 147 FROM {$wpdb->prefix}wpem_rest_api_keys 148 148 WHERE key_id = %d", -
wpem-rest-api/trunk/assets/js/admin.js
r3225463 r3348452 5 5 jQuery("select#key_user").chosen(), 6 6 jQuery("select#event_id").chosen(), 7 jQuery("input#date_expires").datepicker({ dateFormat: "yy-mm-dd" }), 7 jQuery("#select_events").chosen(); 8 jQuery("input#date_expires").datepicker({dateFormat: "yy-mm-dd",minDate: 0}), 8 9 jQuery("table#app-branding-color-dark").hide(), 9 10 jQuery(".wpem-app-branding-mode .app-branding-mode .wpem-light-mode").click(function () { … … 25 26 }, 26 27 }); 28 29 // show events by radio button toggle 30 toggleEventsRow(); 31 jQuery('input[name="event_show_by"]').change(function() { 32 33 toggleEventsRow(); 34 }); 35 36 function toggleEventsRow() { 37 if (jQuery('input[name="event_show_by"]:checked').val() === 'selected') { 38 jQuery('#select-events-row').show(); 39 jQuery('#select_events').chosen('destroy').chosen(); 40 } else { 41 jQuery('#select-events-row').hide(); 42 } 43 } 44 jQuery('.wp_event_manager_upload_file_button').on('click', function(e){ 45 e.preventDefault(); 46 var button = jQuery(this); 47 var input = button.closest('.file_url').find('#wpem_rest_api_app_logo'); 48 console.log(input); 49 var custom_uploader = wp.media({ 50 title: 'Select or Upload Image', 51 button: { 52 text: 'Use this image' 53 }, 54 multiple: false 55 }) 56 .on('select', function() { 57 var attachment = custom_uploader.state().get('selection').first().toJSON(); 58 input.val(attachment.url); // Set image URL in input 59 }) 60 .open(); 61 }); 27 62 }, 28 63 actions: { … … 45 80 date_expires: jQuery("#date_expires").val(), 46 81 restrict_check_in: jQuery('input[name="restrict_check_in"]').attr("checked") ? 0 : 1, 82 event_show_by: jQuery('input[name="event_show_by"]:checked').val(), 83 select_events: jQuery('#select_events').val() || [], 84 mobile_menu: jQuery('input[name="mobile_menu[]"]:checked').map(function () { 85 return this.value; 86 }).get() 47 87 }, 48 88 beforeSend: function (e) {}, … … 56 96 jQuery("p.submit", a.el).empty().append(e.data.revoke_url), 57 97 jQuery("#key-fields p.submit", a.el).before(wp.template("api-keys-template")({ consumer_key: e.data.consumer_key, consumer_secret: e.data.consumer_secret, app_key: e.data.app_key }))) 58 : (jQuery("#key_description", a.el).val(e.data.description), jQuery("#key_user", a.el).val(e.data.user_id), jQuery("#key_permissions", a.el).val(e.data.permissions))) 98 : (jQuery("#key_description", a.el).val(e.data.description), jQuery("#key_user", a.el).val(e.data.user_id), jQuery("#key_permissions", a.el).val(e.data.permissions),jQuery('input[name="event_show_by"][value="' + e.data.event_show_by + '"]').prop('checked', true), 99 jQuery('#select_events').val(e.data.selected_events).trigger('chosen:updated'))) 59 100 : jQuery("h2, h3", a.el) 60 101 .first() 61 102 .append('<div class="wpem-api-message error"><p>' + e.errorThrown + "</p></div>"); 62 }, 103 104 if (e.data.mobile_menu) { 105 jQuery('input[name="mobile_menu[]"]').prop('checked', false); 106 e.data.mobile_menu.forEach(function (val) { 107 jQuery('input[name="mobile_menu[]"][value="' + val + '"]').prop('checked', true); 108 }); 109 } 110 }, 63 111 error: function (e, t, n) { 64 112 jQuery("h2, h3", a.el) -
wpem-rest-api/trunk/assets/js/admin.min.js
r3225463 r3348452 1 var WPEMRestAPIAdmin={init:function(){var e; jQuery("#update_api_key").on("click",WPEMRestAPIAdmin.actions.saveApiKey),jQuery("select#key_user").chosen(),jQuery("select#event_id").chosen(),jQuery("input#date_expires").datepicker({dateFormat:"yy-mm-dd"}),jQuery("table#app-branding-color-dark").hide(),jQuery(".wpem-app-branding-mode .app-branding-mode .wpem-light-mode").click((function(){jQuery(".wpem-app-branding-mode").removeClass("wpem-dark-mode").addClass("wpem-light-mode"),jQuery("table#app-branding-color").show(),jQuery("table#app-branding-color-dark").hide()})),jQuery(".wpem-app-branding-mode .app-branding-mode .wpem-dark-mode").click((function(){jQuery("table#app-branding-color").hide(),jQuery("table#app-branding-color-dark").show(),jQuery(".wpem-app-branding-mode").removeClass("wpem-light-mode").addClass("wpem-dark-mode")})),jQuery("#update_app_branding").on("click",WPEMRestAPIAdmin.actions.saveAppBranding),jQuery(".wpem-colorpicker").wpColorPicker({defaultColor:!0,change:function(a,r){a.target,clearTimeout(e),e=setTimeout((function(){WPEMRestAPIAdmin.actions.changeBrightness(a,r.toString())}),500)}})},actions:{saveApiKey:function(e){e.preventDefault();var a=this;jQuery("#api_key_loader").show(),jQuery("#update_api_key").attr("disabled",!0),jQuery.ajax({type:"POST",url:wpem_rest_api_admin.ajaxUrl,data:{action:"save_rest_api_keys",security:wpem_rest_api_admin.save_api_nonce,key_id:jQuery("#key_id").val(),description:jQuery("#key_description").val(),user:jQuery("#key_user").val(),permissions:jQuery("#key_permissions").val(),event_id:jQuery("#event_id").val(),date_expires:jQuery("#date_expires").val(),restrict_check_in:jQuery('input[name="restrict_check_in"]').attr("checked")?0:1},beforeSend:function(e){},success:function(e){e.success?(jQuery("h2, h3",a.el).first().html('<div class="wpem-api-message updated"><p>'+e.data.message+"</p></div>"),0<e.data.consumer_key.length&&0<e.data.consumer_secret.length?(jQuery("#api-keys-options",a.el).parent().remove(),jQuery("p.submit",a.el).empty().append(e.data.revoke_url),jQuery("#key-fields p.submit",a.el).before(wp.template("api-keys-template")({consumer_key:e.data.consumer_key,consumer_secret:e.data.consumer_secret,app_key:e.data.app_key}))):(jQuery("#key_description",a.el).val(e.data.description),jQuery("#key_user",a.el).val(e.data.user_id),jQuery("#key_permissions",a.el).val(e.data.permissions))):jQuery("h2, h3",a.el).first().append('<div class="wpem-api-message error"><p>'+e.errorThrown+"</p></div>")},error:function(e,r,n){jQuery("h2, h3",a.el).first().append('<div class="wpem-api-message error"><p>'+n+"</p></div>")},complete:function(e,a){jQuery("#api_key_loader").hide(),jQuery("#update_api_key").attr("disabled",!1)}})},saveAppBranding:function(e){e.preventDefault();var a="",r=jQuery("#app-branding-color").is(":visible"),n=jQuery("#app-branding-color-dark").is(":visible");r?a="light":n&&(a="dark"),jQuery.ajax({type:"POST",url:wpem_rest_api_admin.ajaxUrl,data:{action:"save_app_branding",security:wpem_rest_api_admin.save_app_branding_nonce,wpem_primary_color:jQuery('input[name="wpem_primary_color"]').val(),wpem_success_color:jQuery('input[name="wpem_success_color"]').val(),wpem_info_color:jQuery('input[name="wpem_info_color"]').val(),wpem_warning_color:jQuery('input[name="wpem_warning_color"]').val(),wpem_danger_color:jQuery('input[name="wpem_danger_color"]').val(),wpem_primary_dark_color:jQuery('input[name="wpem_primary_dark_color"]').val(),wpem_success_dark_color:jQuery('input[name="wpem_success_dark_color"]').val(),wpem_info_dark_color:jQuery('input[name="wpem_info_dark_color"]').val(),wpem_warning_dark_color:jQuery('input[name="wpem_warning_dark_color"]').val(),wpem_danger_dark_color:jQuery('input[name="wpem_danger_dark_color"]').val(),active_mode:a},beforeSend:function(e){},success:function(e){jQuery(".wpem-branding-status").html('<div class="wpem-api-message updated"><p>'+e.data.message+"</p></div>"),jQuery(".update_app_branding_message").html('<div class="update_app_branding_message_update"><i class="wpem-icon-checkmark"></i> Your preferred color for your app branding has been successfully saved.</div>'),"dark"==e.data.mode&&(jQuery("table#app-branding-color").hide(),jQuery("table#app-branding-color-dark").show())},error:function(e,a,r){jQuery(".wpem-branding-status").html('<div class="wpem-api-message error"><p>'+r+"</p></div>"),jQuery(".update_app_branding_message").html('<div class="update_app_branding_message_update"><i class="wpem-icon-cross"></i> Your preferred color for your app branding has not been successfully saved.</div>')},complete:function(e,a){}})},changeBrightness:function(e,a){var r=e.target.name,n=jQuery(e.target).parents("table").attr("id");jQuery.ajax({url:wpem_rest_api_admin.ajaxUrl,type:"POST",dataType:"HTML",data:{action:"change_brighness_color",color:a},success:function(e){const a=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'");jQuery("#"+n+" tbody tr td#"+r).html(a)}})}}};jQuery(document).ready((function(e){WPEMRestAPIAdmin.init()}));1 var WPEMRestAPIAdmin={init:function(){var e;function a(){"selected"===jQuery('input[name="event_show_by"]:checked').val()?(jQuery("#select-events-row").show(),jQuery("#select_events").chosen("destroy").chosen()):jQuery("#select-events-row").hide()}jQuery("#update_api_key").on("click",WPEMRestAPIAdmin.actions.saveApiKey),jQuery("select#key_user").chosen(),jQuery("select#event_id").chosen(),jQuery("#select_events").chosen(),jQuery("input#date_expires").datepicker({dateFormat:"yy-mm-dd",minDate:0}),jQuery("table#app-branding-color-dark").hide(),jQuery(".wpem-app-branding-mode .app-branding-mode .wpem-light-mode").click(function(){jQuery(".wpem-app-branding-mode").removeClass("wpem-dark-mode").addClass("wpem-light-mode"),jQuery("table#app-branding-color").show(),jQuery("table#app-branding-color-dark").hide()}),jQuery(".wpem-app-branding-mode .app-branding-mode .wpem-dark-mode").click(function(){jQuery("table#app-branding-color").hide(),jQuery("table#app-branding-color-dark").show(),jQuery(".wpem-app-branding-mode").removeClass("wpem-light-mode").addClass("wpem-dark-mode")}),jQuery("#update_app_branding").on("click",WPEMRestAPIAdmin.actions.saveAppBranding),jQuery(".wpem-colorpicker").wpColorPicker({defaultColor:!0,change:function(a,r){a.target,clearTimeout(e),e=setTimeout(function(){WPEMRestAPIAdmin.actions.changeBrightness(a,r.toString())},500)}}),a(),jQuery('input[name="event_show_by"]').change(function(){a()}),jQuery(".wp_event_manager_upload_file_button").on("click",function(e){e.preventDefault();var a=jQuery(this).closest(".file_url").find("#wpem_rest_api_app_logo");console.log(a);var r=wp.media({title:"Select or Upload Image",button:{text:"Use this image"},multiple:!1}).on("select",function(){var e=r.state().get("selection").first().toJSON();a.val(e.url)}).open()})},actions:{saveApiKey:function(e){e.preventDefault();var a=this;jQuery("#api_key_loader").show(),jQuery("#update_api_key").attr("disabled",!0),jQuery.ajax({type:"POST",url:wpem_rest_api_admin.ajaxUrl,data:{action:"save_rest_api_keys",security:wpem_rest_api_admin.save_api_nonce,key_id:jQuery("#key_id").val(),description:jQuery("#key_description").val(),user:jQuery("#key_user").val(),permissions:jQuery("#key_permissions").val(),event_id:jQuery("#event_id").val(),date_expires:jQuery("#date_expires").val(),restrict_check_in:jQuery('input[name="restrict_check_in"]').attr("checked")?0:1,event_show_by:jQuery('input[name="event_show_by"]:checked').val(),select_events:jQuery("#select_events").val()||[],mobile_menu:jQuery('input[name="mobile_menu[]"]:checked').map(function(){return this.value}).get()},beforeSend:function(e){},success:function(e){e.success?(jQuery("h2, h3",a.el).first().html('<div class="wpem-api-message updated"><p>'+e.data.message+"</p></div>"),0<e.data.consumer_key.length&&0<e.data.consumer_secret.length?(jQuery("#api-keys-options",a.el).parent().remove(),jQuery("p.submit",a.el).empty().append(e.data.revoke_url),jQuery("#key-fields p.submit",a.el).before(wp.template("api-keys-template")({consumer_key:e.data.consumer_key,consumer_secret:e.data.consumer_secret,app_key:e.data.app_key}))):(jQuery("#key_description",a.el).val(e.data.description),jQuery("#key_user",a.el).val(e.data.user_id),jQuery("#key_permissions",a.el).val(e.data.permissions),jQuery('input[name="event_show_by"][value="'+e.data.event_show_by+'"]').prop("checked",!0),jQuery("#select_events").val(e.data.selected_events).trigger("chosen:updated"))):jQuery("h2, h3",a.el).first().append('<div class="wpem-api-message error"><p>'+e.errorThrown+"</p></div>"),e.data.mobile_menu&&(jQuery('input[name="mobile_menu[]"]').prop("checked",!1),e.data.mobile_menu.forEach(function(e){jQuery('input[name="mobile_menu[]"][value="'+e+'"]').prop("checked",!0)}))},error:function(e,r,n){jQuery("h2, h3",a.el).first().append('<div class="wpem-api-message error"><p>'+n+"</p></div>")},complete:function(e,a){jQuery("#api_key_loader").hide(),jQuery("#update_api_key").attr("disabled",!1)}})},saveAppBranding:function(e){e.preventDefault();var a="",r=jQuery("#app-branding-color").is(":visible"),n=jQuery("#app-branding-color-dark").is(":visible");r?a="light":n&&(a="dark"),jQuery.ajax({type:"POST",url:wpem_rest_api_admin.ajaxUrl,data:{action:"save_app_branding",security:wpem_rest_api_admin.save_app_branding_nonce,wpem_primary_color:jQuery('input[name="wpem_primary_color"]').val(),wpem_success_color:jQuery('input[name="wpem_success_color"]').val(),wpem_info_color:jQuery('input[name="wpem_info_color"]').val(),wpem_warning_color:jQuery('input[name="wpem_warning_color"]').val(),wpem_danger_color:jQuery('input[name="wpem_danger_color"]').val(),wpem_primary_dark_color:jQuery('input[name="wpem_primary_dark_color"]').val(),wpem_success_dark_color:jQuery('input[name="wpem_success_dark_color"]').val(),wpem_info_dark_color:jQuery('input[name="wpem_info_dark_color"]').val(),wpem_warning_dark_color:jQuery('input[name="wpem_warning_dark_color"]').val(),wpem_danger_dark_color:jQuery('input[name="wpem_danger_dark_color"]').val(),active_mode:a},beforeSend:function(e){},success:function(e){jQuery(".wpem-branding-status").html('<div class="wpem-api-message updated"><p>'+e.data.message+"</p></div>"),jQuery(".update_app_branding_message").html('<div class="update_app_branding_message_update"><i class="wpem-icon-checkmark"></i> Your preferred color for your app branding has been successfully saved.</div>'),"dark"==e.data.mode&&(jQuery("table#app-branding-color").hide(),jQuery("table#app-branding-color-dark").show())},error:function(e,a,r){jQuery(".wpem-branding-status").html('<div class="wpem-api-message error"><p>'+r+"</p></div>"),jQuery(".update_app_branding_message").html('<div class="update_app_branding_message_update"><i class="wpem-icon-cross"></i> Your preferred color for your app branding has not been successfully saved.</div>')},complete:function(e,a){}})},changeBrightness:function(e,a){var r=e.target.name,n=jQuery(e.target).parents("table").attr("id");jQuery.ajax({url:wpem_rest_api_admin.ajaxUrl,type:"POST",dataType:"HTML",data:{action:"change_brighness_color",color:a},success:function(e){const a=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'");jQuery("#"+n+" tbody tr td#"+r).html(a)}})}}};jQuery(document).ready(function(e){WPEMRestAPIAdmin.init()}); -
wpem-rest-api/trunk/readme.txt
r3290211 r3348452 1 === WP EM- REST API ===1 === WP Event Manager - REST API === 2 2 3 3 Contributors: wpeventmanager,ashokdudhat,krinay 4 4 Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=55FRYATTFLA5N 5 5 Tags: event manager, Event, events, event manager api , listings 6 Requires at least: 6. 0.16 Requires at least: 6.5.1 7 7 Tested up to: 6.8 8 Stable tag: 1. 0.108 Stable tag: 1.1.0 9 9 Requires PHP: 8.0.0 10 10 License: GPLv3 … … 121 121 122 122 123 = 1.1.0 [ 19th August 2025 ] = 124 125 Fixed : Change the Plugin name 126 Fixed : After password change the user will auto logout from mobile app 127 Fixed : Without Active license some section of the app will not work 128 Added : Match making functionality 129 123 130 = 1.0.10 [ 09th May 2025 ] = 124 131 -
wpem-rest-api/trunk/wpem-rest-api-functions.php
r3290211 r3348452 278 278 'wp-event-manager-registrations' => 'WP Event Manager Registrations', 279 279 'wpem-guests' => 'WP Event Manager Guests', 280 'wpem-speaker-schedule' => 'WP Event Manager Speaker & Schedule' 280 281 ) ); 281 282 … … 402 403 // Get the authorization header 403 404 $headers = getallheaders(); 404 $token = isset($headers['Authorization']) ? trim(str_replace('Bearer', '', $headers['Authorization'])) : ''; 405 405 $token = ''; 406 407 // First try standard header 408 if (isset($headers['Authorization'])) { 409 $token = trim(str_replace('Bearer', '', $headers['Authorization'])); 410 } 411 // Try for some server environments 412 elseif (isset($_SERVER['HTTP_AUTHORIZATION'])) { 413 $token = trim(str_replace('Bearer', '', $_SERVER['HTTP_AUTHORIZATION'])); 414 } 415 // NGINX or fastcgi_pass may use this 416 elseif (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { 417 $token = trim(str_replace('Bearer', '', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'])); 418 } 406 419 if(empty($token)) { 407 420 return WPEM_REST_CRUD_Controller::prepare_error_for_response(401); -
wpem-rest-api/trunk/wpem-rest-api.php
r3290211 r3348452 1 1 <?php 2 2 /** 3 * Plugin Name: WP EM- REST API3 * Plugin Name: WP Event Manager - REST API 4 4 * Plugin URI: http://www.wp-eventmanager.com/plugins/ 5 5 * … … 10 10 * Text Domain: wpem-rest-api 11 11 * Domain Path: /languages 12 * Version: 1. 0.1012 * Version: 1.1.0 13 13 * Since: 1.0.0 14 14 * 15 * Requires WordPress Version at least: 6. 0.115 * Requires WordPress Version at least: 6.5.1 16 16 * Copyright: 2019 WP Event Manager 17 17 * License: GNU General Public License v3.0 … … 41 41 42 42 // Define constants 43 define( 'WPEM_REST_API_VERSION', '1. 0.10' );43 define( 'WPEM_REST_API_VERSION', '1.1.0' ); 44 44 define( 'WPEM_REST_API_FILE', __FILE__ ); 45 45 define( 'WPEM_REST_API_PLUGIN_DIR', untrailingslashit( plugin_dir_path(__FILE__ ) ) ); … … 59 59 60 60 include 'includes/wpem-rest-api-dashboard.php'; 61 include 'includes/rest-api/wpem-rest-conroller.php'; 62 include 'includes/rest-api/wpem-rest-posts-conroller.php'; 63 include 'includes/rest-api/wpem-rest-crud-controller.php'; 64 include 'includes/rest-api/wpem-rest-authentication.php'; 65 include 'includes/rest-api/wpem-rest-events-controller.php'; 66 include 'includes/rest-api/wpem-rest-app-branding.php'; 67 include 'includes/rest-api/wpem-rest-ecosystem-controller.php'; 61 include 'includes/wpem-rest-conroller.php'; 62 include 'includes/wpem-rest-posts-conroller.php'; 63 include 'includes/wpem-rest-crud-controller.php'; 64 include 'includes/wpem-rest-authentication.php'; 65 include 'includes/wpem-rest-events-controller.php'; 66 include 'includes/wpem-rest-app-branding.php'; 67 include 'includes/wpem-rest-ecosystem-controller.php'; 68 69 // match making api 70 include 'includes/wpem-rest-matchmaking-profile.php'; 71 include 'includes/wpem-rest-matchmaking-get-texonomy.php'; 72 include 'includes/wpem-rest-matchmaking-user-messages.php'; 73 include 'includes/wpem-rest-matchmaking-filter-users.php'; 74 include 'includes/wpem-rest-matchmaking-user-settings.php'; 75 include 'includes/wpem-rest-matchmaking-create-meetings.php'; 76 include 'includes/wpem-rest-matchmaking-user-registred-events.php'; 68 77 69 78 // Activate … … 118 127 truncated_key char(7) NOT NULL, 119 128 last_access datetime NULL default null, 129 event_show_by varchar(20) NULL default 'loggedin', 130 selected_events longtext NULL, 120 131 date_created datetime NULL default null, 121 132 date_expires datetime NULL default null, … … 126 137 127 138 dbDelta( $sql ); 139 140 // Check if we need to alter existing table 141 $table_name = $wpdb->prefix . 'wpem_rest_api_keys'; 142 $columns = $wpdb->get_col("DESC {$table_name}", 0); 143 144 // Add event_show_by column if it doesn't exist 145 if (!in_array('event_show_by', $columns)) { 146 $wpdb->query("ALTER TABLE {$table_name} ADD COLUMN event_show_by varchar(20) NULL DEFAULT 'loggedin'"); 147 } 148 149 // Add selected_events column if it doesn't exist 150 if (!in_array('selected_events', $columns)) { 151 $wpdb->query("ALTER TABLE {$table_name} ADD COLUMN selected_events longtext NULL"); 152 } 128 153 129 154 update_option( 'wpem_rest_api_version', WPEM_REST_API_VERSION );
Note: See TracChangeset
for help on using the changeset viewer.