Update hooks & settings

This commit is contained in:
Hoang Huu 2019-09-20 14:37:55 +07:00
parent 044ef293da
commit 7fe9e71ec0
7 changed files with 70 additions and 69 deletions

@ -63,7 +63,8 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
],
[
'name' => esc_html__( 'Enable Message Database', 'opalestate-pro' ),
'desc' => esc_html__( 'Allow User send message Contact/Equire via email and saved into database to exchange theirs message direct in User Message Management', 'opalestate-pro' ),
'desc' => esc_html__( 'Allow User send message Contact/Equire via email and saved into database to exchange theirs message direct in User Message Management',
'opalestate-pro' ),
'id' => 'message_log',
'type' => 'switch',
'options' => [
@ -72,7 +73,7 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
],
],
[
'name' => esc_html__( 'Maximun Upload Image Size', 'opalestate-pro' ),
'desc' => esc_html__( 'Set maximun volumn size having < x MB', 'opalestate-pro' ),
@ -95,16 +96,16 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
'id' => 'upload_other_max_size',
'type' => 'text',
'default' => '0.8'
'default' => '0.8',
],
[
'name' => esc_html__( 'Maximun Upload Other Files', 'opalestate-pro' ),
'desc' => esc_html__( 'Set maximun volumn size having < x MB for upload docx, pdf...', 'opalestate-pro' ),
'id' => 'upload_other_max_files',
'type' => 'text',
'default' => '10',
'after_row' => '<hr>'
'id' => 'upload_other_max_files',
'type' => 'text',
'default' => '10',
'after_row' => '<hr>',
],
[
'name' => esc_html__( 'Agent Image Size', 'opalestate-pro' ),
@ -147,7 +148,7 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
'type' => 'select',
'default' => 'full',
'options' => opalestate_get_featured_image_sizes(),
'after_row' => '<em>' . esc_html__( 'To generate images with new image sizes, you can use this <a href="https://goo.gl/FuXFex" target="_blank">Force Regenerate Thumbnails</a>',
'after_row' => '<em>' . __( 'To generate images with new image sizes, you can use this <a href="https://goo.gl/FuXFex" target="_blank">Force Regenerate Thumbnails</a>',
'opalestate-pro' ) . '</em>',
],
[
@ -232,16 +233,11 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
],
[
'name' => esc_html__( 'Measurement Unit', 'opalestate-pro' ),
'desc' => esc_html__( 'Measurement Unit', 'opalestate-pro' ),
'desc' => esc_html__( 'Select a measurement unit.', 'opalestate-pro' ),
'id' => 'measurement_unit',
'type' => 'select',
'options' => apply_filters( 'opalestate_measurement_unit', [
'sq ft' => esc_html__( 'sq ft', 'opalestate-pro' ),
'sq m' => esc_html__( 'sq m', 'opalestate-pro' ),
'mq' => esc_html__( 'mq', 'opalestate-pro' ),
'm2' => esc_html__( 'm2', 'opalestate-pro' ),
] ),
'default' => 'sq ft',
'options' => opalestate_get_measurement_units(),
'default' => 'sqft',
],
[
'name' => esc_html__( 'Google Map API', 'opalestate-pro' ),

@ -90,7 +90,7 @@ class Opalestate_Install {
$options['test_mode'] = 1;
$options['currency'] = 'USD';
$options['currency_position'] = 'before';
$options['measurement_unit'] = 'sq ft';
$options['measurement_unit'] = 'sqft';
$options['google_map_api_keys'] = 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8';
$options['admin_approve'] = 'on';
$options['require_input_price'] = 'on';
@ -131,7 +131,6 @@ class Opalestate_Install {
$options['enable_submission_tab_facilities'] = 'on';
$options['enable_submission_tab_apartments'] = 'on';
$options['enable_submission_tab_floor_plans'] = 'on';
}
// Checks if the Success Page option exists AND that the page exists
@ -140,7 +139,7 @@ class Opalestate_Install {
$profile_page = wp_insert_post(
[
'post_title' => esc_html__( 'User Dashboard Page', 'opalestate-pro' ),
'post_content' => esc_html__( '', 'opalestate-pro' ),
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page',

@ -1133,3 +1133,17 @@ function opalestate_add_hidden_multilingual() {
}
add_action( 'opalestate_after_search_properties_form', 'opalestate_add_hidden_multilingual' );
/**
* Gets measurement units.
*
* @return array
*/
function opalestate_get_measurement_units() {
return apply_filters( 'opalestate_measurement_unit', [
'sqft' => esc_html__( 'sq ft', 'opalestate-pro' ),
'sqm' => esc_html__( 'sq m', 'opalestate-pro' ),
'mq' => esc_html__( 'mq', 'opalestate-pro' ),
'm2' => esc_html__( 'm2', 'opalestate-pro' ),
] );
}

@ -293,7 +293,6 @@ class Opalestate_Property_MetaBox {
$prefix = OPALESTATE_PROPERTY_PREFIX;
$fields = [
[
'name' => esc_html__( 'Built year', 'opalestate-pro' ),
'id' => $prefix . 'builtyear',
@ -302,9 +301,7 @@ class Opalestate_Property_MetaBox {
'before_row' => '<div class="row-group-features group-has-three group-property-info clearfix"><h3>' . ( is_admin() ? "" : esc_html__( 'Property Information', 'opalestate-pro' ) ) . '</h3>',
// callback
],
[
'name' => esc_html__( 'Parking', 'opalestate-pro' ),
'id' => $prefix . 'parking',

@ -168,11 +168,9 @@ class Opalestate_Property {
$fields = Opalestate_Property_MetaBox::metaboxes_info_fields();
foreach ( $fields as $a => $field ) {
$id = str_replace( OPALESTATE_PROPERTY_PREFIX, "", $field['id'] );
$id = str_replace( OPALESTATE_PROPERTY_PREFIX, '', $field['id'] );
if ( $field['type'] == 'multicheck' || $field['type'] == 'select' ) {
$opt_values = (array) get_post_meta( $this->post_id, $field['id'] );
if ( ! empty( $opt_values ) && isset( $field['options'] ) ) {
$tmp = [];
@ -194,7 +192,7 @@ class Opalestate_Property {
}
}
return $this->metabox_info;
return apply_filters( 'opalestate_property_metabox_info', $this->metabox_info );
}
public function get_id() {
@ -240,6 +238,7 @@ class Opalestate_Property {
$prop->icon = OPALESTATE_PLUGIN_URL . '/assets/map/market_icon.png';
}
$prop->icon = apply_filters( 'opalestate_prop_icon', $prop->icon );
$prop->featured = $this->featured;
@ -281,7 +280,6 @@ class Opalestate_Property {
if ( ! empty( $meta ) ) {
$fields = $this->get_meta_fullinfo();
foreach ( $meta as $key => $value ) {
if ( isset( $fields[ $value ] ) ) {
$output[ $value ] = $fields[ $value ];
}
@ -446,7 +444,7 @@ class Opalestate_Property {
break;
}
$avatar = $data['avatar'] ? $data['avatar'] : opalestate_get_image_avatar_placehold();
$avatar = $data['avatar'] ? $data['avatar'] : opalestate_get_image_avatar_placehold();
$avatar = '<img class="avatar" src="' . esc_url( $avatar ) . '" alt="' . $data['name'] . '" />';
return '<a href="' . $data['link'] . '" aria-label="' . $data['name'] . '" class="author-link"><span aria-label="' . $data['name'] . '" class="author-avatar hint--top">' . $avatar . '</span><span class="author-name">' . $data['name'] . '</span></a>';

@ -1,7 +1,7 @@
<?php
<?php
function opalestate_submssion_list_page( $args = [] ) {
return opalestate_get_user_management_page_uri( array('tab' => 'submission_list') );
return opalestate_get_user_management_page_uri( [ 'tab' => 'submission_list' ] );
}
function opalestate_get_user_management_page_uri( $args = [] ) {
@ -24,33 +24,34 @@ function opalestate_get_user_management_page_uri( $args = [] ) {
function opalestate_get_current_url( $args = [] ) {
global $wp;
if( isset($_GET['tab']) && $_GET['tab'] ) {
$args['tab'] = $_GET['tab'];
}
if ( isset( $_GET['tab'] ) && $_GET['tab'] ) {
$args['tab'] = $_GET['tab'];
}
$current_url = home_url( add_query_arg( $args, $wp->request ) );
return $current_url;
}
function opalestate_get_user_tab_uri( $tab ) {
$args['tab'] = $tab ;
$args['tab'] = $tab;
return opalestate_get_current_url( $args );
}
function opalestate_management_show_content_page_tab() {
$tab = isset($_GET['tab']) && $_GET['tab'] ? sanitize_text_field( $_GET['tab'] ): 'dashboard';
$fnc = 'opalestate_user_content_'.$tab.'_page';
$tab = isset( $_GET['tab'] ) && $_GET['tab'] ? sanitize_text_field( $_GET['tab'] ) : 'dashboard';
$fnc = 'opalestate_user_content_' . $tab . '_page';
$content = apply_filters( $fnc, '' );
if( $content ) {
if ( $content ) {
echo $content;
} else {
if( function_exists( $fnc ) ) {
if ( function_exists( $fnc ) ) {
$fnc();
} else {
opalestate_user_content_dashboard_page();
@ -75,45 +76,47 @@ function opalestate_user_savedsearch_page( $args = [] ) {
}
function opalestate_my_account_page( $id = false, $args = array() ) {
function opalestate_my_account_page( $id = false, $args = [] ) {
$page = get_permalink( opalestate_get_option( 'user_myaccount_page', '/' ) );
if ( $id ) {
$edit_page_id = opalestate_get_option( 'user_myaccount_page' );
$page = $edit_page_id ? get_permalink( $edit_page_id ) : $page;
$page = add_query_arg( 'id', $id, $page );
}
if( $args ){
foreach( $args as $key => $value ) {
$page = add_query_arg( $key, $value, $page );
if ( $args ) {
foreach ( $args as $key => $value ) {
$page = add_query_arg( $key, $value, $page );
}
}
return $page;
}
function opalestate_submssion_page( $id = false, $args = array() ) {
function opalestate_submssion_page( $id = false, $args = [] ) {
$page = get_permalink( opalestate_get_option( 'submission_page', '/' ) );
if ( $id ) {
$edit_page_id = opalestate_get_option( 'submission_edit_page' );
$page = $edit_page_id ? get_permalink( $edit_page_id ) : $page;
$page = add_query_arg( 'id', $id, $page );
}
if( $args ){
foreach( $args as $key => $value ) {
$page = add_query_arg( $key, $value, $page );
if ( $args ) {
foreach ( $args as $key => $value ) {
$page = add_query_arg( $key, $value, $page );
}
}
return $page;
}
function opalestate_management_user_menu() {
function opalestate_management_user_menu() {
}
function opalestate_management_user_menu_tabs() {
global $opalestate_options;
$menu = [];
@ -133,29 +136,22 @@ function opalestate_management_user_menu_tabs() {
$menu['favorite'] = [
'icon' => 'fa fa-heart',
'link' => 'favorite',
'link' => 'favorite',
'title' => esc_html__( 'Favorite', 'opalestate-pro' ),
'id' => isset( $opalestate_options['favorite_page'] ) ? $opalestate_options['favorite_page'] : 0,
];
$menu['reviews'] = [
'icon' => 'fa fa-star',
'link' => 'reviews',
'link' => 'reviews',
'title' => esc_html__( 'Reviews', 'opalestate-pro' ),
'id' => isset( $opalestate_options['reviews_page'] ) ? $opalestate_options['reviews_page'] : 0,
];
$menu['reviews'] = [
'icon' => 'fa fa-star',
'link' => 'reviews',
'title' => esc_html__( 'Reviews', 'opalestate-pro' ),
'id' => isset( $opalestate_options['reviews_page'] ) ? $opalestate_options['reviews_page'] : 0,
];
if( opalestate_get_option('message_log') ) {
if ( opalestate_get_option( 'message_log' ) ) {
$menu['messages'] = [
'icon' => 'fa fa-envelope',
'link' => 'messages',
'link' => 'messages',
'title' => esc_html__( 'Messages', 'opalestate-pro' ),
'id' => isset( $opalestate_options['reviews_page'] ) ? $opalestate_options['reviews_page'] : 0,
];
@ -186,10 +182,10 @@ function opalestate_management_user_menu_tabs() {
$current_tab = isset( $_GET['tab'] ) && $_GET['tab'] ? sanitize_text_field( $_GET['tab'] ) : 'dashboard';
foreach ( $menu as $key => $item ) {
if( preg_match("#http#", $item['link']) ){
$link = $item['link'];
if ( preg_match( "#http#", $item['link'] ) ) {
$link = $item['link'];
} else {
$link = $uri . '?tab=' . $item['link'];
$link = $uri . '?tab=' . $item['link'];
}
$output .= '<li class="account-links-item' . ( $current_tab == $item['link'] ? ' active' : '' ) . '"><a href="' . $link . '"><i class="' . $item['icon'] . '"></i> ' . $item['title'] . '</a></li>';
@ -202,7 +198,7 @@ function opalestate_management_user_menu_tabs() {
echo $output;
}
function opalestate_user_content_dashboard_page(){
function opalestate_user_content_dashboard_page() {
echo opalestate_load_template_path( 'user/dashboard' );
}
@ -259,5 +255,5 @@ if ( ! function_exists( 'opalestate_create_user' ) ) {
return $user_id;
}
}
?>

@ -12,7 +12,8 @@ Opal Real Estate Plugin is an ideal solution and brilliant choice for you to set
== Description ==
Whether you want to create a website for your real estate business and you are meeting difficulties to pick a suitable real estate plugin to install in your property site. Opal real estate plugin Pro will be your best choice to help you control your site in a perfect way.
Whether you want to create a website for your real estate business and you are meeting difficulties to pick a suitable real estate plugin to install in your property site. Opal Estate Pro plugin will
be your best choice to help you control your site in a perfect way.
The plugin will not make you disappointed with ease of use, friendly & flexible with users, high advanced functions and a range of powerful feature updated insight. They are created for selling, buying or renting an apartment, villa, house, flat, etc. Scroll down to see how awesome it is!