Changeset 2800813
- Timestamp:
- 10/18/2022 05:16:06 PM (3 years ago)
- Location:
- appexperts/trunk
- Files:
-
- 38 added
- 16 edited
-
app-expert.php (modified) (2 diffs)
-
includes/features/authentication/apis/requests/app-expert-forgert-password-request.php (modified) (1 diff)
-
includes/init/abstracts/app-expert-integration.php (modified) (1 diff)
-
includes/init/common/app-expert-language.php (modified) (1 diff)
-
includes/integrations/contact-form-7 (added)
-
includes/integrations/contact-form-7/apis (added)
-
includes/integrations/contact-form-7/apis/middlewares (added)
-
includes/integrations/contact-form-7/apis/middlewares/app-expert-contact-form-7-auth-middleware.php (added)
-
includes/integrations/contact-form-7/apis/modifications (added)
-
includes/integrations/contact-form-7/apis/modifications/app-expert-contact-form-7-quiz-submit.php (added)
-
includes/integrations/contact-form-7/app-expert-contact-form-7-init.php (added)
-
includes/integrations/sitepress-multilingual-cms/apis/modifications/app-expert-contact-form7-form-list.php (added)
-
includes/integrations/sitepress-multilingual-cms/backend/app-expert-wpml-languages.php (modified) (2 diffs)
-
includes/integrations/woocommerce-bookings (added)
-
includes/integrations/woocommerce-bookings/apis (added)
-
includes/integrations/woocommerce-bookings/apis/endpoints (added)
-
includes/integrations/woocommerce-bookings/apis/endpoints/app-expert-wcb-booking-endpoint.php (added)
-
includes/integrations/woocommerce-bookings/apis/endpoints/app-expert-wcb-product-endpoint.php (added)
-
includes/integrations/woocommerce-bookings/apis/modifications (added)
-
includes/integrations/woocommerce-bookings/apis/modifications/app-expert-wcb-notification.php (added)
-
includes/integrations/woocommerce-bookings/apis/modifications/app-expert-wcb-product.php (added)
-
includes/integrations/woocommerce-bookings/apis/modifications/app-expert-wcb-settings.php (added)
-
includes/integrations/woocommerce-bookings/apis/modifications/app-expert-wcb-sync-cart.php (added)
-
includes/integrations/woocommerce-bookings/apis/modifications/app-experts-wcb-bookings.php (added)
-
includes/integrations/woocommerce-bookings/apis/routes (added)
-
includes/integrations/woocommerce-bookings/apis/routes/app-expert-wcb-routes.php (added)
-
includes/integrations/woocommerce-bookings/app-expert-woocommerce-bookings-init.php (added)
-
includes/integrations/woocommerce-bookings/backend (added)
-
includes/integrations/woocommerce-bookings/backend/app-expert-wcb-auto-send-booking-emails.php (added)
-
includes/integrations/woocommerce-bookings/backend/app-expert-wcb-notification-settings.php (added)
-
includes/integrations/woocommerce-bookings/backend/app-expert-wcb-send-notification.php (added)
-
includes/integrations/woocommerce-bookings/backend/emails (added)
-
includes/integrations/woocommerce-bookings/backend/emails/app-expert-wcb-email-customer-booking-cancelled.php (added)
-
includes/integrations/woocommerce-bookings/helpers (added)
-
includes/integrations/woocommerce-bookings/helpers/app-expert-wcb-cost-helper.php (added)
-
includes/integrations/woocommerce-bookings/templates (added)
-
includes/integrations/woocommerce-bookings/templates/emails (added)
-
includes/integrations/woocommerce-bookings/templates/emails/customer-cancel-booking.php (added)
-
includes/integrations/woocommerce-bookings/templates/emails/plain (added)
-
includes/integrations/woocommerce-bookings/templates/emails/plain/customer-cancel-booking.php (added)
-
includes/integrations/woocommerce/apis/modifications/app-expert-wc-notification.php (added)
-
includes/integrations/woocommerce/apis/modifications/app-expert-wc-order.php (modified) (1 diff)
-
includes/integrations/woocommerce/apis/modifications/app-expert-wc-product.php (modified) (2 diffs)
-
includes/integrations/woocommerce/apis/modifications/app-expert-wc-settings.php (added)
-
includes/integrations/woocommerce/apis/modifications/app-expert-wc-sync-cart.php (added)
-
includes/integrations/woocommerce/assets/css/woocommerce.css (modified) (1 diff)
-
includes/integrations/woocommerce/backend/app-expert-wc-notification-settings.php (modified) (1 diff)
-
includes/integrations/woocommerce/backend/app-expert-wc-send-notification.php (modified) (2 diffs)
-
includes/integrations/woocommerce/frontend/app-expert-checkout-authentication.php (modified) (1 diff)
-
includes/integrations/woocommerce/frontend/app-expert-custom-checkout.php (modified) (3 diffs)
-
includes/integrations/woocommerce/helpers/app-expert-custom-checkout-helper.php (modified) (2 diffs)
-
includes/integrations/woocommerce/helpers/app-expert-wc-product-helper.php (modified) (4 diffs)
-
includes/integrations/woocommerce/templates/thank-you.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
appexperts/trunk/app-expert.php
r2789935 r2800813 3 3 Plugin Name: AppExperts 4 4 Description: Integrate App Experts builder functionality with your wordpress website 5 Version: 1.3. 15 Version: 1.3.2 6 6 Author: AppExperts 7 7 Author URI: https://appexperts.io/ … … 82 82 83 83 //todo:find a better way 84 const APP_EXPERT_PLUGIN_VERSION = '1.3. 1'; // used in assets84 const APP_EXPERT_PLUGIN_VERSION = '1.3.2'; // used in assets 85 85 const APP_EXPERT_API_NAMESPACE = 'app-expert/v1'; 86 86 -
appexperts/trunk/includes/features/authentication/apis/requests/app-expert-forgert-password-request.php
r2789917 r2800813 1 1 <?php 2 class App_Expert_Forget_Password_Request extends App_Expert_ Auth_Request {2 class App_Expert_Forget_Password_Request extends App_Expert_Request { 3 3 4 4 public function rules(){ -
appexperts/trunk/includes/init/abstracts/app-expert-integration.php
r2789917 r2800813 22 22 if(empty($dependencies)) return true; 23 23 24 //todo: file name could be changed . 25 //class_exists check? 24 26 $active_plugins = apply_filters('active_plugins', get_option('active_plugins')); 25 27 foreach ($dependencies as$dependency) -
appexperts/trunk/includes/init/common/app-expert-language.php
r2789917 r2800813 70 70 return apply_filters('ae_get_user_locale',$local,$user_id); 71 71 } 72 public static function get_element_translation($element_id, $element_type = 'post', $return_original_if_missing = false, $language_code = null){ 73 return apply_filters('ae_get_element_translation',$element_id, $element_type,$return_original_if_missing,$language_code); 74 } 72 75 73 76 } -
appexperts/trunk/includes/integrations/sitepress-multilingual-cms/backend/app-expert-wpml-languages.php
r2789917 r2800813 9 9 add_filter('ae_get_active_languages',array($this,'add_wpml_languages')); 10 10 add_action('ae_switch_lang',array($this,'switch_wpml_lang')); 11 add_filter('ae_get_element_translation',array($this,'get_element_translation'),1,4); 11 12 } 12 13 public function add_wpml_languages($langs){ … … 18 19 $sitepress->switch_lang($lang,true); 19 20 } 21 22 public function get_element_translation($element_id, $element_type,$return_original_if_missing,$language_code){ 23 return apply_filters('wpml_object_id', 24 $element_id, 25 $element_type, 26 $return_original_if_missing, 27 $language_code); 28 } 20 29 } -
appexperts/trunk/includes/integrations/woocommerce/apis/modifications/app-expert-wc-order.php
r2789917 r2800813 13 13 } 14 14 public function set_apis_permission($permission, $context, $object_id, $post_type){ 15 if($post_type =="shop_order"&&$context=="read" ) return true;15 if($post_type =="shop_order"&&$context=="read" && get_current_user_id()>0) return true; 16 16 return $permission; 17 17 } -
appexperts/trunk/includes/integrations/woocommerce/apis/modifications/app-expert-wc-product.php
r2789917 r2800813 8 8 add_filter('woocommerce_rest_product_object_query',array($this,'add_to_query'),10,2); 9 9 add_filter( "rest_product_collection_params", array($this,'add_additional_params_to_product_api'), 10, 1 ); 10 //wc/store/v1/products 10 //wc/store/v1/products (Not used) 11 //todo:remove from here 11 12 add_filter('rest_request_after_callbacks', array($this, 'modify_product_data'), 999, 3); 12 13 //api permission … … 98 99 99 100 public function set_apis_permission($permission, $context, $object_id, $post_type){ 100 if($post_type =="product"&&$context=="read" ) return true;101 if($post_type =="product"&&$context=="read" && get_current_user_id()>0 ) return true; 101 102 return $permission; 102 103 } -
appexperts/trunk/includes/integrations/woocommerce/assets/css/woocommerce.css
r2789917 r2800813 1026 1026 color: var(--Dim-gray) !important; 1027 1027 } 1028 .variation-BookingDate, .variation-BookingTime, .variation-Persons { 1029 float: none !important; 1030 clear: none !important; 1031 display:block !important; 1032 line-height: 20px; 1033 padding: 5px 0; 1034 } 1035 dl.variation{ 1036 line-height: 0; 1037 } 1038 dd.variation-BookingDate p,dd.variation-BookingTime p,dd.variation-Persons p{ 1039 margin-top: 0; 1040 } 1041 dd.variation-BookingDate,dd.variation-BookingTime,dd.variation-Persons{ 1042 padding: 5px 5px; 1043 } -
appexperts/trunk/includes/integrations/woocommerce/backend/app-expert-wc-notification-settings.php
r2789917 r2800813 33 33 ] 34 34 ]; 35 //todo : do this in a template & call it here 35 36 foreach ($woocommerce_options as $option ): ?> 36 37 <input type="checkbox" -
appexperts/trunk/includes/integrations/woocommerce/backend/app-expert-wc-send-notification.php
r2789917 r2800813 19 19 $order=wc_get_order($order_id); 20 20 $user_id = $order->get_user_id(); 21 if(!$user_id) return; 21 22 App_Expert_Notification_Helper::save_automatic( 22 23 'Order Status changed', … … 63 64 $order=wc_get_order($order->ID); 64 65 $user_id = $order->get_user_id(); 66 if(!$user_id) return; 65 67 App_Expert_Notification_Helper::save_automatic( 66 68 'Order Updated', -
appexperts/trunk/includes/integrations/woocommerce/frontend/app-expert-checkout-authentication.php
r2789917 r2800813 25 25 // Guest user case 26 26 if (isset($_GET['guest_user']) && !empty($_GET['guest_user'])) { // Guest case 27 if( 28 ( isset($_GET['session_key']) && !empty($_GET['session_key']) )&& 29 !isset($_COOKIE[$_GET['session_key']]) && 30 ( isset($_GET['session_value']) && !empty($_GET['session_value']) ) 31 ){ 32 setcookie($_GET['session_key'],$_GET['session_value'],0,"/"); 33 wp_redirect($request_uri); 34 } 27 35 if (!empty(get_current_user_id())) { 28 36 $this->clear_current_user(); -
appexperts/trunk/includes/integrations/woocommerce/frontend/app-expert-custom-checkout.php
r2789917 r2800813 15 15 16 16 //fix lang in checkout 17 // add_action('init', array($this, 'force_switch_lang'),1);18 17 add_filter('locale', array($this, 'force_set_lang'),100); 19 18 add_filter('wc_get_template', array($this, 'render_table'), 1,5); … … 151 150 152 151 153 WC()->cart->empty_cart();154 155 152 // Product details has the format: 156 153 // product1_id,variation1_id,quantity1,variation_name:variation_value;;variation_name:variation_value||product2_id,... 157 154 155 if(!isset($_GET['products'])) return; 158 156 $products = $_GET['products'] ? explode("||", urldecode($_GET['products'])) : []; 159 157 foreach ($products as $product) { 158 WC()->cart->empty_cart(); 160 159 $product_details = explode(",", $product); 161 160 $product_id = intval($product_details[0]); … … 184 183 WC()->cart->add_to_cart($product_id, $quantity, $variation_id, $variationsData); 185 184 } 185 186 186 } 187 187 -
appexperts/trunk/includes/integrations/woocommerce/helpers/app-expert-custom-checkout-helper.php
r2789917 r2800813 5 5 $saved_page=get_page_by_path(MOBILE_CHECKOUT_PAGE_SLUG); 6 6 if(!($saved_page instanceof WP_Post)) return false; 7 8 7 $request_uri = $_SERVER['REQUEST_URI']; 9 8 $relative_page_permalink = str_replace(home_url(), '', get_permalink($saved_page->ID)); … … 19 18 if ( !empty( $languages ) && count($languages)>1) { 20 19 foreach( $languages as $l ) { 21 $flag=($post->ID== apply_filters( 'wpml_object_id', $saved_page->ID, 'page', false, $l['language_code']));20 $flag=($post->ID==App_Expert_Language::get_element_translation($saved_page->ID, 'page', true, $l['language_code'])); 22 21 if($flag) break; 23 22 } -
appexperts/trunk/includes/integrations/woocommerce/helpers/app-expert-wc-product-helper.php
r2789917 r2800813 1 1 <?php 2 2 class App_Expert_WC_Product_Helper { 3 public static function get_price($product,$cost){ 4 if ( 'incl' === get_option( 'woocommerce_tax_display_shop' ) ) { 3 public static function get_price($product,$cost,$context='view'){ 4 $display_option=get_option( 'woocommerce_tax_display_shop' ); 5 if($context=='cart'){ 6 $display_option = get_option( 'woocommerce_tax_display_cart' ); 7 } 8 if ( 'incl' === $display_option) { 5 9 if ( function_exists( 'wc_get_price_excluding_tax' ) ) { 6 10 $display_price = wc_get_price_including_tax($product , array( 'price' => $cost ) ); … … 17 21 return $display_price; 18 22 } 19 public static function get_prices($product ){23 public static function get_prices($product,$context='view'){ 20 24 return [ 21 'ae_regular_price' => (float) self::get_price($product,$product->get_regular_price() ),22 'ae_sale_price' => (float) self::get_price($product,$product->get_sale_price() ),25 'ae_regular_price' => (float) self::get_price($product,$product->get_regular_price(),$context), 26 'ae_sale_price' => (float) self::get_price($product,$product->get_sale_price(),$context), 23 27 ]; 24 28 } 25 public static function get_data($product,$wc_product=null ){29 public static function get_data($product,$wc_product=null,$context='view'){ 26 30 $user_id =get_current_user_id(); 27 31 … … 48 52 $product['has_bought_product']= $user_id && wc_customer_bought_product("", $user_id, $product['id']); 49 53 $product['review_count']=$wc_product->get_review_count(); 54 $product['average_rating']= $wc_product->get_average_rating(); 50 55 //================ review changes ================ 51 56 … … 70 75 //================ fix product type issue ================ 71 76 $types= get_the_terms( $product['id'], 'product_type'); 72 $product['type'] = !empty($types)?$types[0]->name:$product['type']; 77 $product['type'] = !empty($types)?$types[0]->name:($product['type']?:null); 78 $product['parent_id'] = $wc_product->get_parent_id()>0?$wc_product->get_parent_id():null; 73 79 //================ fix product type issue ================ 74 80 75 81 //================ prices fix ================ 76 $prices=self::get_prices($wc_product );82 $prices=self::get_prices($wc_product,$context); 77 83 return apply_filters('ae_rest_product_obj',array_merge($product,$prices),$wc_product); 78 84 //================ prices fix ================ -
appexperts/trunk/includes/integrations/woocommerce/templates/thank-you.php
r2789917 r2800813 48 48 <?php if ($order->get_payment_method_title()) : ?> 49 49 <li class="method"> 50 <?php _e('Payment Method:', 'app-expert'); 51 if(isset($_GET['ae_display_lang'])) 52 App_Expert_Language_Handler::switch_lang($_GET['ae_display_lang']); 53 ?> 50 <?php _e('Payment Method:', 'app-expert'); ?> 54 51 <strong><?php echo $order->get_payment_method_title(); ?></strong> 55 52 </li> -
appexperts/trunk/readme.txt
r2789939 r2800813 104 104 105 105 == Changelog == 106 = 1.3.2 2022-10-18 = 107 * Improved - UX enhancements 108 * Improved - Help texts, notes and tooltips 109 * Added - Integration with Contact Form 7 110 * Added - Cart Synchronization 111 * Added - Order Notes as order history 112 * Added - Support for bookable product type 113 * Added - Appointment booking 114 106 115 = 1.3.1 2022-09-25 = 107 116 * Fix - General Enhancement and fixes
Note: See TracChangeset
for help on using the changeset viewer.