<?php
/**
* Page handles all the settings configuration for WP-Property. Premium features can hook into this page.
*
* Actions:
* - wpp_settings_page_property_page
* - wpp_settings_help_tab
* - wpp_settings_content_$slug
*
* Filters:
* - wpp_settings_nav
*
* @version 1.12
* @package WP-Property
* @author team@UD
* @copyright 2012 Usability Dyanmics, Inc.
*/
//** Check if premium folder is writable */
$wp_messages = WPP_F::check_premium_folder_permissions();
$object_label = array(
'singular' => WPP_F::property_label( 'singular' ),
'plural' => WPP_F::property_label( 'plural' )
);
$wrapper_classes = array('wpp_settings_page');
if(isset($_REQUEST['message'])) {
switch($_REQUEST['message']) {
case 'updated':
$wp_messages['notice'][] = __("Settings updated.", 'wpp');
break;
}
}
//** We have to update Rewrite rules here. peshkov@UD */
flush_rewrite_rules();
$parseUrl = parse_url(trim(get_bloginfo('url')));
$this_domain = trim($parseUrl['host'] ? $parseUrl['host'] : array_shift(explode('/', $parseUrl['path'], 2)));
/** Check if custom css exists */
if ( file_exists( STYLESHEETPATH . '/wp_properties.css') || file_exists( TEMPLATEPATH . '/wp_properties.css')) {
$using_custom_css = true;
}
if(get_option('permalink_structure') == '') {
$wrapper_classes[] = 'no_permalinks';
} else {
$wrapper_classes[] = 'have_permalinks';
}
?>
<script type="text/javascript">
jQuery(document).ready(function() {
//* Tabs for various UI elements */
jQuery('.wpp_subtle_tabs').tabs();
wpp_setup_default_property_page();
jQuery("#wpp_settings_base_slug").change(function() {
wpp_setup_default_property_page();
});
if( document.location.hash != '' && jQuery( document.location.hash ).length > 0 ) {
jQuery("#wpp_settings_tabs").tabs();
} else {
jQuery("#wpp_settings_tabs").tabs({ cookie: { name: 'wpp_settings_tabs', expires: 30 } });
}
// Show settings array
jQuery("#wpp_show_settings_array").click(function() {
jQuery("#wpp_show_settings_array_cancel").show();
jQuery("#wpp_show_settings_array_result").show();
});
// Hide settings array
jQuery("#wpp_show_settings_array_cancel").click(function() {
jQuery("#wpp_show_settings_array_result").hide();
jQuery(this).hide();
});
// Hide property query
jQuery("#wpp_ajax_property_query_cancel").click(function() {
jQuery("#wpp_ajax_property_result").hide();
jQuery(this).hide();
});
// Hide image query
jQuery("#wpp_ajax_image_query_cancel").click(function() {
jQuery("#wpp_ajax_image_result").hide();
jQuery(this).hide();
});
// Check plugin updates
jQuery("#wpp_ajax_check_plugin_updates").click(function() {
jQuery('.plugin_status').remove();
jQuery.post(ajaxurl, {
action: 'wpp_ajax_check_plugin_updates'
}, function(data) {
message = "<div class='plugin_status updated fade'><p>" + data + "</p></div>";
jQuery(message).insertAfter("h2");
});
});
/** Clear Cache */
jQuery("#wpp_clear_cache").click(function() {
jQuery('.clear_cache_status').remove();
jQuery.post(ajaxurl, {
action: 'wpp_ajax_clear_cache'
}, function(data) {
message = "<div class='clear_cache_status updated fade'><p>" + data + "</p></div>";
jQuery(message).insertAfter("h2");
});
});
// Revalidate all addresses
jQuery("#wpp_ajax_revalidate_all_addresses").click(function() {
jQuery(this).val('Processing...');
jQuery(this).attr('disabled', true);
jQuery('.address_revalidation_status').remove();
jQuery.post(ajaxurl, {
action: 'wpp_ajax_revalidate_all_addresses'
}, function(data) {
jQuery("#wpp_ajax_revalidate_all_addresses").val('Revalidate again');
jQuery("#wpp_ajax_revalidate_all_addresses").attr('disabled', false);
if(data.success == 'true')
message = "<div class='address_revalidation_status updated fade'><p>" + data.message + "</p></div>";
else
message = "<div class='address_revalidation_status error fade'><p>" + data.message + "</p></div>";
jQuery(message).insertAfter("h2");
}, 'json');
});
// Show property query
jQuery("#wpp_ajax_property_query").click(function() {
var property_id = jQuery("#wpp_property_class_id").val();
jQuery("#wpp_ajax_property_result").html("");
jQuery.post(ajaxurl, {
action: 'wpp_ajax_property_query',
property_id: property_id
}, function(data) {
jQuery("#wpp_ajax_property_result").show();
jQuery("#wpp_ajax_property_result").html(data);
jQuery("#wpp_ajax_property_query_cancel").show();
});
});
//** Mass set property type */
jQuery("#wpp_ajax_max_set_property_type").click(function() {
if(!confirm("<?php _e('You are about to set ALL your properties to the selected property type. Are you sure?', 'wpp'); ?>")) {
return;
}
var property_type = jQuery("#wpp_ajax_max_set_property_type_type").val();
jQuery.post(ajaxurl, {
action: 'wpp_ajax_max_set_property_type',
property_type: property_type
}, function(data) {
jQuery("#wpp_ajax_max_set_property_type_result").show();
jQuery("#wpp_ajax_max_set_property_type_result").html(data);
});
});
// Show image data
jQuery("#wpp_ajax_image_query").click(function() {
var image_id = jQuery("#wpp_image_id").val();
jQuery("#wpp_ajax_image_result").html("");
jQuery.post(ajaxurl, {
action: 'wpp_ajax_image_query',
image_id: image_id
}, function(data) {
jQuery("#wpp_ajax_image_result").show();
jQuery("#wpp_ajax_image_result").html(data);
jQuery("#wpp_ajax_image_query_cancel").show();
});
});
/** Show property query */
jQuery("#wpp_check_premium_updates").click(function() {
jQuery("#wpp_plugins_ajax_response").hide();
jQuery.post(ajaxurl, {
action: 'wpp_ajax_check_plugin_updates'
}, function(data) {
jQuery("#wpp_plugins_ajax_response").show();
jQuery("#wpp_plugins_ajax_response").html(data);
});
});
});
/* Modifies UI to reflect Default Property Page selection */
function wpp_setup_default_property_page() {
var selection = jQuery("#wpp_settings_base_slug").val();
/* Default Property Page is dynamic. */
if(selection == "property") {
jQuery(".wpp_non_property_page_settings").hide();
jQuery(".wpp_non_property_page_settings input[type=checkbox]").attr("checked", false);
jQuery(".wpp_non_property_page_settings input[type=checkbox]").attr("disabled", true);
} else {
jQuery(".wpp_non_property_page_settings").show();
jQuery(".wpp_non_property_page_settings input[type=checkbox]").attr("disabled", false);
}
}
</script>
<div class="wrap <?php echo implode(' ', $wrapper_classes); ?>">
<?php screen_icon(); ?>
<h2 class='wpp_settings_page_header'><?php echo $wp_properties['labels']['name'] . ' ' . __('Settings','wpp') ?>
<div class="wpp_fb_like">
<div class="fb-like" data-href="https://www.facebook.com/wpproperty" data-send="false" data-layout="button_count" data-width="90" data-show-faces="false"></div>
</div>
</h2>
<?php if(isset($wp_messages['error']) && $wp_messages['error']): ?>
<div class="error">
<?php foreach($wp_messages['error'] as $error_message): ?>
<p><?php echo $error_message; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php if(isset($wp_messages['notice']) && $wp_messages['notice']): ?>
<div class="updated fade">
<?php foreach($wp_messages['notice'] as $notice_message): ?>
<p><?php echo $notice_message; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<form method="post" action="<?php echo admin_url('edit.php?post_type=property&page=property_settings'); ?>" enctype="multipart/form-data" />
<?php wp_nonce_field('wpp_setting_save'); ?>
<div id="wpp_settings_tabs" class="wpp_tabs clearfix">
<ul class="tabs">
<li><a href="#tab_main"><?php _e('Main','wpp'); ?></a></li>
<li><a href="#tab_display"><?php _e('Display','wpp'); ?></a></li>
<?php
if(is_array($wp_properties['available_features'])) {
$wpp_plugin_settings_nav = apply_filters('wpp_settings_nav', array());
foreach($wp_properties['available_features'] as $plugin) {
if(@$plugin['status'] == 'disabled') {
unset($wpp_plugin_settings_nav[$plugin]);
}
}
if(is_array($wpp_plugin_settings_nav)) {
foreach($wpp_plugin_settings_nav as $nav) {
echo "<li><a href='#tab_{$nav['slug']}'>{$nav['title']}</a></li>\n";
}
}
}
?>
<?php if(count($wp_properties['available_features']) > 0): ?>
<li><a href="#tab_plugins"><?php _e('Premium Features','wpp'); ?></a></li>
<?php endif; ?>
<li><a href="#tab_troubleshooting"><?php _e('Help','wpp'); ?></a></li>
</ul>
<div id="tab_main">
<?php do_action('wpp_settings_main_top', $wp_properties); ?>
<table class="form-table">
<tr>
<th><?php _e('Feature Updates','wpp'); ?></th>
<td>
<p id="wpp_plugins_ajax_response" class="hidden"></p>
<div class="wpp_settings_block">
<input type="button" value="<?php _e('Check Updates','wpp');?>" id="wpp_ajax_check_plugin_updates" />
<?php _e('to download, or update, all premium features purchased for this domain.','wpp');?>
</div>
<?php /* if( get_option('ud_api_key') ) { ?>
<div class="wpp_settings_block">
<label><?php _e('If a feature or service requires an API Key, you may change it here:','wpp');?>
<input size="70" type="text" readonly="true" value="<?php echo get_option('ud_api_key'); ?>" />
</label>
</div>
<?php } */ ?>
</td>
</tr>
<tr>
<th><?php _e('Options','wpp'); ?></th>
<td>
<ul>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][include_in_regular_search_results]&label=" . sprintf( __('Include %1s in regular search results.', 'wpp'), $object_label['plural'] ) , $wp_properties['configuration']['include_in_regular_search_results']); ?></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][do_not_automatically_regenerate_thumbnails]&label=" . __('Disable "on-the-fly" image regeneration.', 'wpp'), $wp_properties['configuration']['do_not_automatically_regenerate_thumbnails']); ?></li>
<?php /* <li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][do_not_automatically_geo_validate_on_property_view]&label=" . __('Disable front-end "on-the-fly" address validation.', 'wpp'), $wp_properties['configuration']['do_not_automatically_geo_validate_on_property_view']); ?></li> */ ?>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][auto_delete_attachments]&label=" . __('Automatically delete all property images and attachments when a property is deleted.', 'wpp'), $wp_properties['configuration']['auto_delete_attachments']); ?></li>
</ul>
</td>
</tr>
<tr>
<th><?php printf(__('Default %1s Page', 'wpp'), $wp_properties['labels']['name']); ?></th>
<td>
<div class="must_have_permalinks">
<select name="wpp_settings[configuration][base_slug]" id="wpp_settings_base_slug">
<option <?php selected($wp_properties['configuration']['base_slug'], 'property'); ?> value="property"><?php _e('Property (Default)','wpp'); ?></option>
<?php foreach(get_pages() as $page): ?>
<option <?php selected($wp_properties['configuration']['base_slug'],$page->post_name); ?> value="<?php echo $page->post_name; ?>"><?php echo $page->post_title; ?></option>
<?php endforeach; ?>
</select>
<span wpp_scroll_to="h3.default_property_page" class="wpp_link wpp_toggle_contextual_help"><?php _e('What is this?', 'wpp'); ?></span>
</div>
<div class="must_not_have_permalinks">
<p class="description"><?php printf(__('You must have permalinks enabled to change the Default %1s page.', 'wpp'), $wp_properties['labels']['name']); ?></p>
</div>
</td>
</tr>
<tr class="wpp_non_property_page_settings hidden">
<th> </th>
<td>
<ul>
<li>
<?php echo WPP_F::checkbox('name=wpp_settings[configuration][automatically_insert_overview]&label='. __('Automatically overwrite this page\'s content with [property_overview].','wpp'), $wp_properties['configuration']['automatically_insert_overview']); ?>
</li>
<li class="wpp_wpp_settings_configuration_do_not_override_search_result_page_row <?php if($wp_properties['configuration']['automatically_insert_overview'] == 'true') echo " hidden ";?>">
<?php echo WPP_F::checkbox("name=wpp_settings[configuration][do_not_override_search_result_page]&label=" . __('When showing property search results, don\'t override the page content with [property_overview].', 'wpp'), $wp_properties['configuration']['do_not_override_search_result_page']); ?>
<div class="description"><?php _e('If checked, be sure to include [property_overview] somewhere in the content, or no properties will be displayed.','wpp'); ?></div>
</li>
</ul>
</td>
</tr>
<tr>
<th><?php printf(__('Automatic Geolocation','wpp'), WPP_F::property_label()); ?></th>
<td>
<ul>
<li><?php _e('Attribute to use for physical addresses:','wpp'); ?><?php echo WPP_F::draw_attribute_dropdown("name=wpp_settings[configuration][address_attribute]&selected={$wp_properties['configuration']['address_attribute']}"); ?></li>
<li><?php _e('Localize addresses in:','wpp'); ?> <?php echo WPP_F::draw_localization_dropdown("name=wpp_settings[configuration][google_maps_localization]&selected={$wp_properties['configuration']['google_maps_localization']}"); ?></li>
</ul>
</td>
</tr>
<tr>
<th><?php _e('Styles and Scripts','wpp'); ?></th>
<td>
<ul>
<li><?php echo $using_custom_css ? WPP_F::checkbox("name=wpp_settings[configuration][autoload_css]&label=" . __('Load default CSS. If unchecked, the wp-properties.css in your theme folder will not be loaded.','wpp'), $wp_properties['configuration']['autoload_css']) : WPP_F::checkbox("name=wpp_settings[configuration][autoload_css]&label=" . __('Load default CSS.','wpp'), $wp_properties['configuration']['autoload_css']); ?></li>
<?php if(WPP_F::has_theme_specific_stylesheet()) { ?>
<li>
<?php echo WPP_F::checkbox("name=wpp_settings[configuration][do_not_load_theme_specific_css]&label=" . __('Do not load theme-specific stylesheet.','wpp'), $wp_properties['configuration']['do_not_load_theme_specific_css']); ?>
<div class="description"><?php _e('This version of WP-Property has a stylesheet made specifically for the theme you are using.', 'wpp'); ?></div>
</li>
</li>
<?php } /* WPP_F::has_theme_specific_stylesheet() */ ?>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][load_scripts_everywhere]&label=" . __('Load WP-Property scripts on all front-end pages.','wpp'), $wp_properties['configuration']['load_scripts_everywhere']); ?></li>
</ul>
</td>
</tr>
<tr>
<th><?php _e('Default Phone Number','wpp'); ?></th>
<td><?php echo WPP_F::input("name=phone_number&label=" . __('Phone number to use when a property-specific phone number is not specified.','wpp') . "&group=wpp_settings[configuration]&style=width: 200px;", $wp_properties['configuration']['phone_number']); ?></td>
</tr>
<?php do_action('wpp_settings_main_tab_bottom', $wp_properties); ?>
</table>
</div>
<div id="tab_display">
<table class="form-table">
<tr>
<th><?php _e('Image Sizes','wpp'); ?></th>
<td>
<p><?php _e('Image sizes used throughout the plugin.','wpp'); ?> </p>
<table id="wpp_image_sizes" class="ud_ui_dynamic_table widefat">
<thead>
<tr>
<th><?php _e('Slug','wpp'); ?></th>
<th><?php _e('Width','wpp'); ?></th>
<th><?php _e('Height','wpp'); ?></th>
<th> </th>
</tr>
</thead>
<tbody>
<?php
$wpp_image_sizes = $wp_properties['image_sizes'];
foreach(get_intermediate_image_sizes() as $slug):
$slug = trim($slug);
// We return all, including images with zero sizes, to avoid default data overriding what we save
$image_dimensions = WPP_F::image_sizes($slug, "return_all=true");
// Skip images w/o dimensions
if(!$image_dimensions)
continue;
// Disable if WP not a WPP image size
if(@!is_array($wpp_image_sizes[$slug]))
$disabled = true;
else
$disabled = false;
if(!$disabled):
?>
<tr class="wpp_dynamic_table_row" slug="<?php echo $slug; ?>">
<td class="wpp_slug">
<input class="slug_setter slug wpp_slug_can_be_empty" type="text" value="<?php echo $slug; ?>" />
</td>
<td class="wpp_width">
<input type="text" name="wpp_settings[image_sizes][<?php echo $slug; ?>][width]" value="<?php echo $image_dimensions['width']; ?>" />
</td>
<td class="wpp_height">
<input type="text" name="wpp_settings[image_sizes][<?php echo $slug; ?>][height]" value="<?php echo $image_dimensions['height']; ?>" />
</td>
<td><span class="wpp_delete_row wpp_link"><?php _e('Delete','wpp') ?></span></td>
</tr>
<?php else: ?>
<tr>
<td>
<div class="wpp_permanent_image"><?php echo $slug; ?></div>
</td>
<td>
<div class="wpp_permanent_image"><?php echo $image_dimensions['width']; ?></div>
</td>
<td>
<div class="wpp_permanent_image"><?php echo $image_dimensions['height']; ?></div>
</td>
<td> </td>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</tbody>
<tfoot>
<tr>
<td colspan='4'><input type="button" class="wpp_add_row button-secondary" value="<?php _e('Add Row','wpp') ?>" /></td>
</tr>
</tfoot>
</table>
</td>
</tr>
<tr>
<th><?php _e('Overview Shortcode','wpp') ?></th>
<td>
<p>
<?php _e('These are the settings for the [property_overview] shortcode. The shortcode displays a list of all building / root properties.<br />The display settings may be edited further by customizing the <b>wp-content/plugins/wp-properties/templates/property-overview.php</b> file. To avoid losing your changes during updates, create a <b>property-overview.php</b> file in your template directory, which will be automatically loaded.','wpp') ?>
</p>
<ul>
<li><?php _e('Thumbnail size:','wpp') ?> <?php WPP_F::image_sizes_dropdown("name=wpp_settings[configuration][property_overview][thumbnail_size]&selected=" . $wp_properties['configuration']['property_overview']['thumbnail_size']); ?></li>
<li><?php echo WPP_F::checkbox('name=wpp_settings[configuration][property_overview][show_children]&label=' . __('Show children properties.','wpp'), $wp_properties['configuration']['property_overview']['show_children']); ?></li>
<li><?php echo WPP_F::checkbox('name=wpp_settings[configuration][property_overview][fancybox_preview]&label=' . __('Show larger image of property when image is clicked using fancybox.','wpp') , $wp_properties['configuration']['property_overview']['fancybox_preview']); ?></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][bottom_insert_pagenation]&label=" . __('Show pagination on bottom of results.','wpp'), $wp_properties['configuration']['bottom_insert_pagenation']); ?></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][property_overview][add_sort_by_title]&label=" . __('Add sorting by property\'s title.','wpp'), $wp_properties['configuration']['property_overview']['add_sort_by_title']); ?></li>
<?php do_action( 'wpp::settings::display::overview_shortcode' ); ?>
</ul>
</td>
</tr>
<tr>
<th><?php _e('Property Page','wpp') ?></th>
<td>
<p><?php _e('These are the settings for the [property_overview] shortcode. The shortcode displays a list of all building / root properties.<br /> The display settings may be edited further by customizing the <b>wp-content/plugins/wp-properties/templates/property.php</b> file. To avoid losing your changes during updates, create a <b>property.php</b> file in your template directory, which will be automatically loaded.','wpp') ?>
<ul>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][property_overview][sort_stats_by_groups]&label=" .__('Sort property stats by groups.','wpp'), $wp_properties['configuration']['property_overview']['sort_stats_by_groups']); ?></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][property_overview][show_true_as_image]&label=". sprintf(__('Show Checkboxed Image instead of "%s" and hide "%s" for %s/%s values','wpp'), __('Yes', 'wpp'),__('No', 'wpp'),__('Yes', 'wpp'),__('No', 'wpp')), $wp_properties['configuration']['property_overview']['show_true_as_image']); ?></li>
<?php do_action('wpp_settings_page_property_page');?>
</ul>
</td>
</tr>
<tr>
<th><?php _e('Google Maps','wpp') ?></th>
<td>
<ul>
<li><?php _e('Map Thumbnail Size:','wpp'); ?> <?php WPP_F::image_sizes_dropdown("name=wpp_settings[configuration][single_property_view][map_image_type]&selected=" . $wp_properties['configuration']['single_property_view']['map_image_type']); ?></li>
<li><?php _e('Map Zoom Level:','wpp'); ?> <?php echo WPP_F::input("name=wpp_settings[configuration][gm_zoom_level]&style=width: 30px;",$wp_properties['configuration']['gm_zoom_level']); ?></li>
<li><?php _e('Custom Latitude Coordinate','wpp'); ?>: <?php echo WPP_F::input("name=wpp_settings[custom_coords][latitude]&style=width: 100px;", $wp_properties['custom_coords']['latitude']); ?> <span class="description"><?php printf(__('Default is "%s"','wpp'), $wp_properties['default_coords']['latitude'] ); ?></span></li>
<li><?php _e('Custom Longitude Coordinate','wpp'); ?>: <?php echo WPP_F::input("name=wpp_settings[custom_coords][longitude]&style=width: 100px;", $wp_properties['custom_coords']['longitude']); ?> <span class="description"><?php printf( __('Default is "%s"','wpp'), $wp_properties['default_coords']['longitude'] ); ?></span></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][google_maps][show_true_as_image]&label=". sprintf(__('Show Checkboxed Image instead of "%s" and hide "%s" for %s/%s values','wpp'), __('Yes', 'wpp'),__('No', 'wpp'),__('Yes', 'wpp'),__('No', 'wpp')), $wp_properties['configuration']['google_maps']['show_true_as_image']); ?></li>
</ul>
<p><?php _e('Attributes to display in popup after a property on a map is clicked.', 'wpp'); ?></p>
<div class="wp-tab-panel">
<ul>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][google_maps][infobox_settings][show_property_title]&label=" . __('Show Property Title', 'wpp'), $wp_properties['configuration']['google_maps']['infobox_settings']['show_property_title']); ?></li>
<?php foreach($wp_properties['property_stats'] as $attrib_slug => $attrib_title): ?>
<li><?php
$checked = (in_array($attrib_slug, $wp_properties['configuration']['google_maps']['infobox_attributes']) ? true : false);
echo WPP_F::checkbox("id=google_maps_attributes_{$attrib_title}&name=wpp_settings[configuration][google_maps][infobox_attributes][]&label=$attrib_title&value={$attrib_slug}", $checked);
?></li>
<?php endforeach; ?>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][google_maps][infobox_settings][show_direction_link]&label=". __('Show Directions Link', 'wpp'), $wp_properties['configuration']['google_maps']['infobox_settings']['show_direction_link']); ?></li>
<li><?php echo WPP_F::checkbox("name=wpp_settings[configuration][google_maps][infobox_settings][do_not_show_child_properties]&label=". __('Do not show a list of child properties in Infobox. ', 'wpp'), $wp_properties['configuration']['google_maps']['infobox_settings']['do_not_show_child_properties']); ?></li>
</ul>
</div>
</td>
</tr>
<tr>
<th><?php _e('Address Display','wpp') ?></th>
<td>
<textarea name="wpp_settings[configuration][display_address_format]" style="width: 70%;"><?php echo $wp_properties['configuration']['display_address_format']; ?></textarea>
<br />
<span class="description">
<?php _e('Available tags:','wpp') ?> [street_number] [street_name], [city], [state], [state_code], [county], [country], [zip_code].
</span>
</td>
</tr>
<tr>
<th><?php _e('Currency & Numbers','wpp'); ?></th>
<td>
<ul>
<li><?php echo WPP_F::input("name=currency_symbol&label=".__('Currency symbol.','wpp')."&group=wpp_settings[configuration]&style=width: 50px;",$wp_properties['configuration']['currency_symbol']); ?></li>
<li>
<?php _e('Thousands separator symbol:', 'wpp'); ?>
<select name="wpp_settings[configuration][thousands_sep]">
<option value=""> - </option>
<option value="." <?php selected($wp_properties['configuration']['thousands_sep'],'.'); ?>><?php _e('. (period)', 'wpp'); ?></option>
<option value="," <?php selected($wp_properties['configuration']['thousands_sep'],','); ?>><?php _e(', (comma)', 'wpp'); ?></option>
</select>
<span class="description"><?php _e('The character separating the 1 and the 5: $1<b>,</b>500'); ?></span>
</li>
<li>
<?php _e('Currency symbol placement:', 'wpp'); ?>
<select name="wpp_settings[configuration][currency_symbol_placement]">
<option value=""> - </option>
<option value="before" <?php selected($wp_properties['configuration']['currency_symbol_placement'],'before'); ?>><?php _e('Before number', 'wpp'); ?></option>
<option value="after" <?php selected($wp_properties['configuration']['currency_symbol_placement'],'after'); ?>><?php _e('After number', 'wpp'); ?></option>
</select>
</li>
<li>
<?php echo WPP_F::checkbox("name=wpp_settings[configuration][show_aggregated_value_as_average]&label=" . __( 'Parent property\'s aggregated value should be set as average of children values. If not, - the aggregated value will be set as sum of children values.', 'wpp' ), $wp_properties['configuration']['show_aggregated_value_as_average']); ?>
<br/><span class="description"><?php _e( 'Aggregated value is set only for numeric and currency attributes and can be updated ( set ) only on child property\'s saving.', 'wpp' ); ?></span>
</li>
</ul>
</td>
</tr>
<tr>
<th>
<?php _e('Admin Settings','wpp') ?>
</th>
<td>
<ul>
<li><?php _e('Thumbnail size for property images displayed on Properties page: ','wpp') ?> <?php WPP_F::image_sizes_dropdown("name=wpp_settings[configuration][admin_ui][overview_table_thumbnail_size]&selected=" . $wp_properties['configuration']['admin_ui']['overview_table_thumbnail_size']); ?></li>
<li>
<?php echo WPP_F::checkbox("name=wpp_settings[configuration][completely_hide_hidden_attributes_in_admin_ui]&label=" . __('Completely hide hidden attributes when editing properties.', 'wpp'), $wp_properties['configuration']['completely_hide_hidden_attributes_in_admin_ui']); ?>
</li>
</ul>
</td>
</tr>
<?php do_action('wpp_settings_display_tab_bottom'); ?>
</table>
</div>
<?php
foreach( (array) $wpp_plugin_settings_nav as $nav) {
echo "<div id='tab_{$nav['slug']}'>";
do_action("wpp_settings_content_{$nav['slug']}");
echo "</div>";
}
?>
<?php if(count($wp_properties['available_features']) > 0): ?>
<div id="tab_plugins">
<table id="wpp_premium_feature_table" cellpadding="0" cellspacing="0">
<?php foreach($wp_properties['available_features'] as $plugin_slug => $plugin_data): ?>
<input type="hidden" name="wpp_settings[available_features][<?php echo $plugin_slug; ?>][title]" value="<?php echo $plugin_data['title']; ?>" />
<input type="hidden" name="wpp_settings[available_features][<?php echo $plugin_slug; ?>][tagline]" value="<?php echo $plugin_data['tagline']; ?>" />
<input type="hidden" name="wpp_settings[available_features][<?php echo $plugin_slug; ?>][image]" value="<?php echo $plugin_data['image']; ?>" />
<input type="hidden" name="wpp_settings[available_features][<?php echo $plugin_slug; ?>][description]" value="<?php echo $plugin_data['description']; ?>" />
<?php $installed = WPP_F::check_premium($plugin_slug); ?>
<?php $active = (@$wp_properties['installed_features'][$plugin_slug]['disabled'] != 'false' ? true : false); ?>
<?php if($installed): ?>
<?php /* Do this to preserve settings after page save. */ ?>
<input type="hidden" name="wpp_settings[installed_features][<?php echo $plugin_slug; ?>][disabled]" value="<?php echo $wp_properties['installed_features'][$plugin_slug]['disabled']; ?>" />
<input type="hidden" name="wpp_settings[installed_features][<?php echo $plugin_slug; ?>][name]" value="<?php echo $wp_properties['installed_features'][$plugin_slug]['name']; ?>" />
<input type="hidden" name="wpp_settings[installed_features][<?php echo $plugin_slug; ?>][version]" value="<?php echo $wp_properties['installed_features'][$plugin_slug]['version']; ?>" />
<input type="hidden" name="wpp_settings[installed_features][<?php echo $plugin_slug; ?>][description]" value="<?php echo $wp_properties['installed_features'][$plugin_slug]['description']; ?>" />
<?php endif; ?>
<tr class="wpp_premium_feature_block">
<td valign="top" class="wpp_premium_feature_image">
<a href="http://usabilitydynamics.com/products/wp-property/"><img src="<?php echo $plugin_data['image']; ?>" /></a>
</td>
<td valign="top">
<div class="wpp_box">
<div class="wpp_box_header">
<strong><?php echo $plugin_data['title']; ?></strong>
<p><?php echo $plugin_data['tagline']; ?> <a href="https://usabilitydynamics.com/products/wp-property/premium/?wp_checkout_payment_domain=<?php echo $this_domain; ?>"><?php _e('[purchase feature]','wpp') ?></a>
</p>
</div>
<div class="wpp_box_content">
<p><?php echo $plugin_data['description']; ?></p>
</div>
<div class="wpp_box_footer clearfix">
<?php if($installed) { ?>
<div class="alignleft">
<?php
if($wp_properties['installed_features'][$plugin_slug]['needs_higher_wpp_version'] == 'true') {
printf(__('This feature is disabled because it requires WP-Property %1$s or higher.'), $wp_properties['installed_features'][$plugin_slug]['minimum_wpp_version']);
} else {
echo WPP_F::checkbox("name=wpp_settings[installed_features][$plugin_slug][disabled]&label=" . __('Disable plugin.','wpp'), $wp_properties['installed_features'][$plugin_slug]['disabled']);
?>
</div>
<div class="alignright"><?php _e('Feature installed, using version','wpp') ?> <?php echo $wp_properties['installed_features'][$plugin_slug]['version']; ?>.</div>
<?php }
} else {
$pr_link = 'https://usabilitydynamics.com/products/wp-property/premium/'; echo sprintf(__('Please visit <a href="%s">UsabilityDynamics.com</a> to purchase this feature.','wpp'),$pr_link);
} ?>
</div>
</div>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
<?php endif; ?>
<div id="tab_troubleshooting">
<div class="wpp_inner_tab">
<div class="wpp_settings_block">
<label>
<?php _e('If prompted for your domain name during a premium feature purchase, enter as appears here:','wpp'); ?>
<input type="text" readonly="true" value="<?php echo $this_domain; ?>" size="<?php echo strlen( $this_domain ) + 10; ?>" />
</label>
</div>
<div class="wpp_settings_block">
<?php _e("Restore Backup of WP-Property Configuration", 'wpp'); ?>: <input name="wpp_settings[settings_from_backup]" type="file" />
<a href="<?php echo wp_nonce_url( "edit.php?post_type=property&page=property_settings&wpp_action=download-wpp-backup", 'download-wpp-backup'); ?>"><?php _e('Download Backup of Current WP-Property Configuration.', 'wpp');?></a>
</div>
<div class="wpp_settings_block">
<?php $google_map_localizations = WPP_F::draw_localization_dropdown('return_array=true'); ?>
<?php _e('Revalidate all addresses using', 'wpp'); ?> <b><?php echo $google_map_localizations[$wp_properties['configuration']['google_maps_localization']]; ?></b> <?php _e('localization', 'wpp'); ?>.
<input type="button" value="<?php _e('Revalidate','wpp');?>" id="wpp_ajax_revalidate_all_addresses">
</div>
<div class="wpp_settings_block"><?php _e('Enter in the ID of the property you want to look up, and the class will be displayed below.','wpp') ?>
<input type="text" id="wpp_property_class_id" />
<input type="button" value="<?php _e('Lookup','wpp') ?>" id="wpp_ajax_property_query"> <span id="wpp_ajax_property_query_cancel" class="wpp_link hidden"><?php _e('Cancel','wpp') ?></span>
<pre id="wpp_ajax_property_result" class="wpp_class_pre hidden"></pre>
</div>
<div class="wpp_settings_block"><?php _e('Get property image data.','wpp') ?>
<label for="wpp_image_id"><?php _e('Property ID:','wpp') ?></label>
<input type="text" id="wpp_image_id" />
<input type="button" value="<?php _e('Lookup','wpp') ?>" id="wpp_ajax_image_query"> <span id="wpp_ajax_image_query_cancel" class="wpp_link hidden"><?php _e('Cancel','wpp') ?></span>
<pre id="wpp_ajax_image_result" class="wpp_class_pre hidden"></pre>
</div>
<div class="wpp_settings_block">
<?php _e('Look up the <b>$wp_properties</b> global settings array. This array stores all the default settings, which are overwritten by database settings, and custom filters.','wpp') ?>
<input type="button" value="<?php _e('Show $wp_properties','wpp') ?>" id="wpp_show_settings_array"> <span id="wpp_show_settings_array_cancel" class="wpp_link hidden"><?php _e('Cancel','wpp') ?></span>
<pre id="wpp_show_settings_array_result" class="wpp_class_pre hidden"><?php print_r($wp_properties); ?></pre>
</div>
<div class="wpp_settings_block">
<?php _e('Clear WPP Cache. Some shortcodes and widgets use cache, so the good practice is clear it after widget, shortcode changes.','wpp') ?>
<input type="button" value="<?php _e('Clear Cache','wpp') ?>" id="wpp_clear_cache">
</div>
<div class="wpp_settings_block"><?php _e('Set all properties to same property type:','wpp') ?>
<select id="wpp_ajax_max_set_property_type_type">
<?php foreach($wp_properties['property_types'] as $p_slug => $p_label) { ?>
<option value="<?php echo $p_slug; ?>"><?php echo $p_label; ?></option>
<?php } ?>
<input type="button" value="<?php _e('Set','wpp') ?>" id="wpp_ajax_max_set_property_type">
<pre id="wpp_ajax_max_set_property_type_result" class="wpp_class_pre hidden"></pre>
</div>
<div class="wpp_settings_block">
<?php if(function_exists('memory_get_usage')): ?>
<?php _e('Memory Usage:', 'wpp'); ?> <?php echo round((memory_get_usage() / 1048576), 2); ?> megabytes.
<?php endif; ?>
<?php if(function_exists('memory_get_peak_usage')): ?>
<?php _e('Peak Memory Usage:', 'wpp'); ?> <?php echo round((memory_get_peak_usage() / 1048576), 2); ?> megabytes.
<?php endif; ?>
</div>
<?php do_action('wpp_settings_help_tab'); ?>
</div>
</div>
</div>
<br class="cb" />
<p class="wpp_save_changes_row">
<input type="submit" value="<?php _e('Save Changes','wpp');?>" class="button-primary btn" name="Submit">
</p>
</form>
</div>
<!--fb-->
<div id="fb-root"></div>
<script type="text/javascript">(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=373515126019844"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>