From 26a14d2998b04ff7a2ffbffa9297a25662204971 Mon Sep 17 00:00:00 2001 From: Hoang Huu Date: Fri, 6 Dec 2019 13:30:11 +0700 Subject: [PATCH] Add Accumulated listings setting for packages. --- inc/vendors/opalmembership/functions.php | 6 +++++- inc/vendors/opalmembership/membership.php | 23 ++++++++++++++++++----- opal-estate-pro.php | 6 +++--- readme.txt | 3 +++ 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/inc/vendors/opalmembership/functions.php b/inc/vendors/opalmembership/functions.php index bacd369a..3cd2cc00 100755 --- a/inc/vendors/opalmembership/functions.php +++ b/inc/vendors/opalmembership/functions.php @@ -80,7 +80,11 @@ function opalesate_check_package_downgrade_status( $user_id, $package_id ) { return true; } - return ( $user_current_listings > $pack_listings ) || ( $user_current_featured_listings > $pack_featured_listings ); + if ( $user_current_listings > $pack_listings ) { + return true; + } + + return false; } /** diff --git a/inc/vendors/opalmembership/membership.php b/inc/vendors/opalmembership/membership.php index e8f8041c..e9645085 100755 --- a/inc/vendors/opalmembership/membership.php +++ b/inc/vendors/opalmembership/membership.php @@ -246,6 +246,13 @@ class OpalEstate_Membership { 'description' => esc_html__( 'Number of properties can make featured with this package.', 'opalestate-pro' ), ]; + $fields[] = [ + 'name' => esc_html__( 'Accumulated listings?', 'opalestate-pro' ), + 'id' => $prefix . 'accumulated_listings', + 'type' => 'checkbox', + 'description' => esc_html__( 'Increase Number Of Properties and Number Of Featured Properties from current remaining values when upgrading this package.', 'opalestate-pro' ), + ]; + $fields[] = [ 'name' => esc_html__( 'Enable Expired for properties ', 'opalestate-pro' ), 'id' => $prefix . 'enable_property_expired', @@ -386,6 +393,7 @@ class OpalEstate_Membership { $pack_listings = get_post_meta( $package_id, OPALMEMBERSHIP_PACKAGES_PREFIX . 'package_listings', true ); $pack_featured_listings = get_post_meta( $package_id, OPALMEMBERSHIP_PACKAGES_PREFIX . 'package_featured_listings', true ); $is_unlimited_listings = get_post_meta( $package_id, OPALMEMBERSHIP_PACKAGES_PREFIX . 'unlimited_listings', true ); + $accumulated_listings = get_post_meta( $package_id, OPALMEMBERSHIP_PACKAGES_PREFIX . 'accumulated_listings', true ); $pack_unlimited_listings = $is_unlimited_listings == 'on' ? 0 : 1; @@ -399,12 +407,17 @@ class OpalEstate_Membership { $user_current_listings = opalesate_get_user_current_listings( $user_id ); // get user current listings ( no expired ) $user_current_featured_listings = opalesate_get_user_current_featured_listings( $user_id ); // get user current featured listings ( no expired ) - if ( opalesate_check_package_downgrade_status( $user_id, $package_id ) ) { - $new_listings = $pack_listings; - $new_featured_listings = $pack_featured_listings; + if ( $accumulated_listings == 'on') { + $new_listings = ( $current_listings != -1 ) ? ( $pack_listings + $current_listings ) : $pack_listings; + $new_featured_listings = ( $curent_featured_listings != -1 ) ? ( $pack_featured_listings + $curent_featured_listings ) : $pack_featured_listings; } else { - $new_listings = $pack_listings - $user_current_listings; - $new_featured_listings = $pack_featured_listings - $user_current_featured_listings; + if ( ! opalesate_check_package_downgrade_status( $user_id, $package_id ) ) { + $new_listings = $pack_listings; + $new_featured_listings = $pack_featured_listings; + } else { + $new_listings = $pack_listings - $user_current_listings; + $new_featured_listings = $pack_featured_listings - $user_current_featured_listings; + } } // in case of downgrade diff --git a/opal-estate-pro.php b/opal-estate-pro.php index bd55303e..59598c06 100755 --- a/opal-estate-pro.php +++ b/opal-estate-pro.php @@ -3,7 +3,7 @@ * Plugin Name: Opal Estate Pro * Plugin URI: https://wpdocs.gitbook.io/opal-estate/ * Description: Opal Real Estate Plugin is an ideal solution and brilliant choice for you to set up a professional estate website. - * Version: 1.2.1 + * Version: 1.2.2 * Author: WPOPAL * Author URI: http://www.wpopal.com * Requires at least: 4.6 @@ -151,7 +151,7 @@ if ( ! class_exists( 'OpalEstate' ) ) { */ public function __clone() { // Cloning instances of the class is forbidden - _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.2.1' ); + _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.2.2' ); } /** @@ -160,7 +160,7 @@ if ( ! class_exists( 'OpalEstate' ) ) { public function setup_constants() { // Plugin version if ( ! defined( 'OPALESTATE_VERSION' ) ) { - define( 'OPALESTATE_VERSION', '1.2.1' ); + define( 'OPALESTATE_VERSION', '1.2.2' ); } // Plugin Folder Path diff --git a/readme.txt b/readme.txt index 955426ac..4fc0b608 100755 --- a/readme.txt +++ b/readme.txt @@ -156,6 +156,9 @@ This section describes how to install the plugin and get it working. * System tickets support 24/7 available : [free support](https://wpopal.ticksy.com/ "Visit the Plugin support Page") == Changelog == += 1.2.2 - 2019-12-06 = +* Added - Add Accumulated listings setting for packages. + = 1.2.1 - 2019-12-06 = * Fixes - Submission property not saved.