update
This commit is contained in:
parent
a2415271a9
commit
8851716ddc
@ -105,7 +105,6 @@ gulp.task('babel-admin-opaljob', function () {
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Deleting any file inside the /dist folder
|
||||
gulp.task( 'clean-dist', function() {
|
||||
// return del( [paths.dist + '/**'] );
|
||||
|
41
gruntfile.js
Executable file
41
gruntfile.js
Executable file
@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Created by chung Pham on 08/18/20.
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const folderPlugin = '';
|
||||
const textdomainPlugin = 'opalestate-pro';
|
||||
const path = require('path');
|
||||
|
||||
module.exports = function (grunt) {
|
||||
var deploy = {
|
||||
// pkg: grunt.file.readJSON('package.json'),
|
||||
addtextdomain: {
|
||||
plugin: {
|
||||
options: {
|
||||
textdomain: textdomainPlugin,
|
||||
updateDomains: true,
|
||||
},
|
||||
src: [path.join(folderPlugin, '**/*.php')]
|
||||
}
|
||||
},
|
||||
makepot: {
|
||||
plugin: {
|
||||
options: {
|
||||
cwd: folderPlugin,
|
||||
domainPath : 'languages',
|
||||
potFilename: 'opalestate-pro.pot',
|
||||
type : 'wp-plugin',
|
||||
processPot: function (pot, options) {
|
||||
pot.headers['language-team'] = 'Themelexus Team <themelexus@gmail.com>';
|
||||
return pot;
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
grunt.initConfig(deploy);
|
||||
|
||||
grunt.loadNpmTasks('grunt-wp-i18n');
|
||||
};
|
@ -137,7 +137,7 @@ class OpalEstate_Admin_User {
|
||||
*/
|
||||
$cmb_user = new_cmb2_box( [
|
||||
'id' => $prefix . 'edit',
|
||||
'title' => esc_html__( 'User Profile Metabox', 'cmb2' ), // Doesn't output for user boxes
|
||||
'title' => esc_html__( 'User Profile Metabox', 'opalestate-pro' ), // Doesn't output for user boxes
|
||||
'object_types' => [ 'user' ], // Tells CMB2 to use user_meta vs post_meta
|
||||
'show_names' => true,
|
||||
'new_user_section' => 'add-new-user', // where form will show on new user page. 'add-existing-user' is only other valid option.
|
||||
|
@ -36,9 +36,9 @@
|
||||
];
|
||||
|
||||
$plugins_group_titles = [
|
||||
'Performance' => _x( 'Performance', 'Plugin installer group title' ),
|
||||
'Social' => _x( 'Social', 'Plugin installer group title' ),
|
||||
'Tools' => _x( 'Tools', 'Plugin installer group title' ),
|
||||
'Performance' => _x( 'Performance', 'Plugin installer group title', 'opalestate-pro' ),
|
||||
'Social' => _x( 'Social', 'Plugin installer group title', 'opalestate-pro' ),
|
||||
'Tools' => _x( 'Tools', 'Plugin installer group title', 'opalestate-pro' ),
|
||||
];
|
||||
$group = null;
|
||||
?>
|
||||
@ -82,7 +82,7 @@
|
||||
|
||||
$author = wp_kses( $plugin['author'], $plugins_allowedtags );
|
||||
if ( ! empty( $author ) ) {
|
||||
$author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>';
|
||||
$author = ' <cite>' . sprintf( __( 'By %s', 'opalestate-pro' ), $author ) . '</cite>';
|
||||
}
|
||||
|
||||
$requires_php = isset( $plugin['requires_php'] ) ? $plugin['requires_php'] : null;
|
||||
@ -106,14 +106,14 @@
|
||||
esc_attr( $plugin['slug'] ),
|
||||
esc_url( $status['url'] ),
|
||||
/* translators: %s: plugin name and version */
|
||||
esc_attr( sprintf( __( 'Install %s now' ), $name ) ),
|
||||
esc_attr( sprintf( __( 'Install %s now', 'opalestate-pro' ), $name ) ),
|
||||
esc_attr( $name ),
|
||||
__( 'Install Now' )
|
||||
__( 'Install Now', 'opalestate-pro' )
|
||||
);
|
||||
} else {
|
||||
$action_links[] = sprintf(
|
||||
'<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
|
||||
_x( 'Cannot Install', 'plugin' )
|
||||
_x( 'Cannot Install', 'plugin', 'opalestate-pro' )
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -128,14 +128,14 @@
|
||||
esc_attr( $plugin['slug'] ),
|
||||
esc_url( $status['url'] ),
|
||||
/* translators: %s: plugin name and version */
|
||||
esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
|
||||
esc_attr( sprintf( __( 'Update %s now', 'opalestate-pro' ), $name ) ),
|
||||
esc_attr( $name ),
|
||||
__( 'Update Now' )
|
||||
__( 'Update Now', 'opalestate-pro' )
|
||||
);
|
||||
} else {
|
||||
$action_links[] = sprintf(
|
||||
'<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
|
||||
_x( 'Cannot Update', 'plugin' )
|
||||
_x( 'Cannot Update', 'plugin', 'opalestate-pro' )
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -146,12 +146,12 @@
|
||||
if ( is_plugin_active( $status['file'] ) ) {
|
||||
$action_links[] = sprintf(
|
||||
'<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
|
||||
_x( 'Active', 'plugin' )
|
||||
_x( 'Active', 'plugin', 'opalestate-pro' )
|
||||
);
|
||||
} elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) {
|
||||
$button_text = __( 'Activate' );
|
||||
$button_text = __( 'Activate', 'opalestate-pro' );
|
||||
/* translators: %s: plugin name */
|
||||
$button_label = _x( 'Activate %s', 'plugin' );
|
||||
$button_label = _x( 'Activate %s', 'plugin', 'opalestate-pro' );
|
||||
$activate_url = add_query_arg(
|
||||
[
|
||||
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ),
|
||||
@ -162,9 +162,9 @@
|
||||
);
|
||||
|
||||
if ( is_network_admin() ) {
|
||||
$button_text = __( 'Network Activate' );
|
||||
$button_text = __( 'Network Activate', 'opalestate-pro' );
|
||||
/* translators: %s: plugin name */
|
||||
$button_label = _x( 'Network Activate %s', 'plugin' );
|
||||
$button_label = _x( 'Network Activate %s', 'plugin', 'opalestate-pro' );
|
||||
$activate_url = add_query_arg( [ 'networkwide' => 1 ], $activate_url );
|
||||
}
|
||||
|
||||
@ -177,7 +177,7 @@
|
||||
} else {
|
||||
$action_links[] = sprintf(
|
||||
'<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
|
||||
_x( 'Installed', 'plugin' )
|
||||
_x( 'Installed', 'plugin', 'opalestate-pro' )
|
||||
);
|
||||
}
|
||||
break;
|
||||
@ -193,9 +193,9 @@
|
||||
'<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>',
|
||||
esc_url( $details_link ),
|
||||
/* translators: %s: plugin name and version */
|
||||
esc_attr( sprintf( __( 'More information about %s' ), $name ) ),
|
||||
esc_attr( sprintf( __( 'More information about %s', 'opalestate-pro' ), $name ) ),
|
||||
esc_attr( $name ),
|
||||
__( 'More Details' )
|
||||
__( 'More Details', 'opalestate-pro' )
|
||||
);
|
||||
|
||||
if ( ! empty( $plugin['icons']['svg'] ) ) {
|
||||
@ -225,11 +225,11 @@
|
||||
if ( ! $compatible_php || ! $compatible_wp ) {
|
||||
echo '<div class="notice inline notice-error notice-alt"><p>';
|
||||
if ( ! $compatible_php && ! $compatible_wp ) {
|
||||
_e( 'This plugin doesn’t work with your versions of WordPress and PHP.' );
|
||||
_e( 'This plugin doesn’t work with your versions of WordPress and PHP.', 'opalestate-pro' );
|
||||
if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) {
|
||||
printf(
|
||||
/* translators: 1: "Update WordPress" screen URL, 2: "Update PHP" page URL */
|
||||
' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ),
|
||||
' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.', 'opalestate-pro' ),
|
||||
self_admin_url( 'update-core.php' ),
|
||||
esc_url( wp_get_update_php_url() )
|
||||
);
|
||||
@ -237,32 +237,32 @@
|
||||
} elseif ( current_user_can( 'update_core' ) ) {
|
||||
printf(
|
||||
/* translators: %s: "Update WordPress" screen URL */
|
||||
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
|
||||
' ' . __( '<a href="%s">Please update WordPress</a>.', 'opalestate-pro' ),
|
||||
self_admin_url( 'update-core.php' )
|
||||
);
|
||||
} elseif ( current_user_can( 'update_php' ) ) {
|
||||
printf(
|
||||
/* translators: %s: "Update PHP" page URL */
|
||||
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
|
||||
' ' . __( '<a href="%s">Learn more about updating PHP</a>.', 'opalestate-pro' ),
|
||||
esc_url( wp_get_update_php_url() )
|
||||
);
|
||||
wp_update_php_annotation( '</p><p><em>', '</em>' );
|
||||
}
|
||||
} elseif ( ! $compatible_wp ) {
|
||||
_e( 'This plugin doesn’t work with your version of WordPress.' );
|
||||
_e( 'This plugin doesn’t work with your version of WordPress.', 'opalestate-pro' );
|
||||
if ( current_user_can( 'update_core' ) ) {
|
||||
printf(
|
||||
/* translators: %s: "Update WordPress" screen URL */
|
||||
' ' . __( '<a href="%s">Please update WordPress</a>.' ),
|
||||
' ' . __( '<a href="%s">Please update WordPress</a>.', 'opalestate-pro' ),
|
||||
self_admin_url( 'update-core.php' )
|
||||
);
|
||||
}
|
||||
} elseif ( ! $compatible_php ) {
|
||||
_e( 'This plugin doesn’t work with your version of PHP.' );
|
||||
_e( 'This plugin doesn’t work with your version of PHP.', 'opalestate-pro' );
|
||||
if ( current_user_can( 'update_php' ) ) {
|
||||
printf(
|
||||
/* translators: %s: "Update PHP" page URL */
|
||||
' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ),
|
||||
' ' . __( '<a href="%s">Learn more about updating PHP</a>.', 'opalestate-pro' ),
|
||||
esc_url( wp_get_update_php_url() )
|
||||
);
|
||||
wp_update_php_annotation( '</p><p><em>', '</em>' );
|
||||
@ -306,32 +306,32 @@
|
||||
<span class="num-ratings" aria-hidden="true">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span>
|
||||
</div>
|
||||
<div class="column-updated">
|
||||
<strong><?php _e( 'Last Updated:' ); ?></strong> <?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
|
||||
<strong><?php _e( 'Last Updated:', 'opalestate-pro' ); ?></strong> <?php printf( __( '%s ago', 'opalestate-pro' ), human_time_diff( $last_updated_timestamp ) ); ?>
|
||||
</div>
|
||||
<div class="column-downloaded">
|
||||
<?php
|
||||
if ( $plugin['active_installs'] >= 1000000 ) {
|
||||
$active_installs_millions = floor( $plugin['active_installs'] / 1000000 );
|
||||
$active_installs_text = sprintf(
|
||||
_nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ),
|
||||
_nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations', 'opalestate-pro' ),
|
||||
number_format_i18n( $active_installs_millions )
|
||||
);
|
||||
} elseif ( 0 == $plugin['active_installs'] ) {
|
||||
$active_installs_text = _x( 'Less Than 10', 'Active plugin installations' );
|
||||
$active_installs_text = _x( 'Less Than 10', 'Active plugin installations', 'opalestate-pro' );
|
||||
} else {
|
||||
$active_installs_text = number_format_i18n( $plugin['active_installs'] ) . '+';
|
||||
}
|
||||
printf( __( '%s Active Installations' ), $active_installs_text );
|
||||
printf( __( '%s Active Installations', 'opalestate-pro' ), $active_installs_text );
|
||||
?>
|
||||
</div>
|
||||
<div class="column-compatibility">
|
||||
<?php
|
||||
if ( ! $tested_wp ) {
|
||||
echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
|
||||
echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress', 'opalestate-pro' ) . '</span>';
|
||||
} elseif ( ! $compatible_wp ) {
|
||||
echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
|
||||
echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress', 'opalestate-pro' ) . '</span>';
|
||||
} else {
|
||||
echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
|
||||
echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress', 'opalestate-pro' ) . '</span>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
@ -196,7 +196,7 @@ class CMB2 extends CMB2_Base {
|
||||
public function __construct( $config, $object_id = 0 ) {
|
||||
|
||||
if ( empty( $config['id'] ) ) {
|
||||
wp_die( esc_html__( 'Metabox configuration is required to have an ID parameter.', 'cmb2' ) );
|
||||
wp_die( esc_html__( 'Metabox configuration is required to have an ID parameter.', 'opalestate-pro' ) );
|
||||
}
|
||||
|
||||
$this->cmb_id = $config['id'];
|
||||
@ -600,7 +600,7 @@ class CMB2 extends CMB2_Base {
|
||||
}
|
||||
|
||||
echo '
|
||||
<div class="cmbhandle" title="' , esc_attr__( 'Click to toggle', 'cmb2' ), '"><br></div>
|
||||
<div class="cmbhandle" title="' , esc_attr__( 'Click to toggle', 'opalestate-pro' ), '"><br></div>
|
||||
<h3 class="cmb-group-title cmbhandle-title"><span>', $field_group->replace_hash( $field_group->options( 'group_title' ) ), '</span></h3>
|
||||
|
||||
<div class="inside cmb-td cmb-nested cmb-field-list">';
|
||||
|
@ -72,7 +72,7 @@ class CMB2_Ajax {
|
||||
|
||||
// Send back error if empty.
|
||||
if ( empty( $oembed_string ) ) {
|
||||
wp_send_json_error( '<p class="ui-state-error-text">' . esc_html__( 'Please Try Again', 'cmb2' ) . '</p>' );
|
||||
wp_send_json_error( '<p class="ui-state-error-text">' . esc_html__( 'Please Try Again', 'opalestate-pro' ) . '</p>' );
|
||||
}
|
||||
|
||||
// Set width of embed.
|
||||
@ -178,7 +178,7 @@ class CMB2_Ajax {
|
||||
|
||||
// Send back our embed.
|
||||
if ( $oembed['embed'] && $oembed['embed'] != $oembed['fallback'] ) {
|
||||
return '<div class="cmb2-oembed embed-status">' . $oembed['embed'] . '<p class="cmb2-remove-wrapper"><a href="#" class="cmb2-remove-file-button" rel="' . $oembed['args']['field_id'] . '">' . esc_html__( 'Remove Embed', 'cmb2' ) . '</a></p></div>';
|
||||
return '<div class="cmb2-oembed embed-status">' . $oembed['embed'] . '<p class="cmb2-remove-wrapper"><a href="#" class="cmb2-remove-file-button" rel="' . $oembed['args']['field_id'] . '">' . esc_html__( 'Remove Embed', 'opalestate-pro' ) . '</a></p></div>';
|
||||
}
|
||||
|
||||
// Otherwise, send back error info that no oEmbeds were found.
|
||||
@ -186,7 +186,7 @@ class CMB2_Ajax {
|
||||
'<p class="ui-state-error-text">%s</p>',
|
||||
sprintf(
|
||||
/* translators: 1: results for. 2: link to codex.wordpress.org/Embeds */
|
||||
esc_html__( 'No oEmbed Results Found for %1$s. View more info at %2$s.', 'cmb2' ),
|
||||
esc_html__( 'No oEmbed Results Found for %1$s. View more info at %2$s.', 'opalestate-pro' ),
|
||||
$oembed['fallback'],
|
||||
'<a href="https://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>'
|
||||
)
|
||||
|
@ -419,11 +419,11 @@ abstract class CMB2_Base {
|
||||
switch ( $message ) {
|
||||
|
||||
case self::DEPRECATED_PARAM:
|
||||
$message = sprintf( esc_html__( 'The "%1$s" field parameter has been deprecated in favor of the "%2$s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
||||
$message = sprintf( esc_html__( 'The "%1$s" field parameter has been deprecated in favor of the "%2$s" parameter.', 'opalestate-pro' ), $args[3], $args[4] );
|
||||
break;
|
||||
|
||||
case self::DEPRECATED_CB_PARAM:
|
||||
$message = sprintf( esc_html__( 'Using the "%1$s" field parameter as a callback has been deprecated in favor of the "%2$s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
||||
$message = sprintf( esc_html__( 'Using the "%1$s" field parameter as a callback has been deprecated in favor of the "%2$s" parameter.', 'opalestate-pro' ), $args[3], $args[4] );
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -453,9 +453,9 @@ abstract class CMB2_Base {
|
||||
if ( defined( 'WP_DEBUG' ) && WP_DEBUG && apply_filters( 'deprecated_argument_trigger_error', true ) ) {
|
||||
if ( function_exists( '__' ) ) {
|
||||
if ( ! is_null( $message ) ) {
|
||||
trigger_error( sprintf( esc_html__( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', 'cmb2' ), $function, $version, $message ) );
|
||||
trigger_error( sprintf( esc_html__( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', 'opalestate-pro' ), $function, $version, $message ) );
|
||||
} else {
|
||||
trigger_error( sprintf( esc_html__( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', 'cmb2' ), $function, $version ) );
|
||||
trigger_error( sprintf( esc_html__( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', 'opalestate-pro' ), $function, $version ) );
|
||||
}
|
||||
} else {
|
||||
if ( ! is_null( $message ) ) {
|
||||
@ -488,7 +488,7 @@ abstract class CMB2_Base {
|
||||
case 'object_type':
|
||||
return $this->{$field};
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'opalestate-pro' ), __CLASS__, $field ) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -506,7 +506,7 @@ abstract class CMB2_Base {
|
||||
$object_class = strtolower( get_class( $this ) );
|
||||
|
||||
if ( ! has_filter( "{$object_class}_inherit_{$method}" ) ) {
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'cmb2' ), get_class( $this ), $method ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'opalestate-pro' ), get_class( $this ), $method ) );
|
||||
}
|
||||
|
||||
array_unshift( $args, $this );
|
||||
|
@ -1412,8 +1412,8 @@ class CMB2_Field extends CMB2_Base {
|
||||
*/
|
||||
protected function set_field_defaults_group( $args ) {
|
||||
$args['options'] = wp_parse_args( $args['options'], array(
|
||||
'add_button' => esc_html__( 'Add Group', 'cmb2' ),
|
||||
'remove_button' => esc_html__( 'Remove Group', 'cmb2' ),
|
||||
'add_button' => esc_html__( 'Add Group', 'opalestate-pro' ),
|
||||
'remove_button' => esc_html__( 'Remove Group', 'opalestate-pro' ),
|
||||
'remove_confirm' => '',
|
||||
) );
|
||||
|
||||
@ -1445,11 +1445,11 @@ class CMB2_Field extends CMB2_Base {
|
||||
*/
|
||||
protected function set_field_defaults_all_or_nothing_types( $args ) {
|
||||
$args['show_option_none'] = isset( $args['show_option_none'] ) ? $args['show_option_none'] : null;
|
||||
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'cmb2' ) : $args['show_option_none'];
|
||||
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'opalestate-pro' ) : $args['show_option_none'];
|
||||
|
||||
if ( null === $args['show_option_none'] ) {
|
||||
$off_by_default = in_array( $args['type'], array( 'select', 'radio', 'radio_inline' ), true );
|
||||
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'cmb2' );
|
||||
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'opalestate-pro' );
|
||||
}
|
||||
|
||||
return $args;
|
||||
@ -1560,7 +1560,7 @@ class CMB2_Field extends CMB2_Base {
|
||||
*/
|
||||
public function get_cmb() {
|
||||
if ( ! $this->cmb_id ) {
|
||||
return new WP_Error( 'no_cmb_id', esc_html__( 'Sorry, this field does not have a cmb_id specified.', 'cmb2' ) );
|
||||
return new WP_Error( 'no_cmb_id', esc_html__( 'Sorry, this field does not have a cmb_id specified.', 'opalestate-pro' ) );
|
||||
}
|
||||
|
||||
return cmb2_get_metabox( $this->cmb_id, $this->object_id, $this->object_type );
|
||||
|
@ -429,7 +429,7 @@ class CMB2_Display_File extends CMB2_Field_Display {
|
||||
} else {
|
||||
|
||||
printf( '<div class="file-status"><span>%1$s <strong><a href="%2$s">%3$s</a></strong></span></div>',
|
||||
esc_html( $field_type->_text( 'file_text', esc_html__( 'File:', 'cmb2' ) ) ),
|
||||
esc_html( $field_type->_text( 'file_text', esc_html__( 'File:', 'opalestate-pro' ) ) ),
|
||||
$url_value,
|
||||
CMB2_Utils::get_file_name_from_path( $url_value )
|
||||
);
|
||||
|
@ -41,7 +41,7 @@ abstract class CMB2_Hookup_Base {
|
||||
* @param CMB2 $cmb The CMB2 object to hookup.
|
||||
*/
|
||||
public static function maybe_init_and_hookup( CMB2 $cmb ) {
|
||||
throw new Exception( sprintf( esc_html__( '%1$s should be implemented by the extended class.', 'cmb2' ), __FUNCTION__ ) );
|
||||
throw new Exception( sprintf( esc_html__( '%1$s should be implemented by the extended class.', 'opalestate-pro' ), __FUNCTION__ ) );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -99,7 +99,7 @@ abstract class CMB2_Hookup_Base {
|
||||
case 'cmb':
|
||||
return $this->{$field};
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'opalestate-pro' ), __CLASS__, $field ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -162,10 +162,10 @@ class CMB2_JS {
|
||||
wp_register_script( 'iris', admin_url( 'js/iris.min.js' ), array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), CMB2_VERSION );
|
||||
wp_register_script( 'wp-color-picker', admin_url( 'js/color-picker.min.js' ), array( 'iris' ), CMB2_VERSION );
|
||||
wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', array(
|
||||
'clear' => esc_html__( 'Clear', 'cmb2' ),
|
||||
'defaultString' => esc_html__( 'Default', 'cmb2' ),
|
||||
'pick' => esc_html__( 'Select Color', 'cmb2' ),
|
||||
'current' => esc_html__( 'Current Color', 'cmb2' ),
|
||||
'clear' => esc_html__( 'Clear', 'opalestate-pro' ),
|
||||
'defaultString' => esc_html__( 'Default', 'opalestate-pro' ),
|
||||
'pick' => esc_html__( 'Select Color', 'opalestate-pro' ),
|
||||
'current' => esc_html__( 'Current Color', 'opalestate-pro' ),
|
||||
) );
|
||||
}
|
||||
|
||||
@ -197,39 +197,39 @@ class CMB2_JS {
|
||||
'date_picker' => array(
|
||||
'changeMonth' => true,
|
||||
'changeYear' => true,
|
||||
'dateFormat' => _x( 'mm/dd/yy', 'Valid formatDate string for jquery-ui datepicker', 'cmb2' ),
|
||||
'dayNames' => explode( ',', esc_html__( 'Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday', 'cmb2' ) ),
|
||||
'dayNamesMin' => explode( ',', esc_html__( 'Su, Mo, Tu, We, Th, Fr, Sa', 'cmb2' ) ),
|
||||
'dayNamesShort' => explode( ',', esc_html__( 'Sun, Mon, Tue, Wed, Thu, Fri, Sat', 'cmb2' ) ),
|
||||
'monthNames' => explode( ',', esc_html__( 'January, February, March, April, May, June, July, August, September, October, November, December', 'cmb2' ) ),
|
||||
'monthNamesShort' => explode( ',', esc_html__( 'Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec', 'cmb2' ) ),
|
||||
'nextText' => esc_html__( 'Next', 'cmb2' ),
|
||||
'prevText' => esc_html__( 'Prev', 'cmb2' ),
|
||||
'currentText' => esc_html__( 'Today', 'cmb2' ),
|
||||
'closeText' => esc_html__( 'Done', 'cmb2' ),
|
||||
'clearText' => esc_html__( 'Clear', 'cmb2' ),
|
||||
'dateFormat' => _x( 'mm/dd/yy', 'Valid formatDate string for jquery-ui datepicker', 'opalestate-pro' ),
|
||||
'dayNames' => explode( ',', esc_html__( 'Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday', 'opalestate-pro' ) ),
|
||||
'dayNamesMin' => explode( ',', esc_html__( 'Su, Mo, Tu, We, Th, Fr, Sa', 'opalestate-pro' ) ),
|
||||
'dayNamesShort' => explode( ',', esc_html__( 'Sun, Mon, Tue, Wed, Thu, Fri, Sat', 'opalestate-pro' ) ),
|
||||
'monthNames' => explode( ',', esc_html__( 'January, February, March, April, May, June, July, August, September, October, November, December', 'opalestate-pro' ) ),
|
||||
'monthNamesShort' => explode( ',', esc_html__( 'Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec', 'opalestate-pro' ) ),
|
||||
'nextText' => esc_html__( 'Next', 'opalestate-pro' ),
|
||||
'prevText' => esc_html__( 'Prev', 'opalestate-pro' ),
|
||||
'currentText' => esc_html__( 'Today', 'opalestate-pro' ),
|
||||
'closeText' => esc_html__( 'Done', 'opalestate-pro' ),
|
||||
'clearText' => esc_html__( 'Clear', 'opalestate-pro' ),
|
||||
),
|
||||
'time_picker' => array(
|
||||
'timeOnlyTitle' => esc_html__( 'Choose Time', 'cmb2' ),
|
||||
'timeText' => esc_html__( 'Time', 'cmb2' ),
|
||||
'hourText' => esc_html__( 'Hour', 'cmb2' ),
|
||||
'minuteText' => esc_html__( 'Minute', 'cmb2' ),
|
||||
'secondText' => esc_html__( 'Second', 'cmb2' ),
|
||||
'currentText' => esc_html__( 'Now', 'cmb2' ),
|
||||
'closeText' => esc_html__( 'Done', 'cmb2' ),
|
||||
'timeFormat' => _x( 'hh:mm TT', 'Valid formatting string, as per http://trentrichardson.com/examples/timepicker/', 'cmb2' ),
|
||||
'timeOnlyTitle' => esc_html__( 'Choose Time', 'opalestate-pro' ),
|
||||
'timeText' => esc_html__( 'Time', 'opalestate-pro' ),
|
||||
'hourText' => esc_html__( 'Hour', 'opalestate-pro' ),
|
||||
'minuteText' => esc_html__( 'Minute', 'opalestate-pro' ),
|
||||
'secondText' => esc_html__( 'Second', 'opalestate-pro' ),
|
||||
'currentText' => esc_html__( 'Now', 'opalestate-pro' ),
|
||||
'closeText' => esc_html__( 'Done', 'opalestate-pro' ),
|
||||
'timeFormat' => _x( 'hh:mm TT', 'Valid formatting string, as per http://trentrichardson.com/examples/timepicker/', 'opalestate-pro' ),
|
||||
'controlType' => 'select',
|
||||
'stepMinute' => 5,
|
||||
),
|
||||
),
|
||||
'strings' => array(
|
||||
'upload_file' => esc_html__( 'Use this file', 'cmb2' ),
|
||||
'upload_files' => esc_html__( 'Use these files', 'cmb2' ),
|
||||
'remove_image' => esc_html__( 'Remove Image', 'cmb2' ),
|
||||
'remove_file' => esc_html__( 'Remove', 'cmb2' ),
|
||||
'file' => esc_html__( 'File:', 'cmb2' ),
|
||||
'download' => esc_html__( 'Download', 'cmb2' ),
|
||||
'check_toggle' => esc_html__( 'Select / Deselect All', 'cmb2' ),
|
||||
'upload_file' => esc_html__( 'Use this file', 'opalestate-pro' ),
|
||||
'upload_files' => esc_html__( 'Use these files', 'opalestate-pro' ),
|
||||
'remove_image' => esc_html__( 'Remove Image', 'opalestate-pro' ),
|
||||
'remove_file' => esc_html__( 'Remove', 'opalestate-pro' ),
|
||||
'file' => esc_html__( 'File:', 'opalestate-pro' ),
|
||||
'download' => esc_html__( 'Download', 'opalestate-pro' ),
|
||||
'check_toggle' => esc_html__( 'Select / Deselect All', 'opalestate-pro' ),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -244,7 +244,7 @@ class CMB2_Option {
|
||||
case 'key':
|
||||
return $this->{$field};
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'opalestate-pro' ), __CLASS__, $field ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -136,11 +136,11 @@ class CMB2_Options_Hookup extends CMB2_hookup {
|
||||
$is_updated = $should_notify && 'true' === $_GET['settings-updated'];
|
||||
$setting = "{$this->option_key}-notices";
|
||||
$code = '';
|
||||
$message = esc_html__( 'Nothing to update.', 'cmb2' );
|
||||
$message = esc_html__( 'Nothing to update.', 'opalestate-pro' );
|
||||
$type = 'notice-warning';
|
||||
|
||||
if ( $is_updated ) {
|
||||
$message = esc_html__( 'Settings updated.', 'cmb2' );
|
||||
$message = esc_html__( 'Settings updated.', 'opalestate-pro' );
|
||||
$type = 'updated';
|
||||
}
|
||||
|
||||
@ -354,7 +354,7 @@ class CMB2_Options_Hookup extends CMB2_hookup {
|
||||
case 'cmb':
|
||||
return $this->{$field};
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'opalestate-pro' ), __CLASS__, $field ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ class CMB2_Types {
|
||||
$this->type = new $render_class_name( $this, $args );
|
||||
|
||||
if ( ! ( $this->type instanceof CMB2_Type_Base ) ) {
|
||||
throw new Exception( esc_html__( 'Custom CMB2 field type classes must extend CMB2_Type_Base.', 'cmb2' ) );
|
||||
throw new Exception( esc_html__( 'Custom CMB2 field type classes must extend CMB2_Type_Base.', 'opalestate-pro' ) );
|
||||
}
|
||||
|
||||
return $this->type;
|
||||
@ -341,7 +341,7 @@ class CMB2_Types {
|
||||
</div>
|
||||
</div>
|
||||
<p class="cmb-add-row">
|
||||
<button type="button" data-selector="<?php echo $table_id; ?>" class="cmb-add-row-button button-secondary"><?php echo esc_html( $this->_text( 'add_row_text', esc_html__( 'Add Row', 'cmb2' ) ) ); ?></button>
|
||||
<button type="button" data-selector="<?php echo $table_id; ?>" class="cmb-add-row-button button-secondary"><?php echo esc_html( $this->_text( 'add_row_text', esc_html__( 'Add Row', 'opalestate-pro' ) ) ); ?></button>
|
||||
</p>
|
||||
|
||||
<?php
|
||||
@ -403,7 +403,7 @@ class CMB2_Types {
|
||||
<?php $this->_render(); ?>
|
||||
</div>
|
||||
<div class="cmb-td cmb-remove-row">
|
||||
<button type="button" class="button-secondary cmb-remove-row-button" title="<?php echo esc_attr( $this->_text( 'remove_row_button_title', esc_html__( 'Remove Row', 'cmb2' ) ) ); ?>"><?php echo esc_html( $this->_text( 'remove_row_text', esc_html__( 'Remove', 'cmb2' ) ) ); ?></button>
|
||||
<button type="button" class="button-secondary cmb-remove-row-button" title="<?php echo esc_attr( $this->_text( 'remove_row_button_title', esc_html__( 'Remove Row', 'opalestate-pro' ) ) ); ?>"><?php echo esc_html( $this->_text( 'remove_row_text', esc_html__( 'Remove', 'opalestate-pro' ) ) ); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -179,11 +179,11 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
||||
|
||||
public function term_hooks() {
|
||||
if ( ! function_exists( 'get_term_meta' ) ) {
|
||||
wp_die( esc_html__( 'Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress install.', 'cmb2' ) );
|
||||
wp_die( esc_html__( 'Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress install.', 'opalestate-pro' ) );
|
||||
}
|
||||
|
||||
if ( ! $this->cmb->prop( 'taxonomies' ) ) {
|
||||
wp_die( esc_html__( 'Term metaboxes configuration requires a "taxonomies" parameter.', 'cmb2' ) );
|
||||
wp_die( esc_html__( 'Term metaboxes configuration requires a "taxonomies" parameter.', 'opalestate-pro' ) );
|
||||
}
|
||||
|
||||
$this->taxonomies = (array) $this->cmb->prop( 'taxonomies' );
|
||||
@ -463,7 +463,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
||||
if ( $add_handle ) {
|
||||
|
||||
echo '<button type="button" class="handlediv button-link" aria-expanded="true">';
|
||||
echo '<span class="screen-reader-text">' . sprintf( esc_html__( 'Toggle panel: %s' ), $title ) . '</span>';
|
||||
echo '<span class="screen-reader-text">' . sprintf( esc_html__( 'Toggle panel: %s', 'opalestate-pro' ), $title ) . '</span>';
|
||||
echo '<span class="toggle-indicator" aria-hidden="true"></span>';
|
||||
echo '</button>';
|
||||
|
||||
|
@ -104,7 +104,7 @@ function cmb2_get_oembed( $args = array() ) {
|
||||
|
||||
$error = sprintf(
|
||||
/* translators: 1: results for. 2: link to codex.wordpress.org/Embeds */
|
||||
esc_html__( 'No oEmbed Results Found for %1$s. View more info at %2$s.', 'cmb2' ),
|
||||
esc_html__( 'No oEmbed Results Found for %1$s. View more info at %2$s.', 'opalestate-pro' ),
|
||||
$oembed['fallback'],
|
||||
'<a href="https://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>'
|
||||
);
|
||||
@ -304,7 +304,7 @@ function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
||||
|
||||
$args = wp_parse_args( $args, array(
|
||||
'form_format' => '<form class="cmb-form" method="post" id="%1$s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="object_id" value="%2$s">%3$s<input type="submit" name="submit-cmb" value="%4$s" class="button-primary"></form>',
|
||||
'save_button' => esc_html__( 'Save', 'cmb2' ),
|
||||
'save_button' => esc_html__( 'Save', 'opalestate-pro' ),
|
||||
'object_type' => $cmb->mb_object_type(),
|
||||
'cmb_styles' => $cmb->prop( 'cmb_styles' ),
|
||||
'enqueue_js' => $cmb->prop( 'enqueue_js' ),
|
||||
|
@ -254,7 +254,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
||||
$this->initiate_rest_box( $request, $request_type );
|
||||
|
||||
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_read ) {
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_no_read_error', esc_html__( 'This box does not have read permissions.', 'cmb2' ), array(
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_no_read_error', esc_html__( 'This box does not have read permissions.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
}
|
||||
@ -274,7 +274,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
||||
$this->initiate_rest_box( $request, $request_type );
|
||||
|
||||
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_edit ) {
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_no_write_error', esc_html__( 'This box does not have write permissions.', 'cmb2' ), array(
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_no_write_error', esc_html__( 'This box does not have write permissions.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
}
|
||||
@ -297,7 +297,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
||||
|
||||
if ( ! $this->rest_box ) {
|
||||
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_box_not_found_error', esc_html__( 'No box found by that id. A box needs to be registered with the "show_in_rest" parameter configured.', 'cmb2' ), array(
|
||||
$this->rest_box = new WP_Error( 'cmb2_rest_box_not_found_error', esc_html__( 'No box found by that id. A box needs to be registered with the "show_in_rest" parameter configured.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
|
||||
@ -375,21 +375,21 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
||||
'type' => 'object',
|
||||
'properties' => array(
|
||||
'description' => array(
|
||||
'description' => esc_html__( 'A human-readable description of the object.', 'cmb2' ),
|
||||
'description' => esc_html__( 'A human-readable description of the object.', 'opalestate-pro' ),
|
||||
'type' => 'string',
|
||||
'context' => array(
|
||||
'view',
|
||||
),
|
||||
),
|
||||
'name' => array(
|
||||
'description' => esc_html__( 'The id for the object.', 'cmb2' ),
|
||||
'description' => esc_html__( 'The id for the object.', 'opalestate-pro' ),
|
||||
'type' => 'integer',
|
||||
'context' => array(
|
||||
'view',
|
||||
),
|
||||
),
|
||||
'name' => array(
|
||||
'description' => esc_html__( 'The title for the object.', 'cmb2' ),
|
||||
'description' => esc_html__( 'The title for the object.', 'opalestate-pro' ),
|
||||
'type' => 'string',
|
||||
'context' => array(
|
||||
'view',
|
||||
|
@ -48,7 +48,7 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
||||
public function register_routes() {
|
||||
$args = array(
|
||||
'_embed' => array(
|
||||
'description' => esc_html__( 'Includes the registered fields for the box in the response.', 'cmb2' ),
|
||||
'description' => esc_html__( 'Includes the registered fields for the box in the response.', 'opalestate-pro' ),
|
||||
),
|
||||
);
|
||||
|
||||
@ -69,7 +69,7 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
||||
) );
|
||||
|
||||
$args['_rendered'] = array(
|
||||
'description' => esc_html__( 'Includes the fully rendered attributes, \'form_open\', \'form_close\', as well as the enqueued \'js_dependencies\' script handles, and \'css_dependencies\' stylesheet handles.', 'cmb2' ),
|
||||
'description' => esc_html__( 'Includes the fully rendered attributes, \'form_open\', \'form_close\', as well as the enqueued \'js_dependencies\' script handles, and \'css_dependencies\' stylesheet handles.', 'opalestate-pro' ),
|
||||
);
|
||||
|
||||
// Returns specific box's data.
|
||||
@ -119,7 +119,7 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
||||
|
||||
$boxes = CMB2_REST::get_all();
|
||||
if ( empty( $boxes ) ) {
|
||||
return new WP_Error( 'cmb2_rest_no_boxes', esc_html__( 'No boxes found.', 'cmb2' ), array(
|
||||
return new WP_Error( 'cmb2_rest_no_boxes', esc_html__( 'No boxes found.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
}
|
||||
|
@ -24,16 +24,16 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
public function register_routes() {
|
||||
$args = array(
|
||||
'_embed' => array(
|
||||
'description' => esc_html__( 'Includes the box object which the fields are registered to in the response.', 'cmb2' ),
|
||||
'description' => esc_html__( 'Includes the box object which the fields are registered to in the response.', 'opalestate-pro' ),
|
||||
),
|
||||
'_rendered' => array(
|
||||
'description' => esc_html__( 'When the \'_rendered\' argument is passed, the renderable field attributes will be returned fully rendered. By default, the names of the callback handers for the renderable attributes will be returned.', 'cmb2' ),
|
||||
'description' => esc_html__( 'When the \'_rendered\' argument is passed, the renderable field attributes will be returned fully rendered. By default, the names of the callback handers for the renderable attributes will be returned.', 'opalestate-pro' ),
|
||||
),
|
||||
'object_id' => array(
|
||||
'description' => esc_html__( 'To view or modify the field\'s value, the \'object_id\' and \'object_type\' arguments are required.', 'cmb2' ),
|
||||
'description' => esc_html__( 'To view or modify the field\'s value, the \'object_id\' and \'object_type\' arguments are required.', 'opalestate-pro' ),
|
||||
),
|
||||
'object_type' => array(
|
||||
'description' => esc_html__( 'To view or modify the field\'s value, the \'object_id\' and \'object_type\' arguments are required.', 'cmb2' ),
|
||||
'description' => esc_html__( 'To view or modify the field\'s value, the \'object_id\' and \'object_type\' arguments are required.', 'opalestate-pro' ),
|
||||
),
|
||||
);
|
||||
|
||||
@ -233,7 +233,7 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
$this->initiate_rest_read_box( $request, 'field_value_update' );
|
||||
|
||||
if ( ! $this->request['value'] ) {
|
||||
return new WP_Error( 'cmb2_rest_update_field_error', esc_html__( 'CMB2 Field value cannot be updated without the value parameter specified.', 'cmb2' ), array(
|
||||
return new WP_Error( 'cmb2_rest_update_field_error', esc_html__( 'CMB2 Field value cannot be updated without the value parameter specified.', 'opalestate-pro' ), array(
|
||||
'status' => 400,
|
||||
) );
|
||||
}
|
||||
@ -294,7 +294,7 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
public function modify_field_value( $activity ) {
|
||||
|
||||
if ( ! $this->request['object_id'] || ! $this->request['object_type'] ) {
|
||||
return new WP_Error( 'cmb2_rest_modify_field_value_error', esc_html__( 'CMB2 Field value cannot be modified without the object_id and object_type parameters specified.', 'cmb2' ), array(
|
||||
return new WP_Error( 'cmb2_rest_modify_field_value_error', esc_html__( 'CMB2 Field value cannot be modified without the object_id and object_type parameters specified.', 'opalestate-pro' ), array(
|
||||
'status' => 400,
|
||||
) );
|
||||
}
|
||||
@ -309,7 +309,7 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
);
|
||||
|
||||
if ( ! $this->field ) {
|
||||
return new WP_Error( 'cmb2_rest_no_field_by_id_error', esc_html__( 'No field found by that id.', 'cmb2' ), array(
|
||||
return new WP_Error( 'cmb2_rest_no_field_by_id_error', esc_html__( 'No field found by that id.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
}
|
||||
@ -338,7 +338,7 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
$this->field = $this->rest_box->field_can_read( $field, true );
|
||||
|
||||
if ( ! $this->field ) {
|
||||
return new WP_Error( 'cmb2_rest_no_field_by_id_error', esc_html__( 'No field found by that id.', 'cmb2' ), array(
|
||||
return new WP_Error( 'cmb2_rest_no_field_by_id_error', esc_html__( 'No field found by that id.', 'opalestate-pro' ), array(
|
||||
'status' => 403,
|
||||
) );
|
||||
}
|
||||
@ -412,7 +412,7 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
||||
if ( empty( $value ) || is_scalar( $value ) || is_array( $value ) ) {
|
||||
$field_data[ $key ] = $value;
|
||||
} else {
|
||||
$field_data[ $key ] = sprintf( esc_html__( 'Value Error for %s', 'cmb2' ), $key );
|
||||
$field_data[ $key ] = sprintf( esc_html__( 'Value Error for %s', 'opalestate-pro' ), $key );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ abstract class WP_REST_Controller {
|
||||
*/
|
||||
public function register_routes() {
|
||||
/* translators: %s: register_routes() */
|
||||
_doing_it_wrong( 'WP_REST_Controller::register_routes', sprintf( esc_html__( "Method '%s' must be overridden." ), __METHOD__ ), '4.7' );
|
||||
_doing_it_wrong( 'WP_REST_Controller::register_routes', sprintf( esc_html__( "Method '%s' must be overridden.", 'opalestate-pro' ), __METHOD__ ), '4.7' );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -32,7 +32,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|boolean
|
||||
*/
|
||||
public function get_items_permissions_check( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -44,7 +44,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|WP_REST_Response
|
||||
*/
|
||||
public function get_items( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -56,7 +56,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|boolean
|
||||
*/
|
||||
public function get_item_permissions_check( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -68,7 +68,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|WP_REST_Response
|
||||
*/
|
||||
public function get_item( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -80,7 +80,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|boolean
|
||||
*/
|
||||
public function create_item_permissions_check( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -92,7 +92,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|WP_REST_Response
|
||||
*/
|
||||
public function create_item( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -104,7 +104,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|boolean
|
||||
*/
|
||||
public function update_item_permissions_check( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -116,7 +116,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|WP_REST_Response
|
||||
*/
|
||||
public function update_item( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -128,7 +128,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|boolean
|
||||
*/
|
||||
public function delete_item_permissions_check( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -140,7 +140,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|WP_REST_Response
|
||||
*/
|
||||
public function delete_item( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -152,7 +152,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_Error|object $prepared_item
|
||||
*/
|
||||
protected function prepare_item_for_database( $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -165,7 +165,7 @@ abstract class WP_REST_Controller {
|
||||
* @return WP_REST_Response $response
|
||||
*/
|
||||
public function prepare_item_for_response( $item, $request ) {
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
||||
return new WP_Error( 'invalid-method', sprintf( esc_html__( "Method '%s' not implemented. Must be overridden in subclass.", 'opalestate-pro' ), __METHOD__ ), array(
|
||||
'status' => 405,
|
||||
) );
|
||||
}
|
||||
@ -270,7 +270,7 @@ abstract class WP_REST_Controller {
|
||||
return array(
|
||||
'context' => $this->get_context_param(),
|
||||
'page' => array(
|
||||
'description' => esc_html__( 'Current page of the collection.' ),
|
||||
'description' => esc_html__( 'Current page of the collection.', 'opalestate-pro' ),
|
||||
'type' => 'integer',
|
||||
'default' => 1,
|
||||
'sanitize_callback' => 'absint',
|
||||
@ -278,7 +278,7 @@ abstract class WP_REST_Controller {
|
||||
'minimum' => 1,
|
||||
),
|
||||
'per_page' => array(
|
||||
'description' => esc_html__( 'Maximum number of items to be returned in result set.' ),
|
||||
'description' => esc_html__( 'Maximum number of items to be returned in result set.', 'opalestate-pro' ),
|
||||
'type' => 'integer',
|
||||
'default' => 10,
|
||||
'minimum' => 1,
|
||||
@ -287,7 +287,7 @@ abstract class WP_REST_Controller {
|
||||
'validate_callback' => 'rest_validate_request_arg',
|
||||
),
|
||||
'search' => array(
|
||||
'description' => esc_html__( 'Limit results to those matching a string.' ),
|
||||
'description' => esc_html__( 'Limit results to those matching a string.', 'opalestate-pro' ),
|
||||
'type' => 'string',
|
||||
'sanitize_callback' => 'sanitize_text_field',
|
||||
'validate_callback' => 'rest_validate_request_arg',
|
||||
@ -305,7 +305,7 @@ abstract class WP_REST_Controller {
|
||||
*/
|
||||
public function get_context_param( $args = array() ) {
|
||||
$param_details = array(
|
||||
'description' => esc_html__( 'Scope under which the request is made; determines fields present in response.' ),
|
||||
'description' => esc_html__( 'Scope under which the request is made; determines fields present in response.', 'opalestate-pro' ),
|
||||
'type' => 'string',
|
||||
'sanitize_callback' => 'sanitize_key',
|
||||
'validate_callback' => 'rest_validate_request_arg',
|
||||
|
@ -154,7 +154,7 @@ abstract class CMB2_Type_Base {
|
||||
case 'concat_attrs':
|
||||
return call_user_func_array( array( $this->types, $method ), $arguments );
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'cmb2' ), __CLASS__, $method ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'opalestate-pro' ), __CLASS__, $method ) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ abstract class CMB2_Type_Base {
|
||||
case 'field':
|
||||
return $this->types->field;
|
||||
default:
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
||||
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'opalestate-pro' ), __CLASS__, $field ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ class CMB2_Type_File extends CMB2_Type_File_Base {
|
||||
|
||||
$output .= sprintf(
|
||||
'<input class="cmb2-upload-button button-secondary" type="button" value="%1$s" />',
|
||||
esc_attr( $this->_text( 'add_upload_file_text', esc_html__( 'Add or Upload File', 'cmb2' ) ) )
|
||||
esc_attr( $this->_text( 'add_upload_file_text', esc_html__( 'Add or Upload File', 'opalestate-pro' ) ) )
|
||||
);
|
||||
|
||||
$output .= $a['desc'];
|
||||
|
@ -61,7 +61,7 @@ class CMB2_Type_File_Base extends CMB2_Type_Text {
|
||||
$args['tag'],
|
||||
$args['image'],
|
||||
isset( $args['cached_id'] ) ? ' rel="' . $args['cached_id'] . '"' : '',
|
||||
esc_html( $this->_text( 'remove_image_text', esc_html__( 'Remove Image', 'cmb2' ) ) ),
|
||||
esc_html( $this->_text( 'remove_image_text', esc_html__( 'Remove Image', 'opalestate-pro' ) ) ),
|
||||
isset( $args['id_input'] ) ? $args['id_input'] : ''
|
||||
);
|
||||
}
|
||||
@ -76,12 +76,12 @@ class CMB2_Type_File_Base extends CMB2_Type_Text {
|
||||
public function file_status_output( $args ) {
|
||||
return sprintf( '<%1$s class="file-status cmb2-media-item"><span>%2$s <strong>%3$s</strong></span> (<a href="%4$s" target="_blank" rel="external">%5$s</a> / <a href="#" class="cmb2-remove-file-button"%6$s>%7$s</a>)%8$s</%1$s>',
|
||||
$args['tag'],
|
||||
esc_html( $this->_text( 'file_text', esc_html__( 'File:', 'cmb2' ) ) ),
|
||||
esc_html( $this->_text( 'file_text', esc_html__( 'File:', 'opalestate-pro' ) ) ),
|
||||
CMB2_Utils::get_file_name_from_path( $args['value'] ),
|
||||
$args['value'],
|
||||
esc_html( $this->_text( 'file_download_text', esc_html__( 'Download', 'cmb2' ) ) ),
|
||||
esc_html( $this->_text( 'file_download_text', esc_html__( 'Download', 'opalestate-pro' ) ) ),
|
||||
isset( $args['cached_id'] ) ? ' rel="' . $args['cached_id'] . '"' : '',
|
||||
esc_html( $this->_text( 'remove_text', esc_html__( 'Remove', 'cmb2' ) ) ),
|
||||
esc_html( $this->_text( 'remove_text', esc_html__( 'Remove', 'opalestate-pro' ) ) ),
|
||||
isset( $args['id_input'] ) ? $args['id_input'] : ''
|
||||
);
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
||||
$output .= parent::render( array(
|
||||
'type' => 'button',
|
||||
'class' => 'cmb2-upload-button button-secondary cmb2-upload-list',
|
||||
'value' => esc_attr( $this->_text( 'add_upload_files_text', esc_html__( 'Add or Upload Files', 'cmb2' ) ) ),
|
||||
'value' => esc_attr( $this->_text( 'add_upload_files_text', esc_html__( 'Add or Upload Files', 'opalestate-pro' ) ) ),
|
||||
'name' => '',
|
||||
'id' => '',
|
||||
) );
|
||||
|
@ -112,7 +112,7 @@ abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
||||
$message = $error->get_error_message();
|
||||
$data = 'data-error="' . esc_attr( $error->get_error_code() ) . '"';
|
||||
} else {
|
||||
$message = $this->_text( 'no_terms_text', esc_html__( 'No terms', 'cmb2' ) );
|
||||
$message = $this->_text( 'no_terms_text', esc_html__( 'No terms', 'opalestate-pro' ) );
|
||||
$data = '';
|
||||
}
|
||||
|
||||
|
9902
languages/opalestate-pro.pot
Executable file → Normal file
9902
languages/opalestate-pro.pot
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
@ -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.6.7
|
||||
* Version: 1.6.8
|
||||
* Author: WPOPAL
|
||||
* Author URI: http://www.wpopal.com
|
||||
* Requires at least: 4.9
|
||||
@ -154,7 +154,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.6.7' );
|
||||
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.6.8' );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -163,7 +163,7 @@ if ( ! class_exists( 'OpalEstate' ) ) {
|
||||
public function setup_constants() {
|
||||
// Plugin version
|
||||
if ( ! defined( 'OPALESTATE_VERSION' ) ) {
|
||||
define( 'OPALESTATE_VERSION', '1.6.7' );
|
||||
define( 'OPALESTATE_VERSION', '1.6.8' );
|
||||
}
|
||||
|
||||
// Plugin Folder Path
|
||||
|
@ -4,7 +4,7 @@ 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.9
|
||||
Tested up to: 5.3.2
|
||||
Stable tag: 1.6.7
|
||||
Stable tag: 1.6.8
|
||||
License: GPLv3
|
||||
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
@ -150,6 +150,9 @@ This section describes how to install the plugin and get it working.
|
||||
* System tickets support 24/7 available : [free support](https://themelexus.ticksy.com/ "Visit the Plugin support Page")
|
||||
|
||||
== Changelog ==
|
||||
= 1.6.8 - 2020-08-20 =
|
||||
* Fixes - languages
|
||||
|
||||
= 1.6.7 - 2020-08-11 =
|
||||
* Fixes - Carousel buttons for gallery in single page
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php if ( ! opalesate_check_has_add_listing( $user_id ) ): ?>
|
||||
<div class="alert alert-warning">
|
||||
<p><?php esc_html_e( 'Your package has 0 left listing, you could not add any more. Please upgrade now', 'opalestate-pro' ); ?></p>
|
||||
<p><a href="<?php echo opalmembership_get_membership_page_uri(); ?>" class="btn btn-primary"><?php esc_html_e( 'Click to this link to see plans', 'opalestate-pro' ); ?></a></p>
|
||||
<p><?php esc_html_e( 'Your package has 0 listings left, you can\'t add any more until you upgrade your plan', 'opalestate-pro' ); ?></p>
|
||||
<p><a href="<?php echo opalmembership_get_membership_page_uri(); ?>" class="btn btn-primary"><?php esc_html_e( 'Click this link to see plans', 'opalestate-pro' ); ?></a></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
@ -9,8 +9,8 @@ if ( $wp_query->max_num_pages <= 1 ) {
|
||||
}
|
||||
|
||||
$args = apply_filters( 'opalestate_pagination_args', [
|
||||
'prev_text' => __( '«' ),
|
||||
'next_text' => __( '»' ),
|
||||
'prev_text' => __( '«', 'opalestate-pro' ),
|
||||
'next_text' => __( '»', 'opalestate-pro' ),
|
||||
'type' => 'list',
|
||||
] );
|
||||
|
||||
|
@ -20,7 +20,7 @@ $args = array( 'position' => 'top', 'animation' => 'true' );
|
||||
?>
|
||||
<div class="<?php echo apply_filters('opalestate_row_container_class', 'row opal-row');?>">
|
||||
<div class="col-lg-12 col-md-12">
|
||||
<h6 class="pull-left"><?php esc_html_e("Share this:", "fullhouse"); ?></h6>
|
||||
<h6 class="pull-left"><?php esc_html_e("Share this:", "opalestate-pro"); ?></h6>
|
||||
<div class="pbr-social-share">
|
||||
<div class="bo-social-icons bo-sicolor social-radius-rounded">
|
||||
<?php if((bool)opalestate_options('facebook_share_blog',true)): ?>
|
||||
|
@ -14,10 +14,11 @@ $nonce = wp_nonce_field( 'submitted-property', 'submission_action', true );
|
||||
<div class="submission-heading text-center">
|
||||
<?php if ( ! $post_id ) : ?>
|
||||
<h1><?php esc_html_e( 'Add New Property', 'opalestate-pro' ); ?></h1>
|
||||
<p><?php esc_html_e( 'Adding a property is straight forward, we are broken it down into a few steps.' ); ?></p>
|
||||
<p><?php esc_html_e( 'Adding a property is straight forward, we are broken it down into a few steps.', 'opalestate-pro' ); ?></p>
|
||||
<?php else : ?>
|
||||
<h1><?php esc_html_e( 'Edit Property', 'opalestate-pro' ); ?></h1>
|
||||
<p><?php esc_html_e( 'Edit a property is straigh forward, we are broken it down into a few steps' ); ?></p>
|
||||
<p><?php esc_html_e( 'Edit a property is straight forward, we are broken it down into a few steps.', 'opalestate-pro' ); ?></p>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
|
@ -42,8 +42,8 @@ $messages = opalestate_get_message_by_user( $args );
|
||||
echo paginate_links( [
|
||||
'base' => add_query_arg( 'cpage', '%#%' ),
|
||||
'format' => '',
|
||||
'prev_text' => esc_html__( '«' ),
|
||||
'next_text' => esc_html__( '»' ),
|
||||
'prev_text' => esc_html__( '«', 'opalestate-pro' ),
|
||||
'next_text' => esc_html__( '»', 'opalestate-pro' ),
|
||||
'total' => ceil( $messages['total'] / $args['items_per_page'] ),
|
||||
'current' => $args['cpage'],
|
||||
] );
|
||||
|
246
test.txt
246
test.txt
@ -1,246 +0,0 @@
|
||||
= 1.6.6 - 2020-08-03 =
|
||||
* Fixes - Frontend submission form
|
||||
|
||||
= 1.6.5 - 2020-07-29 =
|
||||
* Fixes - Settings
|
||||
|
||||
= 1.6.4 - 2020-07-24 =
|
||||
* Fixes - Mortage started price
|
||||
|
||||
= 1.6.3 - 2020-07-21 =
|
||||
* Added - Login to show settings
|
||||
|
||||
= 1.6.2 - 2020-07-13 =
|
||||
* Added - Search form general setting
|
||||
|
||||
= 1.6.1 - 2020-07-07 =
|
||||
* Fixes - Property collection sort order
|
||||
|
||||
= 1.6 - 2020-06-25 =
|
||||
* Added - Related properties setting
|
||||
* Added - Nearby properties setting
|
||||
|
||||
= 1.5.9 - 2020-06-22 =
|
||||
* Added - Currency
|
||||
* Fixes - Subscriber admin bar
|
||||
|
||||
= 1.5.8 - 2020-06-18 =
|
||||
* Added - Single Preview Layout setting
|
||||
* Added - Range setting for Radius search
|
||||
* Fixes - Search selection with Custom Fields
|
||||
|
||||
= 1.5.6 - 2020-06-12 =
|
||||
* Fixes - Country select when not logged in.
|
||||
|
||||
= 1.5.5 - 2020-06-09 =
|
||||
* Fixes - Search box field for vertical form.
|
||||
|
||||
= 1.5.4 - 2020-06-05 =
|
||||
* Fixes - Search box field for vertical form.
|
||||
|
||||
= 1.5.3 - 2020-06-05 =
|
||||
* Added - Search box field for vertical form.
|
||||
|
||||
= 1.5.2 - 2020-06-04 =
|
||||
* Added - Clean Up setting.
|
||||
|
||||
= 1.5.1 - 2020-06-01 =
|
||||
* Added - Enable/Disable setting for each property.
|
||||
|
||||
= 1.5 - 2020-05-29 =
|
||||
* Added - Search properties in admin by SKU & Address.
|
||||
|
||||
= 1.4.9.5 - 2020-05-28 =
|
||||
* Fixes - Enquire email.
|
||||
|
||||
= 1.4.9.4 - 2020-05-27 =
|
||||
* Fixes - Minor bugs.
|
||||
|
||||
= 1.4.9.3 - 2020-05-25 =
|
||||
* Fixes - Swiper responsive.
|
||||
|
||||
= 1.4.9.2 - 2020-05-21 =
|
||||
* Added - Message additional information.
|
||||
* Fixes - Set feature property for customers.
|
||||
|
||||
= 1.4.9.1 - 2020-05-14 =
|
||||
* Fixes - Responsive slider.
|
||||
|
||||
= 1.4.9 - 2020-05-12 =
|
||||
* Fixes - User Dashboard.
|
||||
|
||||
= 1.4.8 - 2020-05-05 =
|
||||
* Fixes - Submission information tab.
|
||||
|
||||
= 1.4.6 - 2020-04-22 =
|
||||
* Fixes - Search queries.
|
||||
* Removed - Sticky single property sidebar.
|
||||
|
||||
= 1.4.5 - 2020-04-20 =
|
||||
* Fixes - Templates.
|
||||
|
||||
= 1.4.4 - 2020-04-17 =
|
||||
* Fixes - Feature properties in submission.
|
||||
* Added - Mortgage hooks.
|
||||
|
||||
= 1.4.3.1 - 2020-04-10 =
|
||||
* Fixes - Translate strings.
|
||||
|
||||
= 1.4.3 - 2020-04-08 =
|
||||
* Fixes - Google style in Single property page.
|
||||
* Added - Autocomplete Restrictions setting.
|
||||
|
||||
= 1.4.2.1 - 2020-03-31 =
|
||||
* Fixes - Sanitize data
|
||||
|
||||
= 1.4.2 - 2020-03-31 =
|
||||
* Fixes - Upload images in submission page
|
||||
|
||||
= 1.4.1 - 2020-03-25 =
|
||||
* Fixes - Split map AJAX
|
||||
|
||||
= 1.4.0 - 2020-03-24 =
|
||||
* Added - Search price double input
|
||||
* Fixes - Pagination AJAX for agency/agent listing
|
||||
* Fixes - Mortage range slider
|
||||
|
||||
= 1.3.9.1 - 2020-03-23 =
|
||||
* Fixes - Single agency properties load more
|
||||
|
||||
= 1.3.9 - 2020-03-17 =
|
||||
* Fixes - Pending properties review
|
||||
* Fixes - Search form default value
|
||||
|
||||
= 1.3.8 - 2020-03-05 =
|
||||
* Fixes - Missing translations
|
||||
|
||||
= 1.3.7 - 2020-03-03 =
|
||||
* Added - Display mode setting
|
||||
|
||||
= 1.3.6 - 2020-02-29 =
|
||||
* Fixes - User register form & User roles
|
||||
|
||||
= 1.3.5 - 2020-02-28 =
|
||||
* Added - Time format setting
|
||||
* Added - Hide unset amenities settings
|
||||
|
||||
= 1.3.4 - 2020-02-21 =
|
||||
* Fixes - Enquire email & Contact email
|
||||
|
||||
= 1.3.3 - 2020-02-20 =
|
||||
* Added - Required login to show Author box
|
||||
* Added - Search field settings.
|
||||
|
||||
= 1.3.2 - 2020-02-15 =
|
||||
* Fixes - Hotfix single property settings.
|
||||
|
||||
= 1.3.1 - 2020-02-14 =
|
||||
* Added - Single Property Custom Sidebar.
|
||||
|
||||
= 1.3 - 2020-02-10 =
|
||||
* Added - Expiry date column.
|
||||
|
||||
= 1.2.9.4 - 2020-02-05 =
|
||||
* Fixes - Login with Edior role.
|
||||
|
||||
= 1.2.9.3 - 2020-01-31 =
|
||||
* Fixes - Admin information fields.
|
||||
|
||||
= 1.2.9.2 - 2020-01-30 =
|
||||
* Fixes - Archive filter.
|
||||
|
||||
= 1.2.9.1 - 2020-01-13 =
|
||||
* Added - Pages settings.
|
||||
|
||||
= 1.2.9 - 2020-01-09 =
|
||||
* Added - Pages settings.
|
||||
|
||||
= 1.2.8 - 2020-01-06 =
|
||||
* Added - Pages settings.
|
||||
|
||||
= 1.2.7 - 2020-01-02 =
|
||||
* Added - Redirect to User Dashboard page after login/register setting.
|
||||
|
||||
= 1.2.6 - 2019-12-30 =
|
||||
* Fixes - Compatible WordPress version.
|
||||
|
||||
= 1.2.5 - 2019-12-13 =
|
||||
* Fixes - Slider properties.
|
||||
|
||||
= 1.2.4 - 2019-12-11 =
|
||||
* Fixes - Order properties with featured properties.
|
||||
* Fixes - Email approved.
|
||||
|
||||
= 1.2.3 - 2019-12-09 =
|
||||
* Fixes - Order properties
|
||||
* Fixes - Package template.
|
||||
|
||||
= 1.2.2 - 2019-12-06 =
|
||||
* Added - Add Accumulated listings setting for packages.
|
||||
|
||||
= 1.2.1 - 2019-12-06 =
|
||||
* Fixes - Submission property not saved.
|
||||
|
||||
= 1.2 - 2019-12-04 =
|
||||
* Fixes - Login ajax.
|
||||
* Added - Enable email settings.
|
||||
|
||||
= 1.1.9.3 - 2019-11-27 =
|
||||
* Fixes - Measurement Unit translation.
|
||||
|
||||
= 1.1.9.2 - 2019-11-18 =
|
||||
* Added - Fix API.
|
||||
* Fixes - Search query.
|
||||
* Fixes - Remove price required.
|
||||
|
||||
= 1.1.9.1 - 2019-11-08 =
|
||||
* Added - Template hooks.
|
||||
|
||||
= 1.1.9 - 2019-11-07 =
|
||||
* Fixes - Dashboard page.
|
||||
* Added - Expired properties.
|
||||
|
||||
= 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.
|
||||
|
||||
= 1.1.6 - 2019-10-26 =
|
||||
* Added - Setting information fields.
|
||||
|
||||
= 1.1.5 - 2019-10-21 =
|
||||
* Fixes - Email templates.
|
||||
|
||||
= 1.1.4 - 2019-10-17 =
|
||||
* Fixes - Properties collection pagination.
|
||||
* Fixes - Agents collection pagination.
|
||||
* Fixes - Agencies collection pagination.
|
||||
|
||||
= 1.1.3 - 2019-10-15 =
|
||||
* Fixes - Submission.
|
||||
|
||||
= 1.1.2 - 2019-10-10 =
|
||||
* Fixes - Settings.
|
||||
* Fixes - Templates.
|
||||
|
||||
= 1.0.5 - 2019-09-25 =
|
||||
* Fixes - Dashboard CSS.
|
||||
|
||||
= 1.0.4 - 2019-09-20 =
|
||||
* Fixes: Property setings.
|
||||
* Added: Search form: Collapse advanced.
|
||||
|
||||
= 1.0.2 - 2019-09-11 =
|
||||
* Fixes - Remove CLI.
|
||||
|
||||
= 1.0.1 - 2019-09-10 =
|
||||
* Fixes - Minor bugs.
|
||||
|
||||
= 1.0.0 - 2019-09-06 =
|
||||
* Release
|
Loading…
Reference in New Issue
Block a user