diff --git a/inc/admin/settings/property.php b/inc/admin/settings/property.php index 2f067503..e0205432 100755 --- a/inc/admin/settings/property.php +++ b/inc/admin/settings/property.php @@ -168,10 +168,10 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab { 'desc' => esc_html__( 'Show featured first in page result, as default Newest is showed', 'opalestate-pro' ), 'type' => 'switch', 'options' => [ - 0 => esc_html__( 'Disable', 'opalestate-pro' ), - 1 => esc_html__( 'Enable', 'opalestate-pro' ), + 'on' => esc_html__( 'Enable', 'opalestate-pro' ), + 'off' => esc_html__( 'Disable', 'opalestate-pro' ), ], - 'default' => 0, + 'default' => 'off', ]; $fields[] = [ 'name' => esc_html__( 'Minimum of Search Price', 'opalestate-pro' ), @@ -334,6 +334,18 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab { private function get_subtab_detail_fields() { $fields = []; + $fields[] = [ + 'name' => esc_html__( 'Enable Request Viewing', 'opalestate-pro' ), + 'desc' => esc_html__( 'Enable Request Viewing feature in the single property page.', 'opalestate-pro' ), + 'id' => 'enable_single_request_viewing', + 'type' => 'switch', + 'options' => [ + 'on' => esc_html__( 'Enable', 'opalestate-pro' ), + 'off' => esc_html__( 'Disable', 'opalestate-pro' ), + ], + 'default' => 'on', + ]; + $fields[] = [ 'name' => esc_html__( 'Show Amenities tab', 'opalestate-pro' ), 'desc' => esc_html__( 'Show Amenities tab in the single property page.', 'opalestate-pro' ), diff --git a/inc/class-opalestate-install.php b/inc/class-opalestate-install.php index 0090625b..bed36653 100755 --- a/inc/class-opalestate-install.php +++ b/inc/class-opalestate-install.php @@ -93,8 +93,6 @@ class Opalestate_Install { $options['currency_position'] = 'before'; $options['measurement_unit'] = 'sqft'; $options['google_map_api_keys'] = 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8'; - $options['admin_approve'] = 'on'; - $options['require_input_price'] = 'on'; $options['from_name'] = get_bloginfo( 'name' ); $options['from_email'] = get_bloginfo( 'admin_email' ); $options['message_log'] = 1; @@ -110,6 +108,7 @@ class Opalestate_Install { $options[ OPALESTATE_PROPERTY_PREFIX . 'areasize_opt_v' ] = 'on'; $options[ OPALESTATE_PROPERTY_PREFIX . 'price_opt_v' ] = 'on'; + $options['enable_single_request_viewing'] = 'on'; $options['enable_single_amenities'] = 'on'; $options['enable_single_facilities'] = 'on'; $options['enable_single_attachments'] = 'on'; @@ -129,6 +128,7 @@ class Opalestate_Install { $options['enable_agency_reviews'] = 'on'; $options['enable_agent_reviews'] = 'on'; + $options['admin_approve'] = 'on'; $options['enable_submission_tab_media'] = 'on'; $options['enable_submission_tab_location'] = 'on'; $options['enable_submission_tab_amenities'] = 'on'; diff --git a/inc/property/class-metabox-property-admin.php b/inc/property/class-metabox-property-admin.php index d7ab80e1..1b38fa0a 100755 --- a/inc/property/class-metabox-property-admin.php +++ b/inc/property/class-metabox-property-admin.php @@ -177,10 +177,10 @@ class Opalestate_Property_MetaBox { 'id' => $prefix . 'featured', 'type' => 'switch', 'options' => [ - 0 => esc_html__( 'No', 'opalestate-pro' ), - 1 => esc_html__( 'Yes', 'opalestate-pro' ), + 'on' => esc_html__( 'Yes', 'opalestate-pro' ), + 'off' => esc_html__( 'No', 'opalestate-pro' ), ], - 'default' => 0, + 'default' => 'off', ], [ 'name' => esc_html__( 'Property SKU', 'opalestate-pro' ), @@ -206,17 +206,14 @@ class Opalestate_Property_MetaBox { 'id' => $prefix . 'enablemapview', 'type' => 'switch', 'options' => [ - 1 => esc_html__( 'Yes', 'opalestate-pro' ), - 0 => esc_html__( 'No', 'opalestate-pro' ), + 'on' => esc_html__( 'Yes', 'opalestate-pro' ), + 'off' => esc_html__( 'No', 'opalestate-pro' ), ], ], [ 'name' => esc_html__( 'Address', 'opalestate-pro' ), 'id' => $prefix . 'address', 'type' => 'textarea_small', - 'attributes' => [ - 'required' => 'required', - ], ], [ 'id' => "{$prefix}video", @@ -243,7 +240,7 @@ class Opalestate_Property_MetaBox { 'name' => esc_html__( 'Regular Price', 'opalestate-pro' ) . $currency, 'type' => 'text', 'description' => esc_html__( 'Enter amount without currency', 'opalestate-pro' ), - 'attributes' => opalestate_get_option( 'require_input_price' ) ? [ 'required' => 'required' ] : '', + 'attributes' => [ 'required' => 'required' ], 'before_row' => '
[opalestate_submission]
shortcode should be on this page.', 'opalestate-pro' ),
+ 'desc' => __( 'This is the submission page. The [opalestate_submission]
shortcode should be on this page.', 'opalestate-pro' ),
'id' => 'submission_page',
'type' => 'select',
'options' => opalestate_cmb2_get_post_options( [
@@ -137,31 +137,27 @@ class OpalEstate_Submission {
'numberposts' => -1,
] ),
],
-
[
'name' => esc_html__( 'Show Content Use Not Login', 'opalestate-pro' ),
- 'desc' => esc_html__( 'Show Login/Register form and submission form if user not logined', 'opalestate-pro' ),
+ 'desc' => esc_html__( 'Show Login/Register form and submission form if the user is not logged in.', 'opalestate-pro' ),
'id' => 'submission_show_content',
'type' => 'select',
'default' => '',
'options' => [
- '' => esc_html__( 'Show Login Form', 'opalestate-pro' ),
+ '' => esc_html__( 'Show Login Form', 'opalestate-pro' ),
'login_submission' => esc_html__( 'Show Login Form and Submission Form', 'opalestate-pro' ),
],
],
-
[
- 'name' => esc_html__( 'Enable Admin Approve', 'opalestate-pro' ),
- 'desc' => esc_html__( 'the Property will be auto approve when user submit, if you do not enable it.', 'opalestate-pro' ),
- 'id' => 'admin_approve',
- 'type' => 'checkbox',
- ],
- [
- 'name' => esc_html__( 'Enable Require Price', 'opalestate-pro' ),
- 'desc' => esc_html__( 'Enable or Disable require user enter price and price label.', 'opalestate-pro' ),
- 'id' => 'require_input_price',
- 'type' => 'checkbox',
-
+ 'name' => esc_html__( 'Enable Admin Approve', 'opalestate-pro' ),
+ 'desc' => esc_html__( 'Admin must review and approve before properties are published.', 'opalestate-pro' ),
+ 'id' => 'admin_approve',
+ 'type' => 'switch',
+ 'options' => [
+ 'on' => esc_html__( 'Enable', 'opalestate-pro' ),
+ 'off' => esc_html__( 'Disable', 'opalestate-pro' ),
+ ],
+ 'default' => 'on',
],
[
'name' => esc_html__( 'Submission Tab Settings', 'opalestate-pro' ),
@@ -240,6 +236,30 @@ class OpalEstate_Submission {
'off' => esc_html__( 'Disable', 'opalestate-pro' ),
],
],
+ [
+ 'name' => esc_html__( 'Submission Settings', 'opalestate-pro' ),
+ 'id' => 'opalestate_title_submission_settings',
+ 'type' => 'title',
+ 'before_row' => '{property_id}
to generate the property ID.', 'opalestate-pro' ),
+ 'id' => 'submission_sku_format',
+ 'type' => 'text',
+ 'default' => 'SKU-{property_id}',
+ ],
]
),
];
@@ -258,8 +278,8 @@ class OpalEstate_Submission {
* Is submission page. 'submission_page' option in General Setting
*/
public function render_button_edit() {
-
global $post, $current_user;
+
wp_get_current_user();
if ( $current_user->ID == $post->post_author ) {
@@ -281,13 +301,12 @@ class OpalEstate_Submission {
return opalestate_get_option( 'submission_page' ) == $post->ID;
}
-
/**
+ * Register metabox.
*
- *
+ * @return \Opalestate_Property_MetaBox_Submission
*/
public function register_metabox() {
-
$metabox = new Opalestate_Property_MetaBox_Submission();
add_filter( 'cmb2_meta_boxes', [ $metabox, 'register_form' ], 9999 );
@@ -299,32 +318,30 @@ class OpalEstate_Submission {
* FrontEnd Submission
*/
public function submission() {
-
global $current_user;
if ( ! is_user_logged_in() ) {
echo opalestate_load_template_path( 'submission/require-login' );
- if( empty(opalestate_get_option("submission_show_content")) ){
- return "";
+ if ( empty( opalestate_get_option( "submission_show_content" ) ) ) {
+ return "";
}
}
- if( isset($_GET['do']) && $_GET['do'] == 'completed' ){
-
+ if ( isset( $_GET['do'] ) && $_GET['do'] == 'completed' ) {
OpalEstate()->session->set( 'submission', 'addnew' );
echo opalestate_load_template_path( 'submission/completed' );
- return ;
+
+ return;
}
// remove all dirty images before edit/create new a property
- $this->cleanup();
+ $this->cleanup();
wp_enqueue_script( 'opalestate-submission' );
wp_enqueue_style( 'opalesate-submission' );
wp_enqueue_style( 'opalesate-cmb2-front' );
-
$metabox = $this->register_metabox();
$metaboxes = apply_filters( 'cmb2_meta_boxes', [] );
@@ -333,8 +350,8 @@ class OpalEstate_Submission {
return esc_html__( 'A metabox with the specified \'metabox_id\' doesn\'t exist.', 'opalestate-pro' );
}
$post_id = 0;
-
- if( is_user_logged_in() ) {
+
+ if ( is_user_logged_in() ) {
// CMB2 is getting fields values from current post what means it will fetch data from submission page
// We need to remove all data before.
$post_id = ! empty( $_GET['id'] ) ? absint( $_GET['id'] ) : false;
@@ -352,9 +369,11 @@ class OpalEstate_Submission {
if ( $post_id && ! opalestate_is_own_property( $post_id, $current_user->ID ) ) {
echo opalestate_load_template_path( 'parts/has-warning' );
- return ;
+
+ return;
}
}
+
return opalestate_load_template_path( 'submission/submission-form',
[
'post_id' => $post_id,
@@ -369,6 +388,7 @@ class OpalEstate_Submission {
*/
public function cmb2_get_metabox() {
$object_id = 'fake-oject-id';
+
return cmb2_get_metabox( OPALESTATE_PROPERTY_PREFIX . 'front', $object_id );
}
@@ -380,35 +400,28 @@ class OpalEstate_Submission {
if ( isset( $_POST['submission_action'] ) && ! empty( $_POST['submission_action'] ) ) {
if ( wp_verify_nonce( $_POST['submission_action'], 'submitted-property' ) ) {
-
+
$user_id = get_current_user_id();
$edit = false;
- $prefix = OPALESTATE_PROPERTY_PREFIX;
+ $prefix = OPALESTATE_PROPERTY_PREFIX;
$blocked = OpalEstate_User::is_blocked();
-
+
// Setup and sanitize data
if ( isset( $_POST[ $prefix . 'title' ] ) && ! $blocked && $user_id ) {
-
$metabox = $this->register_metabox();
$metaboxes = apply_filters( 'cmb2_meta_boxes', [] );
-
-
-
$post_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : false;
- if( $post_id ){
+ if ( $post_id ) {
do_action( 'opalestate_process_edit_submission_before' );
} else {
do_action( 'opalestate_process_submission_before' );
}
-
-
- $review_before = opalestate_get_option( 'admin_approve' );
$post_status = 'pending';
- if ( ! $review_before ) {
+ if ( 'on' != opalestate_get_option( 'admin_approve', 'on' ) ) {
$post_status = 'publish';
}
@@ -424,8 +437,7 @@ class OpalEstate_Submission {
$post_content = isset( $_POST[ $prefix . 'text' ] ) ? wp_kses( $_POST[ $prefix . 'text' ],
'' ) : '';
-
- $data = [
+ $data = [
'post_title' => sanitize_text_field( $_POST[ $prefix . 'title' ] ),
'post_author' => $user_id,
'post_status' => $post_status,
@@ -457,14 +469,14 @@ class OpalEstate_Submission {
if ( empty( $data['post_title'] ) || empty( $data['post_author'] ) ) {
return opalestate_output_msg_json( false,
- __( 'Please enter data for all require fields before submitting', 'opalestate-pro' ),
- array(
- 'heading' => esc_html__('Submission Information' ,'opalestate-pro')
- )) ;
+ __( 'Please enter data for all require fields before submitting', 'opalestate-pro' ),
+ [
+ 'heading' => esc_html__( 'Submission Information', 'opalestate-pro' ),
+ ] );
}
-
+
$post_id = wp_insert_post( $data, true );
-
+
if ( ! empty( $post_id ) && ! empty( $_POST['object_id'] ) ) {
$_POST['object_id'] = (int) $post_id;
@@ -478,68 +490,74 @@ class OpalEstate_Submission {
/**
* Fetch sanitized values
*/
- cmb2_get_metabox_form( $metaboxes[ $prefix. 'front' ], $post_id );
+ cmb2_get_metabox_form( $metaboxes[ $prefix . 'front' ], $post_id );
$cmb = $this->cmb2_get_metabox();
$sanitized_values = $cmb->get_sanitized_values( $_POST );
$cmb->save_fields( $post_id, 'post', $sanitized_values );
// Create featured image
$featured_image = get_post_meta( $post_id, $prefix . 'featured_image', true );
-
+
if ( ! empty( $_POST[ $prefix . 'featured_image' ] ) && isset( $_POST[ $prefix . 'featured_image' ] ) ) {
- foreach( $_POST[ $prefix . 'featured_image' ] as $key => $value ) {
- set_post_thumbnail( $post_id, $key );
- }
- unset( $_POST[ $prefix . 'featured_image' ] );
+ foreach ( $_POST[ $prefix . 'featured_image' ] as $key => $value ) {
+ set_post_thumbnail( $post_id, $key );
+ }
+ unset( $_POST[ $prefix . 'featured_image' ] );
} else {
delete_post_thumbnail( $post_id );
}
- // remove meta field;
+ // Remove meta field.
update_post_meta( $post_id, $prefix . 'featured_image', null );
+
+ // Update SKU.
+ if ( 'on' == opalestate_get_option( 'enable_submission_generate_sku', 'off' ) ) {
+ $_sku = str_replace( '{property_id}', $post_id, opalestate_options( 'submission_sku_format', 'SKU-{property_id}' ) );
+ $sku_generated = apply_filters( 'opalestate_submission_sku_generated', sanitize_text_field( $_sku ) );
+ update_post_meta( $post_id, $prefix . 'sku', $sku_generated );
+ }
+
//redirect
$_SESSION['messages'][] = [ 'success', esc_html__( 'Property has been successfully updated.', 'opalestate-pro' ) ];
do_action( "opalestate_process_submission_after", $user_id, $post_id, $edit );
if ( $edit ) {
- $type = OpalEstate()->session->set( 'submission' , 'edit' );
- $message = esc_html__('The property has updated completed with new information', 'opalestate-pro' );
+ $type = OpalEstate()->session->set( 'submission', 'edit' );
+ $message = esc_html__( 'The property has updated completed with new information', 'opalestate-pro' );
do_action( "opalestate_processed_edit_submission", $user_id, $post_id );
} else {
- $type = OpalEstate()->session->get( 'submission' , 'addnew' );
- $message = esc_html__('You have submitted the property successful', 'opalestate-pro' );
+ $type = OpalEstate()->session->get( 'submission', 'addnew' );
+ $message = esc_html__( 'You have submitted the property successful', 'opalestate-pro' );
do_action( "opalestate_processed_new_submission", $user_id, $post_id );
}
// set ready of attachment for use.
- if( $this->new_attachmenet_ids ){
+ if ( $this->new_attachmenet_ids ) {
foreach ( $this->new_attachmenet_ids as $_id ) {
delete_post_meta( $_id, '_pending_to_use_', 1 );
}
}
- //
-
return opalestate_output_msg_json( true,
$message,
- array(
- 'heading' => esc_html__('Submission Information' ,'opalestate-pro'),
- 'redirect' => opalestate_submssion_page( $post_id, array('do' => 'completed') )
- )) ;
+ [
+ 'heading' => esc_html__( 'Submission Information', 'opalestate-pro' ),
+ 'redirect' => opalestate_submssion_page( $post_id, [ 'do' => 'completed' ] ),
+ ] );
}
} else {
return opalestate_output_msg_json( fales,
- __('Currently, your account was blocked, please keep contact admin to resolve this!.', 'opalestate-pro' ),
- array('heading' => esc_html__('Submission Information' ,'opalestate-pro') )
- ) ;
+ __( 'Currently, your account was blocked, please keep contact admin to resolve this!.', 'opalestate-pro' ),
+ [ 'heading' => esc_html__( 'Submission Information', 'opalestate-pro' ) ]
+ );
}
}
return opalestate_output_msg_json( fales,
- __('Sorry! Your submitted datcould not save a at this time', 'opalestate-pro' ),
- array('heading' => esc_html__('Submission Information', 'opalestate-pro') )
- ) ;
+ __( 'Sorry! Your submitted datcould not save a at this time', 'opalestate-pro' ),
+ [ 'heading' => esc_html__( 'Submission Information', 'opalestate-pro' ) ]
+ );
}
}
@@ -547,57 +565,57 @@ class OpalEstate_Submission {
*
*
*/
- private function get_field_name( $field ){
- return OPALESTATE_PROPERTY_PREFIX.$field;
+ private function get_field_name( $field ) {
+ return OPALESTATE_PROPERTY_PREFIX . $field;
}
/**
+ * Process upload files.
*
- *
+ * @param int $post_id Post ID.
*/
- private function process_upload_files ( $post_id ) {
+ private function process_upload_files( $post_id ) {
//upload images for featured and gallery images
- if( isset($_FILES) && !empty($_FILES) ){
+ if ( isset( $_FILES ) && ! empty( $_FILES ) ) {
///
- $fields = array(
- $this->get_field_name('gallery'),
- $this->get_field_name('featured_image'),
- );
+ $fields = [
+ $this->get_field_name( 'gallery' ),
+ $this->get_field_name( 'featured_image' ),
+ ];
- foreach( $_FILES as $key => $value ) {
+ foreach ( $_FILES as $key => $value ) {
// allow processing in fixed collection
- if( in_array($key, $fields) ){
- $ufile = $_FILES[$key];
+ if ( in_array( $key, $fields ) ) {
+ $ufile = $_FILES[ $key ];
/// /////
- if( isset( $ufile['name'] ) && is_array( $ufile['name'] ) ){
- $output = array();
+ if ( isset( $ufile['name'] ) && is_array( $ufile['name'] ) ) {
+ $output = [];
- foreach ( $ufile['name'] as $f_key => $f_value ) {
- $loop_file = array(
- 'name' => $ufile['name'][$f_key],
- 'type' => $ufile['type'][$f_key],
- 'tmp_name' => $ufile['tmp_name'][$f_key],
- 'error' => $ufile['error'][$f_key],
- 'size' => $ufile['size'][$f_key]
- );
- $new_atm = $this->upload_image( $loop_file, $post_id );
- if( $new_atm ){
- $_POST[$key] = isset($_POST[$key]) ? $_POST[$key] : array();
- $_POST[$key][$new_atm['attachment_id']] = $new_atm['url'];
- $this->new_attachmenet_ids[$new_atm['attachment_id']] = $new_atm['attachment_id'];
+ foreach ( $ufile['name'] as $f_key => $f_value ) {
+ $loop_file = [
+ 'name' => $ufile['name'][ $f_key ],
+ 'type' => $ufile['type'][ $f_key ],
+ 'tmp_name' => $ufile['tmp_name'][ $f_key ],
+ 'error' => $ufile['error'][ $f_key ],
+ 'size' => $ufile['size'][ $f_key ],
+ ];
+ $new_atm = $this->upload_image( $loop_file, $post_id );
+ if ( $new_atm ) {
+ $_POST[ $key ] = isset( $_POST[ $key ] ) ? $_POST[ $key ] : [];
+ $_POST[ $key ][ $new_atm['attachment_id'] ] = $new_atm['url'];
+ $this->new_attachmenet_ids[ $new_atm['attachment_id'] ] = $new_atm['attachment_id'];
}
}
- }
- ///
- elseif( isset($ufile['name']) ) {
- $new_atm = $this->upload_image( $ufile, $post_id );
- if( $new_atm ){
- $_POST[$key][$new_atm['attachment_id']] = $new_atm['url'];
- $this->new_attachmenet_ids[$new_atm['attachment_id']] = $new_atm['attachment_id'];
+ } ///
+ elseif ( isset( $ufile['name'] ) ) {
+ $new_atm = $this->upload_image( $ufile, $post_id );
+ if ( $new_atm ) {
+ $_POST[ $key ][ $new_atm['attachment_id'] ] = $new_atm['url'];
+ $this->new_attachmenet_ids[ $new_atm['attachment_id'] ] = $new_atm['attachment_id'];
}
}
//// / //
@@ -605,56 +623,53 @@ class OpalEstate_Submission {
}
// for group files
- $fields = array(
- $this->get_field_name('public_floor_group')
- );
+ $fields = [
+ $this->get_field_name( 'public_floor_group' ),
+ ];
+ foreach ( $_FILES as $key => $value ) {
+ if ( in_array( $key, $fields ) ) {
+ $ufile = $_FILES[ $key ];
- foreach( $_FILES as $key => $value ) {
+ if ( isset( $ufile['name'] ) && is_array( $ufile['name'] ) ) {
+ $output = [];
+ foreach ( $ufile['name'] as $f_key => $f_value ) {
- if( in_array($key, $fields) ){
- $ufile = $_FILES[$key];
+ foreach ( $f_value as $u_key => $u_v ) {
+ $loop_file = [
+ 'name' => $ufile['name'][ $f_key ][ $u_key ],
+ 'type' => $ufile['type'][ $f_key ][ $u_key ],
+ 'tmp_name' => $ufile['tmp_name'][ $f_key ][ $u_key ],
+ 'error' => $ufile['error'][ $f_key ][ $u_key ],
+ 'size' => $ufile['size'][ $f_key ][ $u_key ],
+ ];
- if( isset( $ufile['name'] ) && is_array( $ufile['name'] ) ){
- $output = array();
- foreach ( $ufile['name'] as $f_key => $f_value ) {
+ $new_atm = $this->upload_image( $loop_file, $post_id );
+ if ( $new_atm ) {
- foreach( $f_value as $u_key => $u_v ) {
- $loop_file = array(
- 'name' => $ufile['name'][$f_key][$u_key],
- 'type' => $ufile['type'][$f_key][$u_key],
- 'tmp_name' => $ufile['tmp_name'][$f_key][$u_key],
- 'error' => $ufile['error'][$f_key][$u_key],
- 'size' => $ufile['size'][$f_key][$u_key]
- );
-
- $new_atm = $this->upload_image( $loop_file, $post_id );
- if( $new_atm ){
-
- $_POST[$key][$f_key][$u_key] = $new_atm['attachment_id'];
- $this->new_attachmenet_ids[$new_atm['attachment_id']] = $new_atm['attachment_id'];
+ $_POST[ $key ][ $f_key ][ $u_key ] = $new_atm['attachment_id'];
+ $this->new_attachmenet_ids[ $new_atm['attachment_id'] ] = $new_atm['attachment_id'];
}
}
}
- }
+ }
}
}
}
}
-
/**
* Process upload images for properties
*/
- public function upload_image( $submitted_file, $parent_id=0 ){
+ public function upload_image( $submitted_file, $parent_id = 0 ) {
return opalesate_upload_image( $submitted_file, $parent_id );
}
/**
* FrontEnd Submission
*/
- private function cleanup() {
- $user_id = get_current_user_id();
+ private function cleanup() {
+ $user_id = get_current_user_id();
opalestate_clean_attachments( $user_id );
}
diff --git a/inc/template-hook-functions.php b/inc/template-hook-functions.php
index fd938f55..6d15ae61 100755
--- a/inc/template-hook-functions.php
+++ b/inc/template-hook-functions.php
@@ -218,6 +218,10 @@ add_action( 'opalestate_single_property_preview', 'opalestate_property_preview',
function opalestate_property_request_viewing_button( $islink = false ) {
+ if ( 'on' != opalestate_get_option( 'enable_single_request_viewing', 'on' ) ) {
+ return;
+ }
+
$class = $islink ? 'btn-link' : 'btn btn-primary';
if ( ! is_user_logged_in() ) {
$class .= ' opalestate-need-login';
@@ -260,6 +264,10 @@ add_action( 'opalestate_single_property_layout', 'opalestate_single_property_lay
* Forms
*/
function opalestate_property_request_view_form() {
+ if ( 'on' != opalestate_get_option( 'enable_single_request_viewing', 'on' ) ) {
+ return;
+ }
+
if ( ! is_user_logged_in() ) {
return;
}
diff --git a/opal-estate-pro.php b/opal-estate-pro.php
index 58c2aed4..f316602f 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.1.7
+ * Version: 1.1.8
* 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.1.7' );
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.1.8' );
}
/**
@@ -160,7 +160,7 @@ if ( ! class_exists( 'OpalEstate' ) ) {
public function setup_constants() {
// Plugin version
if ( ! defined( 'OPALESTATE_VERSION' ) ) {
- define( 'OPALESTATE_VERSION', '1.1.7' );
+ define( 'OPALESTATE_VERSION', '1.1.8' );
}
// Plugin Folder Path
diff --git a/readme.txt b/readme.txt
index 464aa3a9..b216ad02 100755
--- a/readme.txt
+++ b/readme.txt
@@ -1,10 +1,10 @@
=== Opal Estate Pro - Property Management and Submission ===
-Contributors: wpopal, ndoublehwp
+Contributors: wpopal
Donate link: https://wpdocs.gitbook.io/opal-estate/
Tags: estate, property, opalestate, house for rent, agency for lease, estate submission, agents estate property, property marketplace
Requires at least: 4.6
Tested up to: 5.2.3
-Stable tag: 1.1.7
+Stable tag: 1.1.8
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -120,6 +120,7 @@ The plugin will not make you disappointed with ease of use, friendly & flexible
= WHAT IS NEW IN PRO VERSION =
* Suport API use to develop great web app and mobile app .
* Agency Agency and allow edit profile with user having Opal Estate Agency Role. Display Properties and members of agency
+* Implement Google Map with custom styles.
* Implement Google Capcha for all Email Form
* Implement Saved Search Form allowing user save theirs result as loved collection. They are managed with Saved Search Menu of user dashboard
* Supported Widgets working with Elementor page builder
@@ -155,6 +156,14 @@ 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.1.8 - 2019-10-31 =
+* Fixes - Submission settings.
+* Fixes - Order settings in the search page.
+* Fixes - Single property image size.
+* Added - Automatic generate property SKU.
+* Added - Enable/Disable Request Viewing.
+
+
= 1.1.7 - 2019-10-30 =
* Added - Google Map styles.
diff --git a/templates/single-property/preview.php b/templates/single-property/preview.php
index 45016f78..71e0591b 100755
--- a/templates/single-property/preview.php
+++ b/templates/single-property/preview.php
@@ -1,8 +1,10 @@
get_gallery();
- $image_size = opalestate_get_option( 'opalestate_thumbnail_size', 'medium' );
+ $galleries = $property->get_gallery();
+ $thumb_image_size = opalestate_get_option( 'opalestate_thumbnail_size', 'medium' );
+ $single_image_size = opalestate_get_option( 'featured_image_size', 'full' );
+
if ( isset( $galleries ) && $galleries ):
?>
-
+
diff --git a/templates/submission/completed.php b/templates/submission/completed.php
index 43f0780a..90acb5bb 100755
--- a/templates/submission/completed.php
+++ b/templates/submission/completed.php
@@ -1,27 +1,33 @@
-session->get( 'submission' );
+$post = get_post( $post_id );
+$type = OpalEstate()->session->get( 'submission' );
?>
-session->set( 'submission', null ); ?>
\ No newline at end of file
+
+session->set( 'submission', null ); ?>
$src ): ?>
diff --git a/templates/single-property/preview/gallery-slider.php b/templates/single-property/preview/gallery-slider.php
index 03cb3882..5d931f11 100755
--- a/templates/single-property/preview/gallery-slider.php
+++ b/templates/single-property/preview/gallery-slider.php
@@ -4,8 +4,8 @@
global $property;
$galleries = $property->get_gallery();
+ $single_image_size = opalestate_get_option( 'featured_image_size', 'full' );
- $image_size = opalestate_get_option( 'opalestate_thumbnail_size' );
if ( ! empty( $galleries ) && isset( $galleries ) ):
?>
-
+
-
-
+ $src ): ?>
+
@@ -48,7 +48,7 @@
-
+ $src ): ?>
@@ -68,22 +70,22 @@
$count_galleries = $count_galleries + count( $galleries );
?>
$columns ) : ?>
-
-
+
+