From d55f9a9d4ead1714b8d6364b1bff0093367ae868 Mon Sep 17 00:00:00 2001 From: Ssandro Lucifora Date: Mon, 13 May 2024 22:25:52 +0200 Subject: [PATCH] fixes and improvements --- README.txt | 181 +- assets/css/wpsight-admin-color-scheme.min.css | 511 +- assets/css/wpsight-admin-font.min.css | 27 +- assets/css/wpsight-admin-page-about.css | 207 +- assets/css/wpsight-admin-page-about.min.css | 2 +- assets/css/wpsight-admin-ui-framework.css | 182 + assets/css/wpsight-admin-ui-framework.min.css | 154 +- assets/css/wpsight-admin.css | 1492 +++--- assets/css/wpsight-admin.min.css | 3072 +----------- assets/css/wpsight-meta-boxes.min.css | 143 +- assets/css/wpsight-print.min.css | 225 +- assets/css/wpsight-rtl.min.css | 235 +- assets/css/wpsight.min.css | 775 +-- .../img/wpcasa-recommendation-shortpixel.jpg | Bin 0 -> 55834 bytes assets/js/wpsight-admin.js | 46 +- assets/js/wpsight-admin.min.js | 2 +- functions/wpsight-agents.php | 36 +- functions/wpsight-general.php | 157 +- functions/wpsight-listings.php | 36 +- functions/wpsight-search.php | 2 +- functions/wpsight-template.php | 34 +- .../class-wpsight-admin-map-ui.php | 3 + .../class-wpsight-admin-map-ui-admin.php | 37 +- includes/admin/EDD_SL_Plugin_Updater.php | 618 --- .../class-wpsight-admin-color-scheme.php | 34 +- .../admin/class-wpsight-admin-page-about.php | 587 ++- .../admin/class-wpsight-admin-page-addons.php | 4 +- .../class-wpsight-admin-page-licenses.php | 42 +- .../class-wpsight-admin-page-recommends.php | 15 +- .../class-wpsight-admin-page-settings.php | 5 +- .../admin/class-wpsight-admin-page-themes.php | 4 +- includes/admin/class-wpsight-admin.php | 181 +- includes/admin/class-wpsight-agents.php | 14 +- includes/admin/class-wpsight-cpt.php | 335 +- includes/admin/views/option-checkbox.php | 10 +- includes/admin/views/option-heading.php | 6 +- includes/admin/views/option-measurement.php | 8 +- includes/admin/views/option-multicheck.php | 8 +- includes/admin/views/option-number.php | 6 +- includes/admin/views/option-pageheading.php | 10 +- includes/admin/views/option-pages.php | 8 +- includes/admin/views/option-password.php | 6 +- includes/admin/views/option-radio.php | 8 +- includes/admin/views/option-range.php | 6 +- includes/admin/views/option-select.php | 6 +- includes/admin/views/option-text.php | 8 +- includes/admin/views/option-textarea.php | 8 +- includes/admin/views/page-tools.php | 25 +- includes/admin/views/panel-account.php | 12 +- includes/admin/views/panel-addons.php | 40 +- includes/admin/views/panel-documentation.php | 8 +- includes/admin/views/panel-newsletter.php | 13 +- includes/admin/views/panel-promo-products.php | 46 +- includes/admin/views/panel-promo-services.php | 6 +- includes/admin/views/panel-server-info.php | 43 + includes/admin/views/panel-support.php | 10 +- includes/admin/views/panel-theme.php | 28 +- includes/admin/views/panels.php | 14 +- includes/admin/views/settings-form.php | 50 +- includes/admin/views/settings.php | 4 +- includes/admin/views/sidebar.php | 10 +- includes/class-wpsight-agents.php | 17 +- includes/class-wpsight-general.php | 6 +- includes/class-wpsight-geocode.php | 6 +- includes/class-wpsight-helpers.php | 6 +- includes/class-wpsight-listings.php | 2713 ++++++----- includes/class-wpsight-meta-boxes.php | 2 +- includes/class-wpsight-post-types.php | 30 +- includes/class-wpsight-search.php | 10 +- includes/class-wpsight-template.php | 4 +- .../listings-map/assets/js/markerclusterer.js | 5 - .../assets/js/wpcasa-listings-map.js | 15 +- .../assets/js/wpcasa-listings-map.min.js | 2 +- .../class-wpsight-listings-map.php | 68 +- .../class-wpsight-listings-map-admin.php | 23 +- .../includes/listings-map-functions.php | 16 +- .../templates/listings-map-infobox.php | 6 +- .../listings-map/templates/listings-map.php | 2 + ...class-wpsight-shortcode-listing-teaser.php | 2 +- ...lass-wpsight-shortcode-listing-teasers.php | 2 +- templates/listing-archive-compare.php | 2 + templates/listing-archive-description.php | 8 +- templates/listing-archive-image.php | 2 + templates/listing-archive-info.php | 2 + templates/listing-archive-summary.php | 2 + templates/listing-archive-title.php | 2 + templates/listing-archive.php | 2 + templates/listing-no.php | 4 +- templates/listing-print.php | 17 +- templates/listing-single-after.php | 5 +- templates/listing-single-agent.php | 13 +- templates/listing-single-before.php | 5 +- templates/listing-single-description.php | 11 +- templates/listing-single-details.php | 5 +- templates/listing-single-features.php | 5 +- templates/listing-single-image.php | 5 +- templates/listing-single-info.php | 5 +- templates/listing-single-location.php | 49 +- templates/listing-single-title.php | 5 +- templates/listing-single.php | 8 +- templates/listing-teaser.php | 4 +- templates/listing-teasers-after.php | 5 +- templates/listing-teasers-before.php | 5 +- templates/listings-after.php | 5 +- templates/listings-before.php | 5 +- templates/listings-no.php | 4 +- templates/listings-pagination.php | 14 +- templates/listings-panel-links.php | 18 +- templates/listings-panel-select.php | 20 +- templates/listings-panel.php | 2 + templates/search-fields/field-checkbox.php | 3 +- templates/search-fields/field-radio.php | 3 +- templates/search-fields/field-select.php | 11 +- templates/search-fields/field-submit.php | 3 +- .../search-fields/field-taxonomy_checkbox.php | 5 +- .../search-fields/field-taxonomy_select.php | 3 +- templates/search-fields/field-text.php | 3 +- templates/search-form.php | 10 +- vendor/cmb2/cmb2/CHANGELOG.md | 22 +- vendor/cmb2/cmb2/composer.json | 53 - vendor/cmb2/cmb2/css/cmb2-display-rtl.css | 4 +- vendor/cmb2/cmb2/css/cmb2-display.css | 4 +- vendor/cmb2/cmb2/css/cmb2-front-rtl.css | 4 +- vendor/cmb2/cmb2/css/cmb2-front.css | 4 +- vendor/cmb2/cmb2/css/cmb2-front.css.map | 7 - vendor/cmb2/cmb2/css/cmb2-rtl.css | 4 +- vendor/cmb2/cmb2/css/cmb2.css | 4 +- vendor/cmb2/cmb2/css/cmb2.css.map | 7 - vendor/cmb2/cmb2/css/sass/cmb2-display.scss | 1 - vendor/cmb2/cmb2/css/sass/cmb2-front.scss | 15 - vendor/cmb2/cmb2/css/sass/cmb2.scss | 13 - vendor/cmb2/cmb2/css/sass/index.php | 2 - .../cmb2/css/sass/partials/_char_counter.scss | 28 - .../css/sass/partials/_collapsible_ui.scss | 56 - .../css/sass/partials/_context_metaboxes.scss | 111 - .../cmb2/cmb2/css/sass/partials/_display.scss | 34 - .../cmb2/cmb2/css/sass/partials/_front.scss | 60 - .../cmb2/css/sass/partials/_jquery_ui.scss | 457 -- .../cmb2/css/sass/partials/_main_wrap.scss | 533 --- vendor/cmb2/cmb2/css/sass/partials/_misc.scss | 29 - .../cmb2/cmb2/css/sass/partials/_mixins.scss | 51 - .../cmb2/css/sass/partials/_new_term.scss | 31 - .../cmb2/css/sass/partials/_options-page.scss | 71 - .../css/sass/partials/_post_metaboxes.scss | 84 - .../sass/partials/_sidebar_placements.scss | 146 - .../cmb2/css/sass/partials/_variables.scss | 26 - vendor/cmb2/cmb2/css/sass/partials/index.php | 2 - vendor/cmb2/cmb2/includes/CMB2_Field.php | 7 +- vendor/cmb2/cmb2/includes/CMB2_Sanitize.php | 95 +- vendor/cmb2/cmb2/includes/CMB2_Utils.php | 35 +- .../includes/types/CMB2_Type_Multi_Base.php | 2 +- vendor/cmb2/cmb2/init.php | 20 +- vendor/cmb2/cmb2/js/cmb2.js | 178 +- vendor/cmb2/cmb2/js/cmb2.min.js | 2 +- vendor/cmb2/cmb2/languages/cmb2.pot | 108 +- vendor/cmb2/cmb2/package-lock.json | 4218 ----------------- vendor/cmb2/cmb2/readme.txt | 54 +- wpcasa.php | 562 ++- 158 files changed, 4858 insertions(+), 15306 deletions(-) create mode 100644 assets/img/wpcasa-recommendation-shortpixel.jpg delete mode 100644 includes/admin/EDD_SL_Plugin_Updater.php create mode 100644 includes/admin/views/panel-server-info.php delete mode 100644 vendor/cmb2/cmb2/composer.json delete mode 100644 vendor/cmb2/cmb2/css/cmb2-front.css.map delete mode 100755 vendor/cmb2/cmb2/css/cmb2.css.map delete mode 100644 vendor/cmb2/cmb2/css/sass/cmb2-display.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/cmb2-front.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/cmb2.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/index.php delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_char_counter.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_collapsible_ui.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_context_metaboxes.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_display.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_front.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_jquery_ui.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_main_wrap.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_misc.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_mixins.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_new_term.scss delete mode 100644 vendor/cmb2/cmb2/css/sass/partials/_options-page.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_post_metaboxes.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_sidebar_placements.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/_variables.scss delete mode 100755 vendor/cmb2/cmb2/css/sass/partials/index.php delete mode 100644 vendor/cmb2/cmb2/package-lock.json diff --git a/README.txt b/README.txt index d3732c4..ec1f8db 100644 --- a/README.txt +++ b/README.txt @@ -1,12 +1,13 @@ === WPCasa === -Contributors: wpsight, joehana, codestylist -Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7EVKNVA7QFXZ8 +Contributors: wpsight, kybernetikservices, mrinal013 +Plugin URI: https://wordpress.org/plugins/wpcasa/ +Donate link: https://www.paypal.com/donate/?hosted_button_id=SYJNVSP2BKTQ4 Tags: real estate, realestate, agency, agent, directory, house, listing, listings, property, properties, property management, realtor, wpcasa -Requires at least: 5.0 -Tested up to: 5.8 -Stable tag: 1.2.8 +Requires at least: 6.2 +Tested up to: 6.5 +Stable tag: 1.2.11 License: GPLv2 or later -License URI: http://www.gnu.org/licenses/gpl-2.0.html +License URI: https://www.gnu.org/licenses/gpl-2.0.html Flexible WordPress plugin to create professional real estate websites and manage property listings with ease. @@ -15,11 +16,11 @@ Flexible WordPress plugin to create professional real estate websites and manage WPCasa is a **real estate** WordPress solution that provides an intuitive way to manage property listings and create first-class real estate websites. No coding required. * Website: [wpcasa.com](https://wpcasa.com) -* Demo: [demo.wpcasa.com](http://demo.wpcasa.com) -* Documentation: [docs.wpcasa.com](http://docs.wpcasa.com/) +* Demo: [try.wpcasa.com](https://try.wpcasa.com) +* Documentation: [docs.wpcasa.com](https://docs.wpcasa.com/) * Add-Ons: [wpcasa.com/add-ons](https://wpcasa.com/add-ons) * Themes: [wpcasa.com/themes](https://wpcasa.com/themes) -* Github: [github.com/wpsight/wpcasa](https://github.com/wpsight/wpcasa) +* GitHub: [github.com/wpsight/wpcasa](https://github.com/wpsight/wpcasa) > Have a look at our latest themes [WPCasa Madrid](https://wpcasa.com/downloads/wpcasa-madrid), [WPCasa Oslo](https://wpcasa.com/downloads/wpcasa-oslo/) and [WPCasa London](https://wpcasa.com/downloads/wpcasa-london). @@ -30,7 +31,7 @@ WPCasa fully integrates with the familiar and easy-to-use interface that ships w = Flexible & Extendable = -With our custom themes and add-ons you can modularly create a powerful real estate tool tailored to your special needs. +With our custom themes and add-ons you can create modular a powerful real estate tool tailored to your special needs. = Advanced Property Search = @@ -65,16 +66,16 @@ The real estate business is international. And so is WPCasa. The framework and a = Translations = -* German (de_DE): [Simon Rimkus](http://wpsight.com) +* German (de_DE): [Simon Rimkus](https://wpsight.com) * German - Formal (de_DE_formal): [Kybernetik Services](https://www.kybernetik-services.com/?utm_source=wordpress_org&utm_medium=plugin&utm_campaign=wpcasa&utm_content=readme) -* Spanish (es_ES): [Simon Rimkus](http://wpsight.com) +* Spanish (es_ES): [Simon Rimkus](https://wpsight.com) * French (fr_FR): [Guido Sommer](https://aiximmo.ch/) -* Portuguese (pt_BR): [Walter Barcelos](http://walterbarcelos.com), [Leonardo Lima de Vasconcellos](https://www.devhouse.com.br/) +* Portuguese (pt_BR): [Walter Barcelos](https://walterbarcelos.com), [Leonardo Lima de Vasconcellos](https://www.devhouse.com.br/) * Italian (it_IT): [Laura Vanoni](www.simboliweb.it), [Nicola Turato](https://www.linkedin.com/in/nicolaturato), [Andrea Manzato] -* Dutch (nl_NL): [Dennis Onstenk](http://citymakelaardij.nl) -* Croatian (hr_HR): [Danijel Cukarić](http://pistacio.hr) -* Russian (ru_RU): [Systemo](http://systemo.biz) -* Romanian (ro_RO): [Adrian Mocanu](http://www.bitopia.ro) +* Dutch (nl_NL): [Dennis Onstenk](https://citymakelaardij.nl) +* Croatian (hr_HR): [Danijel Cukarić](https://pistacio.hr) +* Russian (ru_RU): [Systemo](https://systemo.biz) +* Romanian (ro_RO): [Adrian Mocanu](https://www.bitopia.ro) * Slovak (sk_SK): [Jana Mičeková](https://www.jmsupport.sk) * Farsi (fa_IR): Kim @@ -119,9 +120,9 @@ If you prefer to install the plugin manually, you need to download it to your lo = Getting Started = -Once you have installed and activated WPCasa you will find a new page called "Listings" with the `[wpsight_listings]` shortcode. Add your listings on _WP-Admin > Listings > Add New_ and they will be listed on that page. +Once you have installed and activated WPCasa you will find a new page called "Listings" with the `[wpsight_listings]` shortcode. Add your listings on _WP-Admin > Listings > Add New, and they will be listed on that page. -For more information about how to get started please [read our documentation](http://docs.wpsight.com/). +For more information about how to get started please [read our documentation](https://docs.wpsight.com/). == Frequently Asked Questions == @@ -134,7 +135,7 @@ For more information about how to get started please [read our documentation](ht * `[wpsight_listing_teaser]`: Displays a single property teaser * `[wpsight_listings_map]`: Displays a Map with all your listings as markers if they have a location assigned -For more information about shortcodes please [read our documentation](http://docs.wpcasa.com/article/shortcodes/). +For more information about shortcodes please [read our documentation](https://docs.wpcasa.com/article/shortcodes/). = Where can I change currency, measurements etc.? = @@ -142,11 +143,21 @@ You can fit general plugin settings to your needs on _WP-Admin > WPCasa > Settin = Is WPCasa free? = -Yes, the core features are free. Additionally we offer free and paid add-ons and themes exclusively built for WPCasa. +Yes, the core features are free. Additionally, we offer free and paid add-ons and themes exclusively built for WPCasa. + += Do you use of a 3rd Party or external service? = + +We do not use any 3rd Party providers or external services, but on the backend pages `WPCasa > Add-Ons`, `WPCasa > Themes` and `WPCasa > Licenses` we load some information from our URL wpcasa.com. This is just to provide you with the latest information for further downloads. So that you have the opportunity to adapt WPCasa to your needs. We do not collect personal information or track your behavior. It's just about providing you with better service. If you do not want this, please do not open the mentioned pages! WPCasa also works without you having to visit the sites. + += Why do you use external services like Google? = + +We do call Google services for two reasons: +1.) When you view the listing map where we have placed the listings on it. For this you have to add your Google Maps key. +2.) When you print a listing, we add a QR code on the last page. This is generated by chart.apis.google.com. = How can I contribute? = -If you find WPCasa an interesting project, please feel free to have a look at our [Github repo](https://github.com/wpsight/wpcasa). +If you find WPCasa an interesting project, please feel free to have a look at our [GitHub repo](https://github.com/wpsight/wpcasa). == Screenshots == @@ -158,26 +169,63 @@ If you find WPCasa an interesting project, please feel free to have a look at ou 6. Plugin settings 7. Property Management -== Contributions == +== Contributors == This is a list of contributors to WPCasa. Many thanks to all of them for contributing and making WPCasa even better. -[Fabian Marz](https://github.com/fabianmarz) +[Mrinal Haque](https://profiles.wordpress.org/mrinal013/) +[Kybernetik Services](https://www.kybernetik-services.com/?utm_source=wordpress_org&utm_medium=plugin&utm_campaign=wpcasa&utm_content=readme) +[Joe Hana](https://wordpress.org/support/users/joehana/) +[Fabian Marz](https://github.com/fabianmarz) +[codestylist](https://wordpress.org/support/users/codestylist/) [Luiz Bills](https://github.com/luizbills) -[Walter Barcelos](http://walterbarcelos.com) +[Walter Barcelos](https://walterbarcelos.com) [Leonardo Lima de Vasconcellos](https://www.devhouse.com.br/) [Laura Vanoni](www.simboliweb.it) [Nicola Turato](https://www.linkedin.com/in/nicolaturato) [Andrea Manzato] -[Danijel Cukarić](http://pistacio.hr) -[Dennis Onstenk](http://citymakelaardij.nl) -[Systemo](http://systemo.biz) -[Adrian Mocanu](http://www.bitopia.ro) +[Danijel Cukarić](https://pistacio.hr) +[Dennis Onstenk](https://citymakelaardij.nl) +[Systemo](https://systemo.biz) +[Adrian Mocanu](https://www.bitopia.ro) [Jana Mičeková](https://www.jmsupport.sk) [Simon Rimkus](https://github.com/simonrimkus) -[Kybernetik Services](https://www.kybernetik-services.com/?utm_source=wordpress_org&utm_medium=plugin&utm_campaign=wpcasa&utm_content=readme) == Changelog == += 1.2.11 = +* NEW: Added upgrade notice on WordPress plugin page +* TWEAK: Updated plugin header with file-level PHPDoc DocBlock +* TWEAK: Ensure compatibility with WordPress 6.5 +* FIX: Listing Map settings didn't save new value +* FIX: In some cases, toggling the Listing Map link did not work +* FIX: Removed unwanted extra character after description on listing single page + += 1.2.10.1 = +* FIX: Search form stopped working for some non-WPCasa themes + += 1.2.10 = +* FIX: Improved title escaping for compatibility with [WPCasa Listing Labels](https://wpcasa.com/downloads/wpcasa-listing-labels/) +* FIX: Load WPCasa CSS on all pages, not just on the single listing pages +* TWEAK: Minimization of all CSS to improve the loading speed of the page + += 1.2.9.2 = +* FIX: Improved html escaping on listing page for compatibility with [WPCasa Listing Labels](https://wpcasa.com/downloads/wpcasa-listing-labels/) + += 1.2.9.1 = +* FIX: Additional classes for listings were no longer taken into account + += 1.2.9 = +* TWEAK: Fixed guideline violation +* TWEAK: Optimized code base +* TWEAK: Bumped required WordPress version to 6.2 +* TWEAK: Removed server info panel in favor of Site Health tools +* TWEAK: Improved speed of database query to get listings +* TWEAK: Improved WPCasa about page +* FIX: Listing filter with 'wpsight_exclude_unavailable' stopped working +* FIX: Issue of not assigning default value after activation in checkbox +* FIX: Apply and separate listing map default +* UPDATE: Updated cmb2 to 2.10.1 + = 1.2.8 - 2021/10/28 = * TWEAK: Optimized code base @@ -190,43 +238,42 @@ Many thanks to all of them for contributing and making WPCasa even better. * NEW: Added German Formal Translation * NEW: Added filter wpsight_listing_text_not_available to customize the informal text when a listing is not available * TWEAK: Improved embedment of previously integrated functionality from WPCasa Listings Map and WPCasa Admin Map UI -* TWEAK: Improved data escaping * TWEAK: Data for Javascript gets now provided through wp_add_inline_script instead of wp_localize_script +* TWEAK: Improved data escaping * UPDATE: Updated swiper.js to 6.7.5 -= 1.2.5 = -* Fixed admin license page issue -* Ensure compatibility with latest version of WordPress - -= 1.2.4 = -* Fixed licenses activation - -= 1.2.3 = -* Add ability to disable listing map displaying - -= 1.2.2 = -* Fixed reinitialize map coordinates in some cases when dev mode is true - -= 1.2.1 = -* Fixed map functionality after deleting WPCasa Listing Map plugin - -= 1.2.0 = -* Tested up to WordPress 5.3.2 -* Completely changed admin ui -* Improved license algorithm -* Updated file/folder structure -* Ability to restore settings to default -* Ability to delete all data -* Improved map searching algorithm -* Multiple plugin activation -* Added recommends items -* Fixed bulk listing edit -* Update CMB2 version from 2.1.2 to 2.6.0 -* Integration of WPCasa Admin Map UI -* Integration of WPCasa Listings Map - - -= 1.1.0 = += 1.2.5 - 2021/02/09 = +* FIX: Fixed admin license page issue +* TWEAK: Ensure compatibility with latest version of WordPress + += 1.2.4 - 2020/05/26 = +* FIX: Fixed licenses activation + += 1.2.3 - 2020/04/01 = +* TWEAK: Add ability to disable listing map displaying + += 1.2.2 - 2020/03/31 = +* FIX: Fixed reinitialize map coordinates in some cases when dev mode is true + += 1.2.1 - 2020/03/23 = +* FIX: Fixed map functionality after deleting WPCasa Listing Map plugin + += 1.2.0 - 2020/03/20 = +* NEW: Complete revamp of the WPCasa Admin UI +* NEW: Integration of WPCasa Admin Map UI +* NEW: Integration of WPCasa Listings Map +* NEW: Ability to restore settings to default +* NEW: Ability to delete all data +* NEW: Added recommends items +* TWEAK: Improved license algorithm +* TWEAK: Updated file/folder structure +* TWEAK: Improved map searching algorithm +* TWEAK: Multiple plugin activation +* TWEAK: Tested up to WordPress 5.3.2 +* FIX: Fixed bulk listing edit +* UPDATE: Update CMB2 to 2.6.0 + += 1.1.0 - 2019/09/02 = * Tested up to WordPress 5.2 * Added Italian Translation * Added French Translation @@ -299,8 +346,4 @@ Many thanks to all of them for contributing and making WPCasa even better. = 1.0.0 = * Initial release -== Upgrade Notice == - -= 1.1.0 = -* Tested up to WordPress 5.2 -* Improved PHP Compatibility +== Upgrade Notice == \ No newline at end of file diff --git a/assets/css/wpsight-admin-color-scheme.min.css b/assets/css/wpsight-admin-color-scheme.min.css index 2bc3e61..00c5136 100644 --- a/assets/css/wpsight-admin-color-scheme.min.css +++ b/assets/css/wpsight-admin-color-scheme.min.css @@ -1,510 +1 @@ -/* - * Button mixin- creates 3d-ish button effect with correct - * highlights/shadows, based on a base color. - */ -body { - background: #f1f1f1; -} - -/* Links */ -a { - color: #0073aa; -} - -a:hover, a:active, a:focus { - color: #0096dd; -} - -#media-upload a.del-link:hover, -div.dashboard-widget-submit input:hover, -.subsubsub a:hover, -.subsubsub a.current:hover { - color: #0096dd; -} - -/* Forms */ -input[type=checkbox]:checked:before { - color: #12AE8F; -} - -input[type=radio]:checked:before { - background: #12AE8F; -} - -.wp-core-ui input[type="reset"]:hover, -.wp-core-ui input[type="reset"]:active { - color: #0096dd; -} - -/* Core UI */ -.wp-core-ui .button-primary { - background: #12AE8F; - border-color: #0F8E75; - color: #fff; - -webkit-box-shadow: 0 1px 0 #0F8E75; - box-shadow: 0 1px 0 #0F8E75; - text-shadow: 0 -1px 1px #0F8E75, 1px 0 1px #0F8E75, 0 1px 1px #0F8E75, -1px 0 1px #0F8E75; -} - -.wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus { - background: #0F8E75; - border-color: #0F8E75; - color: #fff; - -webkit-box-shadow: 0 1px 0 #0F8E75; - box-shadow: 0 1px 0 #0F8E75; -} - -.wp-core-ui .button-primary:focus { - -webkit-box-shadow: inset 0 1px 0 #0F8E75, 0 0 2px 1px #0F8E75; - box-shadow: inset 0 1px 0 #0F8E75, 0 0 2px 1px #0F8E75; -} - -.wp-core-ui .button-primary:active { - background: #0F8E75; - border-color: #0F8E75; - -webkit-box-shadow: inset 0 2px 0 #0F8E75; - box-shadow: inset 0 2px 0 #0F8E75; -} - -.wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled { - color: #CCC !important; - background: #109C80 !important; - border-color: #0D8069 !important; - text-shadow: none !important; -} - -.wp-core-ui .button-primary.button-hero { - -webkit-box-shadow: 0 2px 0 #ba281e !important; - box-shadow: 0 2px 0 #ba281e !important; -} - -.wp-core-ui .button-primary.button-hero:active { - -webkit-box-shadow: inset 0 3px 0 #ba281e !important; - box-shadow: inset 0 3px 0 #ba281e !important; -} - -.wp-core-ui .wp-ui-primary { - color: #fff; - background-color: #363b3f; -} - -.wp-core-ui .wp-ui-text-primary { - color: #363b3f; -} - -.wp-core-ui .wp-ui-highlight { - color: #fff; - background-color: #12AE8F; -} - -.wp-core-ui .wp-ui-text-highlight { - color: #12AE8F; -} - -.wp-core-ui .wp-ui-notification { - color: #fff; - background-color: #0F8E75; -} - -.wp-core-ui .wp-ui-text-notification { - color: #0F8E75; -} - -.wp-core-ui .wp-ui-text-icon { - color: #f1f2f3; -} - -/* List tables */ -.wrap .add-new-h2:hover, -.wrap .page-title-action:hover, -.tablenav .tablenav-pages a:hover, -.tablenav .tablenav-pages a:focus { - color: #fff; - background-color: #363b3f; -} - -.view-switch a.current:before { - color: #363b3f; -} - -.view-switch a:hover:before { - color: #0F8E75; -} - -/* Admin Menu */ -#adminmenuback, -#adminmenuwrap, -#adminmenu { - background: #363b3f; -} - -#adminmenu a { - color: #fff; -} - -#adminmenu div.wp-menu-image:before { - color: #f1f2f3; -} - -#adminmenu a:hover, -#adminmenu li.menu-top:hover, -#adminmenu li.opensub > a.menu-top, -#adminmenu li > a.menu-top:focus { - color: #fff; - background-color: #12AE8F; -} - -#adminmenu li.menu-top:hover div.wp-menu-image:before, -#adminmenu li.opensub > a.menu-top div.wp-menu-image:before { - color: #fff; -} - -/* Active tabs use a bottom border color that matches the page background color. */ -.about-wrap h2 .nav-tab-active, -.nav-tab-active, -.nav-tab-active:hover { - background-color: #f1f1f1; - border-bottom-color: #f1f1f1; -} - -/* Admin Menu: submenu */ -#adminmenu .wp-submenu, -#adminmenu .wp-has-current-submenu .wp-submenu, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu, -.folded #adminmenu .wp-has-current-submenu .wp-submenu, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu { - background: #26292c; -} - -#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after { - border-right-color: #26292c; -} - -#adminmenu .wp-submenu .wp-submenu-head { - color: #c3c4c5; -} - -#adminmenu .wp-submenu a, -#adminmenu .wp-has-current-submenu .wp-submenu a, -.folded #adminmenu .wp-has-current-submenu .wp-submenu a, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu a { - color: #c3c4c5; -} - -#adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, -#adminmenu .wp-has-current-submenu .wp-submenu a:focus, -#adminmenu .wp-has-current-submenu .wp-submenu a:hover, -.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, -.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover { - color: #12AE8F; -} - -/* Admin Menu: current */ -#adminmenu .wp-submenu li.current a, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a { - color: #fff; -} - -#adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, -#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, -#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus { - color: #12AE8F; -} - -ul#adminmenu a.wp-has-current-submenu:after, -ul#adminmenu > li.current > a.current:after { - border-right-color: #f1f1f1; -} - -#adminmenu li.current a.menu-top, -#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, -#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, -.folded #adminmenu li.current.menu-top { - color: #fff; - background: #12AE8F; -} - -#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, -#adminmenu a.current:hover div.wp-menu-image:before, -#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, -#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, -#adminmenu li:hover div.wp-menu-image:before, -#adminmenu li a:focus div.wp-menu-image:before, -#adminmenu li.opensub div.wp-menu-image:before, -.ie8 #adminmenu li.opensub div.wp-menu-image:before { - color: #fff; -} - -/* Admin Menu: bubble */ -#adminmenu .awaiting-mod, -#adminmenu .update-plugins { - color: #fff; - background: #0F8E75; -} - -#adminmenu li.current a .awaiting-mod, -#adminmenu li a.wp-has-current-submenu .update-plugins, -#adminmenu li:hover a .awaiting-mod, -#adminmenu li.menu-top:hover > a .update-plugins { - color: #fff; - background: #26292c; -} - -/* Admin Menu: collapse button */ -#collapse-button { - color: #f1f2f3; -} - -#collapse-button:hover, -#collapse-button:focus { - color: #12AE8F; -} - -/* Admin Bar */ -#wpadminbar { - color: #fff; - background: #363b3f; -} - -#wpadminbar .ab-item, -#wpadminbar a.ab-item, -#wpadminbar > #wp-toolbar span.ab-label, -#wpadminbar > #wp-toolbar span.noticon { - color: #fff; -} - -#wpadminbar .ab-icon, -#wpadminbar .ab-icon:before, -#wpadminbar .ab-item:before, -#wpadminbar .ab-item:after { - color: #f1f2f3; -} - -#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item, -#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus, -#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus, -#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item, -#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item { - color: #12AE8F; - background: #26292c; -} - -#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label, -#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label, -#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label { - color: #12AE8F; -} - -#wpadminbar:not(.mobile) li:hover .ab-icon:before, -#wpadminbar:not(.mobile) li:hover .ab-item:before, -#wpadminbar:not(.mobile) li:hover .ab-item:after, -#wpadminbar:not(.mobile) li:hover #adminbarsearch:before { - color: #fff; -} - -/* Admin Bar: submenu */ -#wpadminbar .menupop .ab-sub-wrapper { - background: #26292c; -} - -#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, -#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu { - background: #4c4c4d; -} - -#wpadminbar .ab-submenu .ab-item, -#wpadminbar .quicklinks .menupop ul li a, -#wpadminbar .quicklinks .menupop.hover ul li a, -#wpadminbar.nojs .quicklinks .menupop:hover ul li a { - color: #c3c4c5; -} - -#wpadminbar .quicklinks li .blavatar, -#wpadminbar .menupop .menupop > .ab-item:before { - color: #f1f2f3; -} - -#wpadminbar .quicklinks .menupop ul li a:hover, -#wpadminbar .quicklinks .menupop ul li a:focus, -#wpadminbar .quicklinks .menupop ul li a:hover strong, -#wpadminbar .quicklinks .menupop ul li a:focus strong, -#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover > a, -#wpadminbar .quicklinks .menupop.hover ul li a:hover, -#wpadminbar .quicklinks .menupop.hover ul li a:focus, -#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, -#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, -#wpadminbar li:hover .ab-icon:before, -#wpadminbar li:hover .ab-item:before, -#wpadminbar li a:focus .ab-icon:before, -#wpadminbar li .ab-item:focus:before, -#wpadminbar li .ab-item:focus .ab-icon:before, -#wpadminbar li.hover .ab-icon:before, -#wpadminbar li.hover .ab-item:before, -#wpadminbar li:hover #adminbarsearch:before, -#wpadminbar li #adminbarsearch.adminbar-focused:before { - color: #12AE8F; -} - -#wpadminbar .quicklinks li a:hover .blavatar, -#wpadminbar .quicklinks li a:focus .blavatar, -#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover > a .blavatar, -#wpadminbar .menupop .menupop > .ab-item:hover:before, -#wpadminbar.mobile .quicklinks .ab-icon:before, -#wpadminbar.mobile .quicklinks .ab-item:before { - color: #12AE8F; -} - -#wpadminbar.mobile .quicklinks .hover .ab-icon:before, -#wpadminbar.mobile .quicklinks .hover .ab-item:before { - color: #f1f2f3; -} - -/* Admin Bar: search */ -#wpadminbar #adminbarsearch:before { - color: #f1f2f3; -} - -#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus { - color: #fff; - background: #464d52; -} - -/* Admin Bar: my account */ -#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img { - border-color: #464d52; - background-color: #464d52; -} - -#wpadminbar #wp-admin-bar-user-info .display-name { - color: #fff; -} - -#wpadminbar #wp-admin-bar-user-info a:hover .display-name { - color: #12AE8F; -} - -#wpadminbar #wp-admin-bar-user-info .username { - color: #c3c4c5; -} - -/* Pointers */ -.wp-pointer .wp-pointer-content h3 { - background-color: #12AE8F; - border-color: #dd382d; -} - -.wp-pointer .wp-pointer-content h3:before { - color: #12AE8F; -} - -.wp-pointer.wp-pointer-top .wp-pointer-arrow, -.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, -.wp-pointer.wp-pointer-undefined .wp-pointer-arrow, -.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner { - border-bottom-color: #12AE8F; -} - -/* Media */ -.media-item .bar, -.media-progress-bar div { - background-color: #12AE8F; -} - -.details.attachment { - -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #12AE8F; - box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #12AE8F; -} - -.attachment.details .check { - background-color: #12AE8F; - -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #12AE8F; - box-shadow: 0 0 0 1px #fff, 0 0 0 2px #12AE8F; -} - -.media-selection .attachment.selection.details .thumbnail { - -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #12AE8F; - box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #12AE8F; -} - -/* Themes */ -.theme-browser .theme.active .theme-name, -.theme-browser .theme.add-new-theme a:hover:after, -.theme-browser .theme.add-new-theme a:focus:after { - background: #12AE8F; -} - -.theme-browser .theme.add-new-theme a:hover span:after, -.theme-browser .theme.add-new-theme a:focus span:after { - color: #12AE8F; -} - -.theme-section.current, -.theme-filter.current { - border-bottom-color: #363b3f; -} - -body.more-filters-opened .more-filters { - color: #fff; - background-color: #363b3f; -} - -body.more-filters-opened .more-filters:before { - color: #fff; -} - -body.more-filters-opened .more-filters:hover, -body.more-filters-opened .more-filters:focus { - background-color: #12AE8F; - color: #fff; -} - -body.more-filters-opened .more-filters:hover:before, -body.more-filters-opened .more-filters:focus:before { - color: #fff; -} - -/* Widgets */ -.widgets-chooser li.widgets-chooser-selected { - background-color: #12AE8F; - color: #fff; -} - -.widgets-chooser li.widgets-chooser-selected:before, -.widgets-chooser li.widgets-chooser-selected:focus:before { - color: #fff; -} - -/* Responsive Component */ -div#wp-responsive-toggle a:before { - color: #f1f2f3; -} - -.wp-responsive-open div#wp-responsive-toggle a { - border-color: transparent; - background: #12AE8F; -} - -.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a { - background: #26292c; -} - -.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before { - color: #f1f2f3; -} - -/* TinyMCE */ -.mce-container.mce-menu .mce-menu-item:hover, -.mce-container.mce-menu .mce-menu-item.mce-selected, -.mce-container.mce-menu .mce-menu-item:focus, -.mce-container.mce-menu .mce-menu-item-normal.mce-active, -.mce-container.mce-menu .mce-menu-item-preview.mce-active { - background: #12AE8F; -} +#adminmenu,#adminmenuback,#adminmenuwrap,#wpadminbar{background:#363b3f}body{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,#collapse-button:focus,#collapse-button:hover,#wpadminbar #wp-admin-bar-user-info a:hover .display-name,#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover>a,#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover>a .blavatar,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:focus .blavatar,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#wpadminbar li .ab-item:focus .ab-icon:before,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-core-ui .wp-ui-text-highlight,.wp-pointer .wp-pointer-content h3:before,input[type=checkbox]:checked:before{color:#12ae8f}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover,.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after,input[type=radio]:checked:before{background:#12ae8f}.wp-core-ui .button-primary{background:#12ae8f;border-color:#0f8e75;color:#fff;-webkit-box-shadow:0 1px 0 #0f8e75;box-shadow:0 1px 0 #0f8e75;text-shadow:0 -1px 1px #0f8e75,1px 0 1px #0f8e75,0 1px 1px #0f8e75,-1px 0 1px #0f8e75}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0f8e75;border-color:#0f8e75;color:#fff;-webkit-box-shadow:0 1px 0 #0f8e75;box-shadow:0 1px 0 #0f8e75}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #0f8e75,0 0 2px 1px #0f8e75;box-shadow:inset 0 1px 0 #0f8e75,0 0 2px 1px #0f8e75}.wp-core-ui .button-primary:active{background:#0f8e75;border-color:#0f8e75;-webkit-box-shadow:inset 0 2px 0 #0f8e75;box-shadow:inset 0 2px 0 #0f8e75}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#ccc!important;background:#109c80!important;border-color:#0d8069!important;text-shadow:none!important}.wp-core-ui .button-primary.button-hero{-webkit-box-shadow:0 2px 0 #ba281e!important;box-shadow:0 2px 0 #ba281e!important}.wp-core-ui .button-primary.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #ba281e!important;box-shadow:inset 0 3px 0 #ba281e!important}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wp-core-ui .wp-ui-primary,.wrap .add-new-h2:hover,.wrap .page-title-action:hover,body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}.view-switch a.current:before,.wp-core-ui .wp-ui-text-primary{color:#363b3f}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus,.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#12ae8f}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#0f8e75}.view-switch a:hover:before,.wp-core-ui .wp-ui-text-notification{color:#0f8e75}#adminmenu div.wp-menu-image:before,#collapse-button,#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before,.wp-core-ui .wp-ui-text-icon,.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f1f2f3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon,.ie8 #adminmenu li.opensub div.wp-menu-image:before,.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before,body.more-filters-opened .more-filters:before,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#wpadminbar .menupop .ab-sub-wrapper,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#wpadminbar #wp-admin-bar-user-info .username,#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c3c4c5}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#12ae8f}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#0f8e75}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#wpadminbar{color:#fff}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#12ae8f;background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}.wp-pointer .wp-pointer-content h3{background-color:#12ae8f;border-color:#dd382d}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#12ae8f}.media-item .bar,.media-progress-bar div{background-color:#12ae8f}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #12ae8f;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #12ae8f}.attachment.details .check{background-color:#12ae8f;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #12ae8f;box-shadow:0 0 0 1px #fff,0 0 0 2px #12ae8f}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #12ae8f;box-shadow:0 0 0 1px #fff,0 0 0 3px #12ae8f}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#12ae8f;color:#fff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#12ae8f} \ No newline at end of file diff --git a/assets/css/wpsight-admin-font.min.css b/assets/css/wpsight-admin-font.min.css index 805a491..2246548 100644 --- a/assets/css/wpsight-admin-font.min.css +++ b/assets/css/wpsight-admin-font.min.css @@ -1,26 +1 @@ -@font-face { - font-family: 'wpcasa'; - src: url('../fonts/wpcasa.eot?4372jo'); - src: url('../fonts/wpcasa.eot?4372jo#iefix') format('embedded-opentype'), url('../fonts/wpcasa.ttf?4372jo') format('truetype'), url('../fonts/wpcasa.woff?4372jo') format('woff'), url('../fonts/wpcasa.svg?4372jo#wpcasa') format('svg'); - font-weight: normal; - font-style: normal; -} - -#adminmenu .toplevel_page_wpsight-settings div.wp-menu-image::before { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'wpcasa' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - content: "\e900"; - font-size: 1.2rem; -} \ No newline at end of file +@font-face{font-family:wpcasa;src:url('../fonts/wpcasa.eot?4372jo');src:url('../fonts/wpcasa.eot?4372jo#iefix') format('embedded-opentype'),url('../fonts/wpcasa.ttf?4372jo') format('truetype'),url('../fonts/wpcasa.woff?4372jo') format('woff'),url('../fonts/wpcasa.svg?4372jo#wpcasa') format('svg');font-weight:400;font-style:normal}#adminmenu .toplevel_page_wpsight-settings div.wp-menu-image::before{font-family:wpcasa!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e900";font-size:1.2rem} \ No newline at end of file diff --git a/assets/css/wpsight-admin-page-about.css b/assets/css/wpsight-admin-page-about.css index d3694c7..08bcf11 100644 --- a/assets/css/wpsight-admin-page-about.css +++ b/assets/css/wpsight-admin-page-about.css @@ -1,144 +1,143 @@ -body {background: #3b4045;} - -.about-wrap.full-width-layout {max-width: 100%; padding: 0; margin: 0 auto; position: relative; overflow: hidden;} -.about-wrap.full-width-layout > .wrap-inner {width: 100%; position: relative; z-index: 1;} - -.about-wrap {text-align: center; color: #EEE;} -.about-wrap h1 {text-align: center; margin: 1rem 0;} -.about-wrap h1, .about-wrap h2, .about-wrap h3, .about-wrap h4, .about-wrap h5, .about-wrap h6 {color: #FFF !important;} -.about-wrap p {text-align: center; margin: 0;} -.about-wrap h2 { - margin: 0 0 .6em; - font-size: 2.7em; - line-height: 1.3; - font-weight: 300; - text-align: center; -} - #wpcontent {padding-left: 0;} #wpfooter {display: none;} -#wpbody-content { - padding-bottom: 0; +#wpbody-content {padding-bottom: 0;} + +.wpcasa-about.full-width-layout { + max-width: 100%; + margin: 0 auto; + overflow: hidden; +} + +.wpcasa-about { + text-align: center; + color: #EEE; +} + +.wpcasa-about h1 {font-size: 3.0rem;} +.wpcasa-about h2 {font-size: 2.8rem;} +.wpcasa-about h3 {font-size: 2.6rem;} +.wpcasa-about h4 {font-size: 2.4rem;} +.wpcasa-about h5 {font-size: 2.2rem;} +.wpcasa-about h6 {font-size: 2.0rem;} + +.wpcasa-about h1, +.wpcasa-about h2, +.wpcasa-about h3, +.wpcasa-about h4, +.wpcasa-about h5, +.wpcasa-about h6 { + margin: 0 0 2rem 0; + color: #FFF !important; + font-family: "Open Sans"; + font-weight: normal; +} +.wpcasa-about p { + text-align: center; + margin: 0; } -.about-wrap .wp-badge { +/* Badge */ +.wpcasa-about .wp-badge { position: fixed; top: 0; right: 0; + z-index: 1; text-decoration: none; background-position: center !important; padding-top: 120px; background: #12AE8F url(../img/icon.png) no-repeat; background-size: contain; - box-shadow: 0 0 50px rgba(0,0,0,.5); + box-shadow: 0 0 50px rgba(0, 0, 0, .5); transition: all .2s; } -.about-wrap .wp-badge:hover { - color: #FFF; +.wpcasa-about .wp-badge:hover { transform: scale(1.2); } -.bg-layer { - content: ''; - background: #12AE8F; - height: 80vh; + +.wpcasa-about {background: #3b4045;} + +.wpcasa-about .section {transform: skew(0, 3deg);} +.wpcasa-about .section-wrap {padding: 10rem 0;transform: skew(0, -3deg);} + +.wpcasa-about .section:nth-child(even) {background: #12AE8F;} + +.wpcasa-about .section:first-of-type {margin-top: -3rem;} +.wpcasa-about .section:last-of-type {margin-bottom: -3rem;} + +.wpcasa-about .section-intro:before { + content: ""; + width: 100%; + height: 80%; + background: rgba(255,255,255,.1); position: absolute; + top: -3rem; left: 0; right: 0; - width: 100%; - z-index: 0; - box-shadow: 0 0 200px rgba(0,0,0,.5); + transform: skew(0deg, -5deg); } -.bg-layer-1 { - top: 65vh; - transform: skew(0, 3deg); +.hero-image { + padding: 3rem 0 0; } - -.bg-layer-2 { - top: 215vh; - transform: skew(0, -3deg); +.hero-image img { + max-width: 1000px; } -.bg-layer-3 { - top: 365vh; - transform: skew(0, 3deg); +/* Changelog */ +.section .changelog { + max-width: 600px; + padding: 50px 0; + margin: auto; + overflow:hidden; } -.bg-layer-4 { - top: 515vh; - transform: skew(0, -3deg); +.section .changelog table { + width: 100%; + text-align: left; + border-collapse: collapse; } -.bg-layer-5 { - top: 65vh; - transform: skew(0, 6deg); - background: rgba(18, 174, 143,.5); - box-shadow: none; +.section .changelog table tr { + border-bottom: 1px solid rgba(255, 255, 255, .1); + transition: all .2s; } -.bg-layer-6 { - top: 215vh; - transform: skew(0, -6deg); - background: rgba(18, 174, 143,.5); - box-shadow: none; +.section .changelog table tr:hover { + background: rgba(255, 255, 255, .1); } -.bg-layer-7 { - top: 365vh; - transform: skew(0, 6deg); - background: rgba(18, 174, 143,.5); - box-shadow: none; +.section .changelog table tr td { + padding: .5rem; } - -.bg-layer-8 { - top: 515vh; - transform: skew(0, -6deg); - background: rgba(18, 174, 143,.5); - box-shadow: none; +.changelog table tr td a { + color: white; } - -.intro-text {padding: 5rem 0 0; background: #12AE8F;} -.hero-image {padding: 5rem 0; background: #12AE8F;} -.hero-image img {max-width: 1000px;} - -.changelog { - max-width: 800px; - margin: auto; +.changelog table tr td a:hover { + text-decoration: none; } -.changelog table {width: 100%; text-align: left; border-collapse: collapse;} -.changelog table tr { - border-bottom: 1px solid rgba(255,255,255,.1); - transition: all .2s; +.section .changelog table tr td:first-child { + text-align: left; } -.changelog table tr:hover { - background: rgba(255,255,255,.1); + +.section .changelog-entry-tweak, +.section .changelog-entry-new, +.section .changelog-entry-fix, +.section .changelog-entry-update { + width: 80px; + display: inline-block; + color: #FFF; + text-align: center; + font-size: .8rem; + padding: 3px; + border-radius: 3px; + text-transform: uppercase; + background: #333; } -.changelog table tr td { - padding: .5rem 1rem; -} -.changelog table tr td:first-child { - text-align: right; -} - - .changelog-entry-improved, - .changelog-entry-added, - .changelog-entry-fixed, - .changelog-entry-updated { - width: 80px; - display: inline-block; - color: #FFF; - text-align: center; - font-size: .8rem; - padding: 3px; - border-radius: 3px; - text-transform: uppercase; - background: #333; - } - - .changelog-entry-improved {color: rgb(0,204,102);} - .changelog-entry-added {color: rgb(255,204,102);} - .changelog-entry-fixed {color: rgb(255,51,51);} - .changelog-entry-updated {color: rgb(102,204,255);} \ No newline at end of file + +.section .changelog-entry-tweak {color: rgb(0, 204, 102);} +.section .changelog-entry-new {color: rgb(255, 204, 102);} +.section .changelog-entry-fix {color: rgb(255, 155, 51);} +.section .changelog-entry-update {color: rgb(102, 204, 255);} \ No newline at end of file diff --git a/assets/css/wpsight-admin-page-about.min.css b/assets/css/wpsight-admin-page-about.min.css index 6075387..38018a2 100644 --- a/assets/css/wpsight-admin-page-about.min.css +++ b/assets/css/wpsight-admin-page-about.min.css @@ -1 +1 @@ -body{background:#3b4045}.about-wrap.full-width-layout{max-width:100%;padding:0;margin:0 auto;position:relative;overflow:hidden}.about-wrap.full-width-layout>.wrap-inner{width:100%;position:relative;z-index:1}.about-wrap{text-align:center;color:#eee}.about-wrap h1{text-align:center;margin:1rem 0}.about-wrap h1,.about-wrap h2,.about-wrap h3,.about-wrap h4,.about-wrap h5,.about-wrap h6{color:#fff!important}.about-wrap p{text-align:center;margin:0}.about-wrap h2{margin:0 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}#wpcontent{padding-left:0}#wpfooter{display:none}#wpbody-content{padding-bottom:0}.about-wrap .wp-badge{position:fixed;top:0;right:0;text-decoration:none;background-position:center!important;padding-top:120px;background:#12ae8f url(../img/icon.png) no-repeat;background-size:contain;box-shadow:0 0 50px rgba(0,0,0,.5);transition:all .2s}.about-wrap .wp-badge:hover{color:#fff;transform:scale(1.2)}.bg-layer{content:'';background:#12ae8f;height:80vh;position:absolute;left:0;right:0;width:100%;z-index:0;box-shadow:0 0 200px rgba(0,0,0,.5)}.bg-layer-1{top:65vh;transform:skew(0,3deg)}.bg-layer-2{top:215vh;transform:skew(0,-3deg)}.bg-layer-3{top:365vh;transform:skew(0,3deg)}.bg-layer-4{top:515vh;transform:skew(0,-3deg)}.bg-layer-5{top:65vh;transform:skew(0,6deg);background:rgba(18,174,143,.5);box-shadow:none}.bg-layer-6{top:215vh;transform:skew(0,-6deg);background:rgba(18,174,143,.5);box-shadow:none}.bg-layer-7{top:365vh;transform:skew(0,6deg);background:rgba(18,174,143,.5);box-shadow:none}.bg-layer-8{top:515vh;transform:skew(0,-6deg);background:rgba(18,174,143,.5);box-shadow:none}.intro-text{padding:5rem 0 0;background:#12ae8f}.hero-image{padding:5rem 0;background:#12ae8f}.hero-image img{max-width:1000px}.changelog{max-width:800px;margin:auto}.changelog table{width:100%;text-align:left;border-collapse:collapse}.changelog table tr{border-bottom:1px solid rgba(255,255,255,.1);transition:all .2s}.changelog table tr:hover{background:rgba(255,255,255,.1)}.changelog table tr td{padding:.5rem 1rem}.changelog table tr td:first-child{text-align:right}.changelog-entry-added,.changelog-entry-fixed,.changelog-entry-improved,.changelog-entry-updated{width:80px;display:inline-block;color:#fff;text-align:center;font-size:.8rem;padding:3px;border-radius:3px;text-transform:uppercase;background:#333}.changelog-entry-improved{color:#0c6}.changelog-entry-added{color:#fc6}.changelog-entry-fixed{color:#f33}.changelog-entry-updated{color:#6cf} \ No newline at end of file +#wpcontent{padding-left:0}#wpfooter{display:none}#wpbody-content{padding-bottom:0}.wpcasa-about.full-width-layout{max-width:100%;margin:0 auto;overflow:hidden}.wpcasa-about{text-align:center;color:#eee;background:#3b4045}.wpcasa-about h1{font-size:3rem}.wpcasa-about h2{font-size:2.8rem}.wpcasa-about h3{font-size:2.6rem}.wpcasa-about h4{font-size:2.4rem}.wpcasa-about h5{font-size:2.2rem}.wpcasa-about h6{font-size:2rem}.wpcasa-about h1,.wpcasa-about h2,.wpcasa-about h3,.wpcasa-about h4,.wpcasa-about h5,.wpcasa-about h6{margin:0 0 2rem;color:#fff!important;font-family:"Open Sans";font-weight:400}.wpcasa-about p{text-align:center;margin:0}.wpcasa-about .wp-badge{position:fixed;top:0;right:0;z-index:1;text-decoration:none;background-position:center!important;padding-top:120px;background:url(../img/icon.png) 0 0/contain no-repeat #12ae8f;box-shadow:0 0 50px rgba(0,0,0,.5);transition:.2s}.wpcasa-about .wp-badge:hover{transform:scale(1.2)}.wpcasa-about .section{transform:skew(0,3deg)}.wpcasa-about .section-wrap{padding:10rem 0;transform:skew(0,-3deg)}.wpcasa-about .section:nth-child(2n){background:#12ae8f}.wpcasa-about .section:first-of-type{margin-top:-3rem}.wpcasa-about .section:last-of-type{margin-bottom:-3rem}.wpcasa-about .section-intro:before{content:"";width:100%;height:80%;background:rgba(255,255,255,.1);position:absolute;top:-3rem;left:0;right:0;transform:skew(0deg,-5deg)}.hero-image{padding:3rem 0 0}.hero-image img{max-width:1000px}.section .changelog{max-width:600px;padding:50px 0;margin:auto;overflow:hidden}.section .changelog table{width:100%;text-align:left;border-collapse:collapse}.section .changelog table tr{border-bottom:1px solid rgba(255,255,255,.1);transition:.2s}.section .changelog table tr:hover{background:rgba(255,255,255,.1)}.section .changelog table tr td{padding:.5rem}.changelog table tr td a{color:#fff}.changelog table tr td a:hover{text-decoration:none}.section .changelog table tr td:first-child{text-align:left}.section .changelog-entry-fix,.section .changelog-entry-new,.section .changelog-entry-tweak,.section .changelog-entry-update{width:80px;display:inline-block;text-align:center;font-size:.8rem;padding:3px;border-radius:3px;text-transform:uppercase;background:#333}.section .changelog-entry-tweak{color:#0c6}.section .changelog-entry-new{color:#fc6}.section .changelog-entry-fix{color:#ff9b33}.section .changelog-entry-update{color:#6cf} \ No newline at end of file diff --git a/assets/css/wpsight-admin-ui-framework.css b/assets/css/wpsight-admin-ui-framework.css index 69603d3..0af6e1e 100644 --- a/assets/css/wpsight-admin-ui-framework.css +++ b/assets/css/wpsight-admin-ui-framework.css @@ -151,3 +151,185 @@ .wpsight-admin-ui-tag-success {background: rgb(0,204,102);} .wpsight-admin-ui-tag-warning {background: rgb(255,102,51);} .wpsight-admin-ui-tag-error {background: rgb(255,51,51);} + + +/** + * WPSIGHT ADMIN UI FRAMEWORK > INDICATORS + */ + +.wpsight-admin-ui-indicator { + background: rgba(100, 100, 100, 1); + border-radius: 50%; + box-shadow: 0 0 0 0 rgba(100, 100, 100, 1); + height: 12px; + width: 12px; + display: block; + transform: scale(1); + animation: pulse-black 2s infinite; +} + +@keyframes pulse-black { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(100, 100, 100, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(100, 100, 100, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(100, 100, 100, 0); + } +} + +.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-error { + background: rgba(255, 82, 82, 1); + box-shadow: 0 0 0 0 rgba(255, 82, 82, 1); + animation: pulse-red 2s infinite; +} + +@keyframes pulse-red { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 82, 82, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(255, 82, 82, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 82, 82, 0); + } +} + +.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-warning { + background: rgba(255, 121, 63, 1); + box-shadow: 0 0 0 0 rgba(255, 121, 63, 1); + animation: pulse-orange 2s infinite; +} + +@keyframes pulse-orange { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 121, 63, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(255, 121, 63, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 121, 63, 0); + } +} + +.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-notice { + background: rgba(255, 177, 66, 1); + box-shadow: 0 0 0 0 rgba(255, 177, 66, 1); + animation: pulse-yellow 2s infinite; +} + +@keyframes pulse-yellow { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 177, 66, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(255, 177, 66, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 177, 66, 0); + } +} + +.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-info { + background: rgba(52, 172, 224, 1); + box-shadow: 0 0 0 0 rgba(52, 172, 224, 1); + animation: pulse-blue 2s infinite; +} + +@keyframes pulse-blue { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(52, 172, 224, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(52, 172, 224, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(52, 172, 224, 0); + } +} + +.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-success { + background: rgba(51, 217, 178, 1); + box-shadow: 0 0 0 0 rgba(51, 217, 178, 1); + animation: pulse-green 2s infinite; +} + +@keyframes pulse-green { + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(51, 217, 178, 0.7); + } + + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(51, 217, 178, 0); + } + + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(51, 217, 178, 0); + } +} + +/** + * WPSIGHT ADMIN UI FRAMEWORK > ACCORDION + */ +.changelog { + width:90%; + margin:30px auto 0 auto; + padding: 50px 0; + -webkit-border-radius:8px; + -moz-border-radius:8px; + -o-border-radius:8px; + border-radius:8px; + overflow:hidden; + background: #222; +} + +[wpsight-admin-ui--accordion-toggle] { + width: 100%; + margin: 0 auto; + padding: 20px 25px; + display: block; + cursor: pointer; +} + +[wpsight-admin-ui--accordion-content] { + height: 0px; + width: 100%; + margin: 0 auto; + overflow: hidden; +} + +[wpsight-admin-ui--accordion-content] .acc-content-inner {padding:30px;} +[wpsight-admin-ui--accordion-content].open {height: auto;} +[wpsight-admin-ui--accordion-toggle].selected {color:#1ABC9C;} diff --git a/assets/css/wpsight-admin-ui-framework.min.css b/assets/css/wpsight-admin-ui-framework.min.css index 69603d3..b69d8ca 100644 --- a/assets/css/wpsight-admin-ui-framework.min.css +++ b/assets/css/wpsight-admin-ui-framework.min.css @@ -1,153 +1 @@ -.wpsight-settings-page .wpsight-settings-wrap h1, -.wpsight-settings-page .wpsight-settings-wrap h2, -.wpsight-settings-page .wpsight-settings-wrap h3, -.wpsight-settings-page .wpsight-settings-wrap h4, -.wpsight-settings-page .wpsight-settings-wrap h5, -.wpsight-settings-page .wpsight-settings-wrap h6 { - font-weight: 400; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-container { - width: 100%; - float: left; - background: #FFF; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-large { - padding: 5rem; -} - -/** - * WPSIGHT ADMIN UI FRAMEWORK > GRID - */ -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col {float: left;} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-1 {width: 33.333%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-2 {width: 66.666%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-3 {width: 100%;} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-1 {width: 100%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-2 {width: 50%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-3 {width: 33.333%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-4 {width: 25%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-5 {width: 20%;} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-2-3 {width: 66.666%;} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-3-4 {width: 75%;} - - -/** - * WPSIGHT ADMIN UI FRAMEWORK > PANEL - */ -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel { - width: 100%; - min-height: 300px; - float: left; - padding: 2rem 5rem; - position: relative; - overflow: hidden; - border-right: 1px solid #EEE; - border-bottom: 1px solid #EEE; - background-color: #FFF; - background-repeat: no-repeat; -} - -@media (max-width: 1440px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel { - padding: 2rem 3rem; - } -} - -@media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel { - min-height: 250px; - } - - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .settings_panel_boxes > * { - width: 100%; - } -} - -@media (max-width: 992px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel { - padding: 1rem 2rem; - } -} - -@media (max-width: 600px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel { - padding: 1rem; - } -} - -/** - * WPSIGHT ADMIN UI FRAMEWORK > PANEL > THEME - */ -@media (max-width: 1440px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content > *{ - width: 100%; - } - - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content > *:first-child img{ - width: 100%; - height: auto; - } - - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content > *:last-child{ - margin-top: 1rem; - } -} - -@media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-wrap-theme, - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-wrap-theme-bar { - width: 100%; - } -} - - -/** - * WPSIGHT ADMIN UI FRAMEWORK > TABLE STYLES - */ - -.wpsight-admin-ui-table { - width: 100%; - text-align: left; -} - -/** - * WPSIGHT ADMIN UI FRAMEWORK > ELEMENTS - */ -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-content { - padding: 0 0 1rem 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image { - line-height: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image a { - display: block; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image img { - max-width: 100%; - width: 100%; - height: auto; -} - -/** - * WPSIGHT ADMIN UI FRAMEWORK > ELEMENTS > TAGS - */ - -.wpsight-admin-ui-tag { - padding: 1px 5px; - display: inline-block; - text-transform: uppercase; - color: #FFF; - border-radius: 5px; -} - -.wpsight-admin-ui-tag-success {background: rgb(0,204,102);} -.wpsight-admin-ui-tag-warning {background: rgb(255,102,51);} -.wpsight-admin-ui-tag-error {background: rgb(255,51,51);} +.wpsight-settings-page .wpsight-settings-wrap h1,.wpsight-settings-page .wpsight-settings-wrap h2,.wpsight-settings-page .wpsight-settings-wrap h3,.wpsight-settings-page .wpsight-settings-wrap h4,.wpsight-settings-page .wpsight-settings-wrap h5,.wpsight-settings-page .wpsight-settings-wrap h6{font-weight:400}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-container{width:100%;float:left;background:#fff}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-large{padding:5rem}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col{float:left}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-3,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-1{width:33.333%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-2-3,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-2{width:66.666%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-1,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-col-3{width:100%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-2{width:50%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-4{width:25%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-1-5{width:20%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-grid-3-4{width:75%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel{width:100%;min-height:300px;float:left;padding:2rem 5rem;position:relative;overflow:hidden;border-right:1px solid #eee;border-bottom:1px solid #eee;background-color:#fff;background-repeat:no-repeat}@media (max-width:1440px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel{padding:2rem 3rem}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content>*{width:100%}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content>:first-child img{width:100%;height:auto}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel .wpsight-admin-ui-panel-theme-content>:last-child{margin-top:1rem}}@media (max-width:992px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel{padding:1rem 2rem}}@media (max-width:600px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel{padding:1rem}}@media (max-width:1200px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel{min-height:250px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .settings_panel_boxes>*,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-wrap-theme,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-panel-wrap-theme-bar{width:100%}}.wpsight-admin-ui-table{width:100%;text-align:left}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-content{padding:0 0 1rem}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image{line-height:0}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image a{display:block}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-image img{max-width:100%;width:100%;height:auto}.wpsight-admin-ui-tag{padding:1px 5px;display:inline-block;text-transform:uppercase;color:#fff;border-radius:5px}.wpsight-admin-ui-tag-success{background:#0c6}.wpsight-admin-ui-tag-warning{background:#f63}.wpsight-admin-ui-tag-error{background:#f33}.wpsight-admin-ui-indicator{background:#646464;border-radius:50%;box-shadow:0 0 0 0 #646464;height:12px;width:12px;display:block;transform:scale(1);animation:2s infinite pulse-black}@keyframes pulse-black{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(100,100,100,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(100,100,100,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(100,100,100,0)}}.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-error{background:#ff5252;box-shadow:0 0 0 0 #ff5252;animation:2s infinite pulse-red}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,82,82,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(255,82,82,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,82,82,0)}}.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-warning{background:#ff793f;box-shadow:0 0 0 0 #ff793f;animation:2s infinite pulse-orange}@keyframes pulse-orange{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,121,63,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(255,121,63,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,121,63,0)}}.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-notice{background:#ffb142;box-shadow:0 0 0 0 #ffb142;animation:2s infinite pulse-yellow}@keyframes pulse-yellow{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,177,66,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(255,177,66,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(255,177,66,0)}}.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-info{background:#34ace0;box-shadow:0 0 0 0 #34ace0;animation:2s infinite pulse-blue}@keyframes pulse-blue{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(52,172,224,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(52,172,224,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(52,172,224,0)}}.wpsight-admin-ui-indicator.wpsight-admin-ui-indicator-success{background:#33d9b2;box-shadow:0 0 0 0 #33d9b2;animation:2s infinite pulse-green}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(51,217,178,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(51,217,178,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(51,217,178,0)}}[wpsight-admin-ui--accordion-toggle]{color:#999;margin:0 auto;padding:10px 25px;display:block;cursor:pointer;text-decoration:none}[wpsight-admin-ui--accordion-toggle]:hover{color:#12ae8f}[wpsight-admin-ui--accordion-toggle]:focus{outline:0;box-shadow:none}[wpsight-admin-ui--accordion-content]{height:0;width:100%;margin:0 auto;overflow:hidden}[wpsight-admin-ui--accordion-content] .inner{padding:30px}[wpsight-admin-ui--accordion-content].open{height:auto}[wpsight-admin-ui--accordion-toggle].selected{color:#fff} \ No newline at end of file diff --git a/assets/css/wpsight-admin.css b/assets/css/wpsight-admin.css index 48e55ef..cf12046 100644 --- a/assets/css/wpsight-admin.css +++ b/assets/css/wpsight-admin.css @@ -3,351 +3,351 @@ @media (min-width: 1350px) { - .column-listing_posted, - .column-listing_expires { - width: 160px; - } + .column-listing_posted, + .column-listing_expires { + width: 160px; + } - .column-listing_status { - width: 150px; - } + .column-listing_status { + width: 150px; + } - .column-listing_offer { - width: 100px; - } + .column-listing_offer { + width: 100px; + } - .column-listing_price { - width: 90px; - } + .column-listing_price { + width: 90px; + } - .column-listing_id, - .column-listing_actions { - width: 70px; - } + .column-listing_id, + .column-listing_actions { + width: 70px; + } } @media screen and ( max-width: 782px ) { - .column-listing_posted, - .column-listing_expires, - .column-listing_status, - .column-listing_offer, - .column-listing_price, - .column-listing_id, - .column-listing_title:before, - .column-listing_title.actions, - .column-listing_actions:before { - display: none !important; - } - - .column-listing_actions { - width: 100px !important; - } - - .column-listing_actions, - .column-listing_title { - display: table-cell !important; - } - - .column-listing_title .wpsight-listing-thumbnail { - display: block !important; - margin-bottom: 15px; - } - - .column-listing_title a.button, - .column-listing_actions a.button { - height: 40px; - line-height: 40px; - width: 40px; - } + .column-listing_posted, + .column-listing_expires, + .column-listing_status, + .column-listing_offer, + .column-listing_price, + .column-listing_id, + .column-listing_title:before, + .column-listing_title.actions, + .column-listing_actions:before { + display: none !important; + } + + .column-listing_actions { + width: 100px !important; + } + + .column-listing_actions, + .column-listing_title { + display: table-cell !important; + } + + .column-listing_title .wpsight-listing-thumbnail { + display: block !important; + margin-bottom: 15px; + } + + .column-listing_title a.button, + .column-listing_actions a.button { + height: 40px; + line-height: 40px; + width: 40px; + } } td.column-listing_offer span { - background-color: #333; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - color: #fff; - display: block; - font-size: 11px; - margin-right: 15px; - padding: 3px 0; - text-align: center; + background-color: #333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + color: #fff; + display: block; + font-size: 11px; + margin-right: 15px; + padding: 3px 0; + text-align: center; } .rtl td.column-listing_offer span { - margin-left: 15px; - margin-right: 0; + margin-left: 15px; + margin-right: 0; } .column-listing_price .listing-rental-period { - display: block; - font-size: smaller; + display: block; + font-size: smaller; } .column-listing_title .listing-info { - overflow: hidden; + overflow: hidden; } .column-listing_title .listing-title { - font-size: 14px !important; - font-weight: bold; + font-size: 14px !important; + font-weight: bold; } @media screen and ( max-width: 782px ) { - .column-listing_title .listing-title { - font-size: 16px !important; - margin-top: 5px; - } + .column-listing_title .listing-title { + font-size: 16px !important; + margin-top: 5px; + } } .column-listing_title .listing-taxonomies div { - display: inline-block; - margin-right: 5px; + display: inline-block; + margin-right: 5px; } .rtl .column-listing_title .listing-taxonomies div { - margin-left: 5px; - margin-right: 0; + margin-left: 5px; + margin-right: 0; } .column-listing_title .listing-sticky, .column-listing_title .listing-featured { - font-weight: normal; + font-weight: normal; } .column-listing_title .wpsight-listing-thumbnail { - background-color: #f9f9f9; - border: 1px solid #eee; - display: none; - float: left; - height: 75px; - margin-right: 15px; - padding: 8px; - width: 75px; + background-color: #f9f9f9; + border: 1px solid #eee; + display: none; + float: left; + height: 75px; + margin-right: 15px; + padding: 8px; + width: 75px; } .rtl .column-listing_title .wpsight-listing-thumbnail { - float: right; - margin-left: 15px; - margin-right: 0; + float: right; + margin-left: 15px; + margin-right: 0; } @media (min-width: 1350px) { - .column-listing_title .wpsight-listing-thumbnail { - display: flex; - } + .column-listing_title .wpsight-listing-thumbnail { + display: flex; + } } .column-listing_title .wpsight-listing-thumbnail img { - max-width: 100%; - max-height: 100%; + max-width: 100%; + max-height: 100%; } .alternate .column-listing_title .wpsight-listing-thumbnail { - background-color: #fff; + background-color: #fff; } .column-listing_title .wpsight-listing-thumbnail span, .column-listing_title .wpsight-listing-thumbnail span:before { - color: #ddd; - display: block; - font-size: 48px; - margin: auto; + color: #ddd; + display: block; + font-size: 48px; + margin: auto; } .column-listing_title .wpsight-listing-thumbnail span { - display: flex; - height: 100%; - width: 100%; + display: flex; + height: 100%; + width: 100%; } .alternate .column-listing_title .wpsight-listing-thumbnail span { - color: #eee; + color: #eee; } .column-listing_title .listing-not-available { - display: block; - font-size: smaller; - margin-top: 0px; + display: block; + font-size: smaller; + margin-top: 0px; } .column-listing_status .listing-status { - display: flex; + display: flex; } .column-listing_status .listing-status span { - background-color: #999; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border-radius: 50%; - display: inline-block; - height: 8px; - margin: auto 10px auto 0; - width: 8px; + background-color: #999; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + display: inline-block; + height: 8px; + margin: auto 10px auto 0; + width: 8px; } .rtl .column-listing_status .listing-status span { - margin-left: 10px; - margin-right: 0; + margin-left: 10px; + margin-right: 0; } .column-listing_status .listing-status.status-publish span { - background-color: #2ecc71; + background-color: #2ecc71; } .column-listing_status .listing-status.status-expired span { - background-color: #e74c3c; + background-color: #e74c3c; } .column-listing_status .listing-status.status-preview span { - background-color: #bdc3c7; + background-color: #bdc3c7; } .column-listing_status .listing-status.status-pending span { - background-color: #f39c12; + background-color: #f39c12; } .column-listing_status .listing-status.status-pending_payment span { - background-color: #f1c40f; + background-color: #f1c40f; } .column-listing_posted .listing-posted, .column-listing_posted .listing-agent { - display: block; + display: block; } .column-listing_posted .listing-posted, .column-listing_expires .listing-expires { - font-weight: bold; + font-weight: bold; } .column-listing_expires .listing-expires, .column-listing_expires .listing-expires-left { - display: block; + display: block; } .column-listing_actions, th.column-listing_actions { - text-align: right; + text-align: right; } .rtl .column-listing_actions, .rtl th.column-listing_actions { - text-align: left; + text-align: left; } .column-listing_actions strong { - display: block; - margin-bottom: .2em; + display: block; + margin-bottom: .2em; } .column-listing_title .actions { - padding-top: 8px; + padding-top: 8px; } .column-listing_actions .actions { - padding-top: 2px; + padding-top: 2px; } @media screen and ( max-width: 782px ) { - .column-listing_title .actions, - .column-listing_title .listing-taxonomies { - display: none !important; - } + .column-listing_title .actions, + .column-listing_title .listing-taxonomies { + display: none !important; + } } .column-listing_title a.button, .column-listing_actions a.button { - display: inline-block; - margin: 0 0 4px 4px; - cursor: pointer; - padding: 0 !important; - height: 30px !important; - width: 30px !important; - font-size: 16px !important; - line-height: 30px !important; - overflow: hidden; + display: inline-block; + margin: 0 0 4px 4px; + cursor: pointer; + padding: 0 !important; + height: 30px !important; + width: 30px !important; + font-size: 16px !important; + line-height: 30px !important; + overflow: hidden; } .rtl .column-listing_title a.button, .rtl .column-listing_actions a.button { - margin-left: 0; - margin-right: 4px; + margin-left: 0; + margin-right: 4px; } .column-listing_title a.button { - margin: 0 4px 4px 0; + margin: 0 4px 4px 0; } .rtl .column-listing_title a.button { - margin-left: 4px; - margin-right: 0px; + margin-left: 4px; + margin-right: 0px; } .column-listing_title i, .column-listing_actions i { - display: block; - font-family: "dashicons"; - font-style: normal; - font-weight: normal; - font-variant: normal; - height: inherit; - line-height: inherit; - speak: none; - text-align: center; - text-transform: none; - width: inherit; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + display: block; + font-family: "dashicons"; + font-style: normal; + font-weight: normal; + font-variant: normal; + height: inherit; + line-height: inherit; + speak: none; + text-align: center; + text-transform: none; + width: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } .column-listing_title i.icon-view:before, .column-listing_actions i.icon-view:before { - content: "\f504"; + content: "\f504"; } .column-listing_title i.icon-edit:before { - content: "\f464"; + content: "\f464"; } .column-listing_actions i.icon-approve:before { - content: "\f147"; - font-weight: bold; + content: "\f147"; + font-weight: bold; } .column-listing_actions i.icon-expire:before { - content: "\f469"; + content: "\f469"; } .column-listing_actions i.icon-unavailable:before { - content: "\f160"; + content: "\f160"; } .column-listing_actions i.icon-sticky:before { - content: "\f173"; + content: "\f173"; } .column-listing_actions i.icon-featured:before { - content: "\f313"; + content: "\f313"; } .column-listing_actions i.icon-delete:before { - content: "\f182"; + content: "\f182"; } .column-listing_actions i.icon-untrash:before { - content: "\f310"; + content: "\f310"; } .column-listing_title i.icon-home:before { - content: "\f102"; + content: "\f102"; } .column-listing_actions .listing-approved i.icon-approve, @@ -355,101 +355,101 @@ th.column-listing_actions { .column-listing_actions .listing-not-available i.icon-unavailable, .column-listing_actions .listing-sticky i.icon-sticky, .column-listing_actions .listing-featured i.icon-featured { - color: #0074a2; + color: #0074a2; } /* Settings ================================================== */ .wpsight-settings-wrap { - position: relative; + position: relative; } .wpsight-settings-wrap div.updated { - font-weight: bold; - margin: 15px 0; + font-weight: bold; + margin: 15px 0; } .wpsight-settings-wrap .label-radio { - display: block; - margin-bottom: 8px; + display: block; + margin-bottom: 8px; } .wpsight-settings-wrap .hidden { - display: none; + display: none; } /* TipTip (v1.2) ================================================== */ #tiptip_holder { - display: none; - position: absolute; - top: 0; - left: 0; - z-index: 99999; + display: none; + position: absolute; + top: 0; + left: 0; + z-index: 99999; } #tiptip_holder.tip_top { - padding-bottom: 5px; + padding-bottom: 5px; } #tiptip_holder.tip_bottom { - padding-top: 5px; + padding-top: 5px; } #tiptip_holder.tip_right { - padding-left: 5px; + padding-left: 5px; } #tiptip_holder.tip_left { - padding-right: 5px; + padding-right: 5px; } #tiptip_content { - font-size: 11px; - color: #fff; - padding: 4px 8px; - background:#464646; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - text-align: center; + font-size: 11px; + color: #fff; + padding: 4px 8px; + background:#464646; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + box-shadow: 1px 1px 3px rgba(0,0,0,0.10); + -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); + -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); + text-align: center; } #tiptip_content code { - background: #999; - padding: 1px; + background: #999; + padding: 1px; } #tiptip_arrow, #tiptip_arrow_inner { - position: absolute; - border-color: transparent; - border-style: solid; - border-width: 6px; - height: 0; - width: 0; + position: absolute; + border-color: transparent; + border-style: solid; + border-width: 6px; + height: 0; + width: 0; } #tiptip_holder.tip_top #tiptip_arrow_inner { - margin-top: -7px; - margin-left: -6px; - border-top-color: #464646; + margin-top: -7px; + margin-left: -6px; + border-top-color: #464646; } #tiptip_holder.tip_bottom #tiptip_arrow_inner { - margin-top: -5px; - margin-left: -6px; - border-bottom-color: #464646; + margin-top: -5px; + margin-left: -6px; + border-bottom-color: #464646; } #tiptip_holder.tip_right #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -5px; - border-right-color: #464646; + margin-top: -6px; + margin-left: -5px; + border-right-color: #464646; } #tiptip_holder.tip_left #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -7px; - border-left-color: #464646; + margin-top: -6px; + margin-left: -7px; + border-left-color: #464646; } /* jQuery UI Datepicker Skins @@ -457,344 +457,344 @@ th.column-listing_actions { /* Date Picker Default Styles */ .cmb2-element .ui-datepicker { - border: 1px solid #ddd !important; - -webkit-border-radius: 0 !important; - -moz-border-radius: 0 !important; - border-radius: 0 !important; + border: 1px solid #ddd !important; + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; } .cmb2-element .ui-datepicker * { - padding: 0; - font-family: "Open Sans", sans-serif; - -webkit-border-radius: 0 !important; - -moz-border-radius: 0 !important; - border-radius: 0 !important; + padding: 0; + font-family: "Open Sans", sans-serif; + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; } .cmb2-element .ui-datepicker table { - font-size: 13px; - margin: 0; - margin-bottom: .3em !important; + font-size: 13px; + margin: 0; + margin-bottom: .3em !important; } .cmb2-element .ui-datepicker .ui-datepicker-header { - border: none; - background: #222; - color: #fff; - font-weight: normal; + border: none; + background: #222; + color: #fff; + font-weight: normal; } .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #222; - border-color: transparent; - cursor: pointer; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + background: #222; + border-color: transparent; + cursor: pointer; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .cmb2-element .ui-datepicker thead { - background: #333333; - color: #fff; + background: #333333; + color: #fff; } .cmb2-element .ui-datepicker .ui-datepicker-title { - margin-top: .4em; - margin-bottom: .3em; - color: #fff; - font-size: 14px; + margin-top: .4em; + margin-bottom: .3em; + color: #fff; + font-size: 14px; } .cmb2-element .ui-datepicker .ui-datepicker-prev-hover, .cmb2-element .ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-next, .cmb2-element .ui-datepicker .ui-datepicker-prev { - height: 1em; - top: .9em; - border: none; + height: 1em; + top: .9em; + border: none; } .cmb2-element .ui-datepicker .ui-datepicker-prev-hover { - left: 2px; + left: 2px; } .cmb2-element .ui-datepicker .ui-datepicker-next-hover { - right: 2px; + right: 2px; } .cmb2-element .ui-datepicker .ui-datepicker-next span, .cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-image: url('data:image/png;base64,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'); - background-position: -32px 0; - margin-top: 0; - top: 0; - font-weight: normal; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAQAAABFnnJAAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAEgAAABIAEbJaz4AABe4SURBVHja7V1diCXHdf56vbZmVl6nxwKFO2yyq1mM4qAwM7oDsR6C7iYIKesH3V1QHgyBu5YYJwHjrB9NQCuByIthHbAga6TZxeBgHMJKISZ+SDIb1oQgRtoVgtjGyD8PmSGQMIpfJmCLk4f+q6o+daq6+965P1VfM3Pv7VN16ud8Vd1dp6o6IUSEjBPTzkDEdBEJEDgiAXT0QOhNOxPHiUgAFT3sA9gPiQLjJsD0208Pbe9rM/OvwkaBQvP0yzhG6ASQO0AqDwmu9mOPT3nqPWsYV9qFEduVIDP/QU4BSfMC9REqAcbRAa520FDELdphc3SJCyRIcADgAAkSQXOXMs4ckrIxFEUs2oENBNSqR0WmJ2kVv2hltvRdaVPHvPtqdpVxjlD1AHIH6AupDbovH1nqkgllLd3apnQJUjV362dmDEnjOya5FUltsEqqbdtxa5Dbppx3uQ+sNLv6mblCcwLIoKlXTQ/7rQkmX4IKzdMv4xgxbgLMO3rYXyTzuhEJEDjiSGDgiAQIHJEAgSMSIHBEAgSOSIDAEQkQOOJ8ADPutPN/zGgyH8BvRoDLGdMT5wPIKbjN02U+gNsdnuV9oUjSbD6AnwdMrkK7gVYt3311u8zv0r5vfNq1L8xsgPp8gAz20fAilORvs8tdsX3mA0i5k1N3x5dBue7icyGgzwfgvus48OoF+DDu9ukzH0Bqf355s9OHnLMNmqQ0F2jjDJIcrrM+H0Ail6v/KUoe3cECpl85XecDTDv/x4zoDg4ccSAocEQCBI5IgMARCRA4IgECRyRA4IgECBwnp52BmQNNcZS/+1hp4/yf7BZ9IpUwzRyQMwftXUHumFMouX4JIED09fvsD0AtJE3RNg1X/jPTJ6IWNznaxvYrgU+oBnFPaAFcxU88CmCPn3hUkE8RSHD2+OQvEWT6Z7M0Com7BuQSygQiR2zA1Yi1/KuXAN/i22bruCspGUMHT6In0nUV7ZIDKmMnrFRNnUulaF72PJAgl3VXpZObgZrLBGh6E0gerccVyoed7dq4n3ETD+2SgXz0tq0BqQn66HbXQU3e5DGw6uJ8QvEyuQt0M1jW4epi/bpoVwtype5zE9kWboq75VoOTHdw6E8B851+i8fIOB8gcMSRwMARCRA4IgECRyRA4IgECByRAIEjEiBw6ItDi81Spwf3fuCThE8N+HhE28VzrY32TaURKgIUC6N8tntvVwHjQztdrpz71YC01Wzljes1jp35KYvDXoZe6xogI5cA+MWh8hJOH492jzk3PgrYdPltDWHPv18N2NLoGctre41iVyVw9UDdlqbXFujqQ8E+26m7lmDbFoj6zaRx58Cmx72FuzvnfhvS8z63umkTQ+5aWF4Zh1ufSJpm2WFsc1gn9TBNCeBfAUmDuH45kKvQJ3332n57+q7YLgK460A2oJsAMoEsBGj2FFBVQBuPVaLo4LWT9iml3wZVvtveQ0ipr+bS4grO7yAgpV/E5O8BXJqrvRuk9c1mLhvOB5AqQL+BkYovZ04qoqRDLZp72hdnAjcBpRIcGBtIHDTW4AfJvAfla2/8commlwA/XzU5t4iQr4JdYvtVL18Ov2tw9yltkp72L7Vx3wOwiPMBVPScb0xaOEQCBI44FBw4IgECRyRA4IgECByRAIEjEmDcmLPHKnM+gAuSv8qn6L2O/u5Jo3vuEsdg94yVvT4fQILkMfcZJSw8dqseC0zt6Lq4Sl4enjiXv7oNbIsvaZ8SqoEgNVvu3X7rg43q0sh2b//2HWgGJI+dK3ZiDaeetXk7pcWj5CX1L+mxgL8HsE06kP1V1aWhzaSFrOW4p03Z9zAg+Pr6kgZnuXS59N0rm2cS5vsCqips+gZu8xKSNIhbSP2WQLsXb7ffQkIyo6uH8Ncs7RFwzKh6ANVR2CZrrjcJuJ2tXa+OidKD8D2E/smFGE8r5lLQe48ZMb9+CTgoM8V14FkHn0334nEgzgfw8fa7t4eQUc0F4KdUyFVfXYTsu4sUIZOGUjVE2wk1EwHvDSRrB+7jLLXdBI7D2eo3a7HtjabPTSQAB0Fnxrg+iO5gHTPTNR8XIgECRxwKDhyRAIEjEiBwRAIEjkiAwDF7BEhny1u26DAJ4OfLllw25CW1hUhxeCxP4tPeB2Fm0Gy7eJ/tpBOsdMjPIQqSpGK4tlvWV1igN4B3gU4AeZRaHu0uWnWKQ5YCVA6U8mv3sq5/pQxxaIlffGu3qbra+/i9an7BURFA3+69jsofbtsyPUGSm/8DNi25a8+6/g+wIqydLVLn09dnFJha/LaPCA7FULDf6nYJxVwbm/nNuThmL+L6LZ2tS8xw5vYR0lvOg4I6JSxB3Uwm7FMZ/CZE2CeVmQSyTcngc+jaPkEn+IK9Ar4LqhdGqFVm32DE/dYL39dK2OQZBah2H1E4gvld+fX8+Lw2IgIAtz+A38r1ul/evUONJM1uHuUQurbE61wB9w5CgcL/hRH6rNjq+7hhv4voBv/tI4LCrM0HmJT5IyyYNQJEHDNmzxcQcayIBAgckQCBIxIgcCwSAfqlJ6A/Ef0nsZQfzd63OtPICDDMK24Xw9aaXnZ4+l0g3NBmCzQ1Yh975fc9Nna/Ez1O4ld4FEc4wqP4FUuBvjP3a7l0zZKGXe6KCTxnHHIKxtwOoqs0oAENSUUVtjo/JFgOKj+3tbhqCF57doyor8lHmrRPJvqN5HoOudytGfHXDPkSrRPREi0R0TotCTXAp1GHVEP+EjXEtncZyxAFk+8BAO5YJnPcxpdxD0CK2+W5O7hgZeMXLCOKy+W3o5rsJr4htL89ZBtLZNgHYU9LYQ9bSg8AbBlyN95Xcpfl0Ix/H8t4EEAf942wej6BLUbim5suL5+XsYb3y++lpoIA9/NPdRqGmuV7AH6EI3G2z1L+ecMa4qNC7Ct4D9uC/JLmSr6kUDHD2woFtvC2ISWoizP5FYYfxS/K759g8/AgPoEEp4RcXhRkpkeSl/MvoE4YLc0IXpj/D/DP6unqWnboUPAjHNXC6FnICLAiaLO1G8DVAwBvlRQgXMJbTIiCAnXzZ0iNz3rufl3M6Qb+G38I4B+xwcZ/GygpxOdgK++p9N7qOFCY/4+wrFPA936WM3+9AgG5o8razk9ZmasHKCgAi/mRpw7rTd5549PEEn6efzvLSB/Eu9jAfQAbeBcP4f8MuTkLqe0yU3dH7wrxOfxN7Vxm/i/gQQD/AADFBdz/MbBufrOAp3AKp7CMU9ZO8gE8gAcAcC3spsP8QA9v4RIu4S3LdM4+DjDEEAct7/OX8Vv5sVzLXw9nQPgFNrCBEyCcEaeUblmMf075s2EJLrhCfIs5l5H+Bj6G7wAALuBOJmj/RFsv4rIzzg+FkK4eoIcDIG/7B0z19zU5R4HfMD7NKspayQayOyK9n3gY9wH8pPx9HxvCjKIuHfxRxxD8hNmf5OXL7s9K86N8DEwdj1HuR5iXNfnL1scV+2PMjQk+BhYPSdWnLRd95hGQe4hzPeg1fQwGjayl9wmhlpDXXzwEDtSzs+MO7gP4HeX3e5YbqcmCAJxXWvr4tWeYztSUNbyvtX7E+QDBY5F8AREtEAkQOCIBAkckQOCIBFgsvIJXmkXQCZCC4FqYbQeVjoyujxZ9cB71LeXxte5vGxqPvUNDvm3IuUEn1Vu+NgE5APylo34GGLSut9P4Cr6C045QI4wwKn8pdZISUZ/6RJTWBhF2aSkfRrhG6zRkh0Fu5AMR23TDkMuebPPos+G3FE82EdEWOxBSHPX47oGcLMw6rdP6hORFmGxQx5QMqBiQS83hmtw6RNuEvHQpo/suERHdFWu3GEwa0TkCQU+gn4+h1dUT9RqNg3FyENGf5X9XrRXUp2wCSt+iH5YUXAYmAv07ge4R6N+InzJBtJ5L1gU5RPlpWqLTFnlR/SMaNa7BAtusfLsWe5tNf0hEI0qrkUTVHVw4Kfew1WqjFnWuAO85fAL7+DF+gJ/jPYtPsI89XMIbVpduF/wTfhffwwa+hyfwL9ZQ2Vj6hijXxyx1/LLmJ6wwwk0AyP/X6+9Q+8WDn21x1uMMAHwJwEp+eUzxAcoe4IYxmt6nG417ALWDs/UAV4noL4joFbaF9InY1j+uHuBvCfRdAn2Llpj0H3X0AIUcotzeA4y03JmXgIGS6wyDRuX7qib7KlOD5+hcPXUziX5OhHr1j4MAn6HfpM/R+fyvifn1WXE2AqRElFKaXy9N+XeI6Nv539/V5EX5bNfwSv64Q87Hr6692XG+IQFMd10q1JDsatLOmwrUT122RENCyaEBE0ImQN1f18T8ZvFkAvDys/Rdeph26WH6e/q0IV+t5W5trPLK/LAeuolTUW6T3s1vBE35iIpr/25bAsBxUJ6N1DM8b+C+Vb5lVDD3FJCWRecJYidghsccuesih8P8Pi73ggIpI3uKPsxv/LbpQ3qKIcBVGtXj+ibvNqh+H8rfg0qTlmXzmxTYqkld07plORFRz2GcLvKR0/yux8CKAqkl9nPl9+dqsa09kK87eB3v+gWM6IgBoHvsx4QRAOCWeTrOBwgc0RcQOCIBAkckQOCIBAgc4REgcxsPGMmgfDZ61EOPbTfFOburVgmwXlbAemt9NLUqSEHYyb/vwDar4Vq+qHS3RoHfxy4u4zI+hU/hh/h0LWZWO1fzX9mepeq+55v4LAhP4AkQPovNWnx5+4ph7cF+6JC7QgxraRgjQObZdSLapSEN6ZAqpwc34CENZpAzRPtjlOdrnR1UybBDoB1rLorhkHPsUNep8vgYOxa6Q8M8B5meAZO+fRyv8FKklmEw+UwVO7XoycYa+7k3B0z51BjrxXc1QDZKvENEh1YjTpMAxVgWn0Zh9uqzruGaONZ5gj5CCSX0ETrBGmRIIKJB6dPncicTQPWHmCuXMm9Iv6zjOgGgzaKoEyDTul2OyXIEOEOr+cEQYJhX4w4748dFAHJWgdu4cvx1Rcb1UDuKnDN/KuonSspjjUn9eh5rlx9SpWz3kOLgCWBPn8oZV7wGKn2cQwKdYwkAhQB8n7JOm7RZ+isZAuzkVcdP+XIxXA7RTMoTyOVTk1p/NeMpw8CQf5uI1vKD6DqjYVC6bLn0iU53IsBD+dmHyv9m7KL/GhLROUsPYK+/PhGdoTO0Smdok4iuZefV9wV8gBQ38fn8FknecR9OubSbuFvKpbBe7mOSrdE38U38cfn9+/g9TZYqM56AK/UxcazjS8qvl/EzIfWslszyrwD4EADwS2aDGcKKNs/KfMHFI9p5ws8MuT5f6Ca+bMzayrbwzybL7jHb+RMeB/BfAID/VGpX62APaUhD2qXZvAksWh+fxjfL1p/hrhG3n7f71Kp/s2w759jUd+gqUd4Odxh59vmQ5UbPnGhjtt/H6DHjv9x/NL8HGFKfNmmTNolos34JUK+xNvPP/lPAXSrmxnLVM3CksEPbtM1Op0IeO6MQRwESfpln12ohhrUOfGjEPFc7mt0DEA3Lw0IA31Y4LQLIR6q0+rtkes2z1uFTOlv+s57lkFIqbieTWtzP02eoJ9QSEZT7DF22lD8FZP/NbejqBDEpMhSlaum0MkZ3sIqH8BKAF/E/rHSEFdzM32aQ4n/xa9qbDVz3SIC+meUk5j23QCRA4AjPFxChIRIgcEQCBA6TAEPrfuEXcau8obwlbokaMU/QHhRuExHRbeYB5ou1h5AvTuVhLx5jPtQfz5TGfcYIdlF7eixwkVG4R0R71uR+6jkgA48Qx3/sKfTfm3puJkCA21T4nMw+4DWWAK8xCuWBoNowhNX8HEncy6tcIVxyor1yuGiPlfvlf46O6uszmoH1PsCGpgQAgV24WTd/vZ9Q19byBnSFGBHR07RET1s1+JVuQQmQXf8Lr7PeB+gFl6phm2zLwlTz7zKSQfnJXyZcxkFu+DQnAid/Ov/2tKBhT0hjgQkwIBOqAfwJwHfeuqZ7jEeuiGczvy8BUrL3MVSOsNf99RXsBOgT0R7t0R75+BXm5DArwPzelACuozBS3fyZ2W3mn4UeYIFvAqv2nyp+58oMX2cJ8HVGoasHsB1qD8THn/49gJuCc3hwRasX8ilW+hSj0FU5dqnU+nUDj1qH6PoUkIWZutHGT4A91sBqFTxfkz5vNeNASFCiR9ve43iPBSOAvzv4SQzx5/n3r+EN/Ou0xzCnhLbvAppRxPkAgSN6AwNHJEDgiAQIHJEAgSMSIHBEApgYgFpL5xAqAYjZNkEHYVyvhJgWbgjvNgeAAXZbS+cTxigd0a4wGqd6A0xJES+1ahjQbu4IGtCuoAGEfHmTLt/WNLVx1w4cg80Dj9hFDdi1zNXBV5/NhBIB1Hj1ah6UcQb5CntZg50Atvg+BJCksqOnLl2QIWFbIflpHS4CZCasfutSEErjuTTYCGCP7yZAUxPbpfwGDHN58DeBd3AB32hxPbmDC7iAbJ3cBWXMPFHOXhB3wi002OCKfzxYJG9AjeWLfA/gOgK8B1CdQYQ7eElsX5Szv/icL6hPLrbcZ/f57aRziegNNDHArmBiWTqHiAQIHHEkMHBEAgSOSIDAEQkQOCIBAodJAFJeLB4RACoCpPlWqWdx1rLXfjZ0dM0ijZhLFARIcVhuDvMIDlkjb+ACvoYXcejxQglzeGHbGIHcPmZ5hA15je0Q0V8RiOhFyvbFtY0ep+JewtWovOt3/1jl8bAchVGJ7hEI9CINCHSPbG+n3qFzlDllU6tSfqfapXw79dP5n7nT7WmSNlwv5CTKl8q/pdYOocCOkwCA8wDeBAC8BAB4Exs4X9vKdAObuIkreASXcIgruN6oq/mk0ukkqI9Afzz/S8Avvzqd/30S/ObyHwewkstXFmu8fpLIfAEpDnFfedHRPWxgRdsJt0CKQ9zBBezgClvJlO9UX9+t/re13/9h7JU7aXmEDXlXsEvVoukR8Zu4ZL7w7H0VtpfK2ObL6O8Wr883mrQ8Hpaj8AZm78O4jzfxLDbAv5Gjmg1wAWDcomrrX7A1tIuLyh28jmv5g+AbuBZfFh8K4nyAwBF9AYEjEiBwRAIEjkiAwFERwPU+gK7yJ3G9lF/Hk8cun3T5pi1vi1yn630AXeWubeYmLZ90+aYtb31kHxeJQ/U+gK5y10aTk5ZPunzTlnc4skvA5bJDSJQRvMvMNxWm/IU8boIXDPmzin4wZ5/l1FvkSYv4l9n4XPlc5Vfz3zz+20iUELb4klzNBW+VhsgGgqrRoKT2S5dzGSnkCYDnAbyunRmffp/4bv1qiKbxE/ALzKjBb1K01OV/AgD4a2v9FWc38Q7GskhNJYD+Lup6Blxy4AW8DuB5vCZWsK2C3PoTVpuvAdz6ZQJ0r5+kPN9O/jjeUcw/FgKc7K5CwYfK/+YgZ48gQ12O3kZDony2iU8ecV1usj8VZI/jnmb+sWDcl4ARgFtofwno3sXb81fX0K4Ll/T79SCuHsqW/uO4p5l/DD1AdhP4Kit7lfkmyZ8HcBM382+q/HUlFjFnX1ekLjlEOVi5nn+qnX1Vk7jkbeunKB+1lr+jmZ9PtSmCeAyb9mPopOWdxwEWfyBm2gNRk5Z3JgDoSbpeKr9OT9aCdpVfpFul/BYziDFp+aTLN215yyNOCAkc0RsYOCIBAkckQOCIBAgckQCBIxIgcKjOoLrTUcesyyNaQPcGLpffjtjQXeURM4f6JaCb6Y6cGrq13KSzhggNJgFcBjzCkShfxpHSD9ThMqA6JYoDtfT1R1hgEmAZEA24jGVRfoRlkSAEecJE7qGwIq47HjPql4DlFlr02LKGbu3XRaCIhtDfF6BJamFnXR7RAtEbGDjiQFDgiAQIHJEAgSMSIHBEAgSOSIDAMb8E6MUBoXFAJ0D3cTZCH4T+xPPdwz5WJ55KANAJsJr/TRuu1p2Z/2Da2VwE6ATYz/+mC1frjuYfI3x7AEKv9tcMzKokFpl57TQszB/vAcYCfUbQPhLss26WhPlrhi2vUIX5V0X5QbwHGBd0Akg9wGppmuKvWSe8VztTJ1FP0c9RTDd/vAiMAbPUA0TzTwG+PUB3uN/f0cz8PUu4iEbw7QGOA1Lvwpk/3gOMAfqEkB4O0JvJzpXyTt/8jOiIOCMocMyvLyBiLPh/gj9Qphd3t8gAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzM6MTAtMDg6MDApYMCSAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjMzOjEwLTA4OjAwWD14LgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII='); + background-position: -32px 0; + margin-top: 0; + top: 0; + font-weight: normal; } .cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-position: -96px 0; + background-position: -96px 0; } .cmb2-element .ui-datepicker th { - padding: 0.75em 0; - color: #fff; - font-weight: normal; - border: none; - border-top: 1px solid #333; + padding: 0.75em 0; + color: #fff; + font-weight: normal; + border: none; + border-top: 1px solid #333; } .cmb2-element .ui-datepicker td { - background: #f1f1f1; - border: none; - padding: 0; + background: #f1f1f1; + border: none; + padding: 0; } .cmb2-element .ui-datepicker td .ui-state-default { - background: transparent; - border: none; - text-align: center; - padding: .5em; - margin: 0; - font-weight: normal; - color: #333; + background: transparent; + border: none; + text-align: center; + padding: .5em; + margin: 0; + font-weight: normal; + color: #333; } .cmb2-element .ui-datepicker td .ui-state-active, .cmb2-element .ui-datepicker td .ui-state-hover { - background: #0074a2; - color: #fff; + background: #0074a2; + color: #fff; } .cmb2-element .ui-datepicker td.ui-state-disabled, .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { - opacity: 1; - color: #999; + opacity: 1; + color: #999; } /* Other Datepicker Color Schemes */ /* Blue */ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #4796b3; + background: #4796b3; } .admin-color-blue .cmb2-element .ui-datepicker thead { - background: #52accc; + background: #52accc; } .admin-color-blue .cmb2-element .ui-datepicker th { - border-color: #52accc; + border-color: #52accc; } .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover { - background: #096484; + background: #096484; } /* Coffee */ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #46403c; + background: #46403c; } .admin-color-coffee .cmb2-element .ui-datepicker thead { - background: #59524c; + background: #59524c; } .admin-color-coffee .cmb2-element .ui-datepicker th { - border-color: #59524c; + border-color: #59524c; } .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover { - background: #c7a589; + background: #c7a589; } /* Ectoplasm */ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #413256; + background: #413256; } .admin-color-ectoplasm .cmb2-element .ui-datepicker thead { - background: #523f6d; + background: #523f6d; } .admin-color-ectoplasm .cmb2-element .ui-datepicker th { - border-color: #523f6d; + border-color: #523f6d; } .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover { - background: #a3b745; + background: #a3b745; } /* Midnight */ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #26292c; + background: #26292c; } .admin-color-midnight .cmb2-element .ui-datepicker thead { - background: #363b3f; + background: #363b3f; } .admin-color-midnight .cmb2-element .ui-datepicker th { - border-color: #363b3f; + border-color: #363b3f; } .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover { - background: #e14d43; + background: #e14d43; } /* Ocean */ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #627c83; + background: #627c83; } .admin-color-ocean .cmb2-element .ui-datepicker thead { - background: #738e96; + background: #738e96; } .admin-color-ocean .cmb2-element .ui-datepicker th { - border-color: #738e96; + border-color: #738e96; } .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover { - background: #9ebaa0; + background: #9ebaa0; } /* Sunrise */ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #be3631; + background: #be3631; } .admin-color-sunrise .cmb2-element .ui-datepicker thead { - background: #cf4944; + background: #cf4944; } .admin-color-sunrise .cmb2-element .ui-datepicker th { - border-color: #cf4944; + border-color: #cf4944; } .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover { - background: #dd823b; + background: #dd823b; } /* Light */ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #e5e5e5; + background: #e5e5e5; } .admin-color-light .cmb2-element .ui-datepicker thead { - background: #eee; + background: #eee; } .admin-color-light .cmb2-element .ui-datepicker td { - background: #fff; + background: #fff; } .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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'); + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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'); } .admin-color-light .cmb2-element .ui-datepicker th { - border-color: #fff; + border-color: #fff; } .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title, .admin-color-light .cmb2-element .ui-datepicker td .ui-state-default, .admin-color-light .cmb2-element .ui-datepicker th { - color: #555; + color: #555; } .admin-color-light .cmb2-element .ui-datepicker td .ui-state-active, .admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover { - color: #fff; - background: #888; + color: #fff; + background: #888; } .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled, .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { - color: #ccc; + color: #ccc; } /* Add-Ons / Themes Page ================================================== */ .download-wrapper { - padding-top: 20px; + padding-top: 20px; } .download-wrapper .column { - float: left; - margin: 0 8px 16px; - padding: 20px; - width: 48.5%; - width: -webkit-calc( 50% - 8px ); - width: calc( 50% - 8px ); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + float: left; + margin: 0 8px 16px; + padding: 20px; + width: 48.5%; + width: -webkit-calc( 50% - 8px ); + width: calc( 50% - 8px ); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } .download-wrapper .column:nth-child(odd) { - clear: both; - margin-left: 0; + clear: both; + margin-left: 0; } .download-wrapper .column:nth-child(even) { - margin-right: 0; + margin-right: 0; } @media screen and ( min-width: 1600px ) { - .download-wrapper .column { - width: 30%; - width: -webkit-calc( 33.1% - 8px ); - width: calc( 33.1% - 8px ); - } + .download-wrapper .column { + width: 30%; + width: -webkit-calc( 33.1% - 8px ); + width: calc( 33.1% - 8px ); + } - .download-wrapper .column:nth-child(odd) { - clear: none; - margin-left: 8px; - } + .download-wrapper .column:nth-child(odd) { + clear: none; + margin-left: 8px; + } - .download-wrapper .column:nth-child(even) { - margin-right: 8px; - } + .download-wrapper .column:nth-child(even) { + margin-right: 8px; + } - .download-wrapper .column:nth-child(3n+1) { - clear: both; - margin-left: 0; - } + .download-wrapper .column:nth-child(3n+1) { + clear: both; + margin-left: 0; + } - .download-wrapper .column:nth-child(3n) { - margin-right: 0; - } + .download-wrapper .column:nth-child(3n) { + margin-right: 0; + } } .download-wrapper .edd_download { - background-color: #fff; - border: 1px solid #dedede; - min-height: 170px; - position: relative; - padding: 20px; + background-color: #fff; + border: 1px solid #dedede; + min-height: 170px; + position: relative; + padding: 20px; } .download-wrapper .edd_download h3 { - margin-top: 3px; + margin-top: 3px; } .download-wrapper .edd_download .download-featured-icon { - color: #fff; - display: block; - position: absolute; - top: 20px; - left: 20px; - width: 128px; - height: 128px; - margin: 0 20px 20px 0; + color: #fff; + display: block; + position: absolute; + top: 20px; + left: 20px; + width: 128px; + height: 128px; + margin: 0 20px 20px 0; } .download-wrapper .edd_download .download-featured-icon span.icon { - font-size: 48px; - line-height: 120px; - height: 120px; - text-align: center; - width: 100%; + font-size: 48px; + line-height: 120px; + height: 120px; + text-align: center; + width: 100%; } .download-wrapper .edd_download .download-featured-icon span.free { - display: none; + display: none; } .download-wrapper .edd_download.download_category-add-ons .entry-header { - margin-left: 148px; + margin-left: 148px; } .download-wrapper .edd_download .post-featured-image { - display: block; - margin-bottom: 20px; + display: block; + margin-bottom: 20px; } .download-wrapper .edd_download img { - height: auto; - max-width: 100%; + height: auto; + max-width: 100%; } @media only screen and (max-width: 960px) { - .download-wrapper .edd_download .download-featured-icon { - left: auto; - margin: 0 0 20px; - position: relative; - top: auto; - width: 100%; - } + .download-wrapper .edd_download .download-featured-icon { + left: auto; + margin: 0 0 20px; + position: relative; + top: auto; + width: 100%; + } - .download-wrapper .edd_download.download_category-add-ons .entry-header { - margin-bottom: 10px; - margin-left: 0; - } + .download-wrapper .edd_download.download_category-add-ons .entry-header { + margin-bottom: 10px; + margin-left: 0; + } } @@ -804,572 +804,572 @@ th.column-listing_actions { @charset "UTF-8"; @font-face { - font-family: "feather"; - src:url("../fonts/feather-webfont.eot"); - src:url("../fonts/feather-webfont.eot?#iefix") format("embedded-opentype"), + font-family: "feather"; + src:url("../fonts/feather-webfont.eot"); + src:url("../fonts/feather-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/feather-webfont.woff") format("woff"), url("../fonts/feather-webfont.ttf") format("truetype"), url("../fonts/feather-webfont.svg#feather") format("svg"); - font-weight: 300; - font-style: normal; + font-weight: 300; + font-style: normal; } /* CSS Class Mapping Method */ .wpsight-addons [class*="icon-"] { - display: inline-block; - font-family: "feather"; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-family: "feather"; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } .wpsight-addons .icon-eye:before { - content: "\e000"; + content: "\e000"; } .wpsight-addons .icon-paper-clip:before { - content: "\e001"; + content: "\e001"; } .wpsight-addons .icon-mail:before { - content: "\e002"; + content: "\e002"; } .wpsight-addons .icon-mail:before { - content: "\e002"; + content: "\e002"; } .wpsight-addons .icon-toggle:before { - content: "\e003"; + content: "\e003"; } .wpsight-addons .icon-layout:before { - content: "\e004"; + content: "\e004"; } .wpsight-addons .icon-link:before { - content: "\e005"; + content: "\e005"; } .wpsight-addons .icon-bell:before { - content: "\e006"; + content: "\e006"; } .wpsight-addons .icon-lock:before { - content: "\e007"; + content: "\e007"; } .wpsight-addons .icon-unlock:before { - content: "\e008"; + content: "\e008"; } .wpsight-addons .icon-ribbon:before { - content: "\e009"; + content: "\e009"; } .wpsight-addons .icon-image:before { - content: "\e010"; + content: "\e010"; } .wpsight-addons .icon-signal:before { - content: "\e011"; + content: "\e011"; } .wpsight-addons .icon-target:before { - content: "\e012"; + content: "\e012"; } .wpsight-addons .icon-clipboard:before { - content: "\e013"; + content: "\e013"; } .wpsight-addons .icon-clock:before { - content: "\e014"; + content: "\e014"; } .wpsight-addons .icon-clock:before { - content: "\e014"; + content: "\e014"; } .wpsight-addons .icon-watch:before { - content: "\e015"; + content: "\e015"; } .wpsight-addons .icon-air-play:before { - content: "\e016"; + content: "\e016"; } .wpsight-addons .icon-camera:before { - content: "\e017"; + content: "\e017"; } .wpsight-addons .icon-video:before { - content: "\e018"; + content: "\e018"; } .wpsight-addons .icon-disc:before { - content: "\e019"; + content: "\e019"; } .wpsight-addons .icon-printer:before { - content: "\e020"; + content: "\e020"; } .wpsight-addons .icon-monitor:before { - content: "\e021"; + content: "\e021"; } .wpsight-addons .icon-server:before { - content: "\e022"; + content: "\e022"; } .wpsight-addons .icon-cog:before { - content: "\e023"; + content: "\e023"; } .wpsight-addons .icon-heart:before { - content: "\e024"; + content: "\e024"; } .wpsight-addons .icon-paragraph:before { - content: "\e025"; + content: "\e025"; } .wpsight-addons .icon-align-justify:before { - content: "\e026"; + content: "\e026"; } .wpsight-addons .icon-align-left:before { - content: "\e027"; + content: "\e027"; } .wpsight-addons .icon-align-center:before { - content: "\e028"; + content: "\e028"; } .wpsight-addons .icon-align-right:before { - content: "\e029"; + content: "\e029"; } .wpsight-addons .icon-book:before { - content: "\e030"; + content: "\e030"; } .wpsight-addons .icon-layers:before { - content: "\e031"; + content: "\e031"; } .wpsight-addons .icon-stack:before { - content: "\e032"; + content: "\e032"; } .wpsight-addons .icon-stack-2:before { - content: "\e033"; + content: "\e033"; } .wpsight-addons .icon-paper:before { - content: "\e034"; + content: "\e034"; } .wpsight-addons .icon-paper-stack:before { - content: "\e035"; + content: "\e035"; } .wpsight-addons .icon-search:before { - content: "\e036"; + content: "\e036"; } .wpsight-addons .icon-zoom-in:before { - content: "\e037"; + content: "\e037"; } .wpsight-addons .icon-zoom-out:before { - content: "\e038"; + content: "\e038"; } .wpsight-addons .icon-reply:before { - content: "\e039"; + content: "\e039"; } .wpsight-addons .icon-circle-plus:before { - content: "\e040"; + content: "\e040"; } .wpsight-addons .icon-circle-minus:before { - content: "\e041"; + content: "\e041"; } .wpsight-addons .icon-circle-check:before { - content: "\e042"; + content: "\e042"; } .wpsight-addons .icon-circle-cross:before { - content: "\e043"; + content: "\e043"; } .wpsight-addons .icon-square-plus:before { - content: "\e044"; + content: "\e044"; } .wpsight-addons .icon-square-minus:before { - content: "\e045"; + content: "\e045"; } .wpsight-addons .icon-square-check:before { - content: "\e046"; + content: "\e046"; } .wpsight-addons .icon-square-cross:before { - content: "\e047"; + content: "\e047"; } .wpsight-addons .icon-microphone:before { - content: "\e048"; + content: "\e048"; } .wpsight-addons .icon-record:before { - content: "\e049"; + content: "\e049"; } .wpsight-addons .icon-skip-back:before { - content: "\e050"; + content: "\e050"; } .wpsight-addons .icon-rewind:before { - content: "\e051"; + content: "\e051"; } .wpsight-addons .icon-play:before { - content: "\e052"; + content: "\e052"; } .wpsight-addons .icon-pause:before { - content: "\e053"; + content: "\e053"; } .wpsight-addons .icon-stop:before { - content: "\e054"; + content: "\e054"; } .wpsight-addons .icon-fast-forward:before { - content: "\e055"; + content: "\e055"; } .wpsight-addons .icon-skip-forward:before { - content: "\e056"; + content: "\e056"; } .wpsight-addons .icon-shuffle:before { - content: "\e057"; + content: "\e057"; } .wpsight-addons .icon-repeat:before { - content: "\e058"; + content: "\e058"; } .wpsight-addons .icon-folder:before { - content: "\e059"; + content: "\e059"; } .wpsight-addons .icon-umbrella:before { - content: "\e060"; + content: "\e060"; } .wpsight-addons .icon-moon:before { - content: "\e061"; + content: "\e061"; } .wpsight-addons .icon-thermometer:before { - content: "\e062"; + content: "\e062"; } .wpsight-addons .icon-drop:before { - content: "\e063"; + content: "\e063"; } .wpsight-addons .icon-sun:before { - content: "\e064"; + content: "\e064"; } .wpsight-addons .icon-cloud:before { - content: "\e065"; + content: "\e065"; } .wpsight-addons .icon-cloud-upload:before { - content: "\e066"; + content: "\e066"; } .wpsight-addons .icon-cloud-download:before { - content: "\e067"; + content: "\e067"; } .wpsight-addons .icon-upload:before { - content: "\e068"; + content: "\e068"; } .wpsight-addons .icon-download:before { - content: "\e069"; + content: "\e069"; } .wpsight-addons .icon-location:before { - content: "\e070"; + content: "\e070"; } .wpsight-addons .icon-location-2:before { - content: "\e071"; + content: "\e071"; } .wpsight-addons .icon-map:before { - content: "\e072"; + content: "\e072"; } .wpsight-addons .icon-battery:before { - content: "\e073"; + content: "\e073"; } .wpsight-addons .icon-head:before { - content: "\e074"; + content: "\e074"; } .wpsight-addons .icon-briefcase:before { - content: "\e075"; + content: "\e075"; } .wpsight-addons .icon-speech-bubble:before { - content: "\e076"; + content: "\e076"; } .wpsight-addons .icon-anchor:before { - content: "\e077"; + content: "\e077"; } .wpsight-addons .icon-globe:before { - content: "\e078"; + content: "\e078"; } .wpsight-addons .icon-box:before { - content: "\e079"; + content: "\e079"; } .wpsight-addons .icon-reload:before { - content: "\e080"; + content: "\e080"; } .wpsight-addons .icon-share:before { - content: "\e081"; + content: "\e081"; } .wpsight-addons .icon-marquee:before { - content: "\e082"; + content: "\e082"; } .wpsight-addons .icon-marquee-plus:before { - content: "\e083"; + content: "\e083"; } .wpsight-addons .icon-marquee-minus:before { - content: "\e084"; + content: "\e084"; } .wpsight-addons .icon-tag:before { - content: "\e085"; + content: "\e085"; } .wpsight-addons .icon-power:before { - content: "\e086"; + content: "\e086"; } .wpsight-addons .icon-command:before { - content: "\e087"; + content: "\e087"; } .wpsight-addons .icon-alt:before { - content: "\e088"; + content: "\e088"; } .wpsight-addons .icon-esc:before { - content: "\e089"; + content: "\e089"; } .wpsight-addons .icon-bar-graph:before { - content: "\e090"; + content: "\e090"; } .wpsight-addons .icon-bar-graph-2:before { - content: "\e091"; + content: "\e091"; } .wpsight-addons .icon-pie-graph:before { - content: "\e092"; + content: "\e092"; } .wpsight-addons .icon-star:before { - content: "\e093"; + content: "\e093"; } .wpsight-addons .icon-arrow-left:before { - content: "\e094"; + content: "\e094"; } .wpsight-addons .icon-arrow-right:before { - content: "\e095"; + content: "\e095"; } .wpsight-addons .icon-arrow-up:before { - content: "\e096"; + content: "\e096"; } .wpsight-addons .icon-arrow-down:before { - content: "\e097"; + content: "\e097"; } .wpsight-addons .icon-volume:before { - content: "\e098"; + content: "\e098"; } .wpsight-addons .icon-mute:before { - content: "\e099"; + content: "\e099"; } .wpsight-addons .icon-content-right:before { - content: "\e100"; + content: "\e100"; } .wpsight-addons .icon-content-left:before { - content: "\e101"; + content: "\e101"; } .wpsight-addons .icon-grid:before { - content: "\e102"; + content: "\e102"; } .wpsight-addons .icon-grid-2:before { - content: "\e103"; + content: "\e103"; } .wpsight-addons .icon-columns:before { - content: "\e104"; + content: "\e104"; } .wpsight-addons .icon-loader:before { - content: "\e105"; + content: "\e105"; } .wpsight-addons .icon-bag:before { - content: "\e106"; + content: "\e106"; } .wpsight-addons .icon-ban:before { - content: "\e107"; + content: "\e107"; } .wpsight-addons .icon-flag:before { - content: "\e108"; + content: "\e108"; } .wpsight-addons .icon-trash:before { - content: "\e109"; + content: "\e109"; } .wpsight-addons .icon-expand:before { - content: "\e110"; + content: "\e110"; } .wpsight-addons .icon-contract:before { - content: "\e111"; + content: "\e111"; } .wpsight-addons .icon-maximize:before { - content: "\e112"; + content: "\e112"; } .wpsight-addons .icon-minimize:before { - content: "\e113"; + content: "\e113"; } .wpsight-addons .icon-plus:before { - content: "\e114"; + content: "\e114"; } .wpsight-addons .icon-minus:before { - content: "\e115"; + content: "\e115"; } .wpsight-addons .icon-check:before { - content: "\e116"; + content: "\e116"; } .wpsight-addons .icon-cross:before { - content: "\e117"; + content: "\e117"; } .wpsight-addons .icon-move:before { - content: "\e118"; + content: "\e118"; } .wpsight-addons .icon-delete:before { - content: "\e119"; + content: "\e119"; } .wpsight-addons .icon-menu:before { - content: "\e120"; + content: "\e120"; } .wpsight-addons .icon-archive:before { - content: "\e121"; + content: "\e121"; } .wpsight-addons .icon-inbox:before { - content: "\e122"; + content: "\e122"; } .wpsight-addons .icon-outbox:before { - content: "\e123"; + content: "\e123"; } .wpsight-addons .icon-file:before { - content: "\e124"; + content: "\e124"; } .wpsight-addons .icon-file-add:before { - content: "\e125"; + content: "\e125"; } .wpsight-addons .icon-file-subtract:before { - content: "\e126"; + content: "\e126"; } .wpsight-addons .icon-help:before { - content: "\e127"; + content: "\e127"; } .wpsight-addons .icon-open:before { - content: "\e128"; + content: "\e128"; } .wpsight-addons .icon-ellipsis:before { - content: "\e129"; + content: "\e129"; } .wpsight-admin-addons { - margin-top: 1rem; + margin-top: 1rem; } .wpsight-settings-wrap *, .wpsight-settings-wrap *:before, .wpsight-settings-wrap *:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; } @@ -1391,40 +1391,40 @@ th.column-listing_actions { **************************************************/ @media (max-width: 600px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back, - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar { - margin-left: -260px; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back, + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar { + margin-left: -260px; + } - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { - margin-left: 0 !important; - width: 100%; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { + margin-left: 0 !important; + width: 100%; + } } @media (max-width: 992px) { - #wpwrap { - overflow-x: hidden; - } + #wpwrap { + overflow-x: hidden; + } } .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back, .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar, .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { - transition: .6s margin-left ease; + transition: .6s margin-left ease; } .wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar-back, .wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar { - margin-left: 0; + margin-left: 0; } .wpsight-settings-page .wpsight-settings-wrap.wpsight-settings-wrap-hide-navbar .wpsight-admin-main { - margin-left: 260px !important; + margin-left: 260px !important; } .wpsight-settings-page .wpsight-settings-wrap input { - margin: 0; + margin: 0; } .wpsight-settings-page .wpsight-settings-wrap input[type="text"], @@ -1478,28 +1478,28 @@ th.column-listing_actions { } @media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .form-table th { - width: 100%; - padding: 1rem 1rem 1rem 0; - } + .wpsight-settings-page .wpsight-settings-wrap .form-table th { + width: 100%; + padding: 1rem 1rem 1rem 0; + } - .wpsight-settings-page .wpsight-settings-wrap .form-table th, - .wpsight-settings-page .wpsight-settings-wrap .form-table tr, - .wpsight-settings-page .wpsight-settings-wrap .form-table td { - display: block; - margin: 0; - } + .wpsight-settings-page .wpsight-settings-wrap .form-table th, + .wpsight-settings-page .wpsight-settings-wrap .form-table tr, + .wpsight-settings-page .wpsight-settings-wrap .form-table td { + display: block; + margin: 0; + } - .wpsight-settings-page .wpsight-settings-wrap .form-table td { - padding-top: 0; - padding-left: 0; - } + .wpsight-settings-page .wpsight-settings-wrap .form-table td { + padding-top: 0; + padding-left: 0; + } } @media (max-width: 992px) { - .wpsight-settings-page .wpsight-settings-wrap .form-table th { - padding: 1rem 0; - } + .wpsight-settings-page .wpsight-settings-wrap .form-table th { + padding: 1rem 0; + } } .wpsight-settings-page .wpsight-settings-wrap .description { @@ -1623,7 +1623,7 @@ th.column-listing_actions { .wpsight-settings-field-measurement-wrap .wpsight-settings-field-text { margin-right: 1rem; - margin-bottom: 1rem; + margin-bottom: 1rem; } .wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio input[type="radio"] + .label-radio { @@ -1631,10 +1631,10 @@ th.column-listing_actions { } @media (max-width: 1200px) { - .wpsight-settings-field-measurement-wrap .wpsight-settings-field-text, - .wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio { - float: none; - } + .wpsight-settings-field-measurement-wrap .wpsight-settings-field-text, + .wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio { + float: none; + } } @@ -1647,10 +1647,10 @@ th.column-listing_actions { position: relative; -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; } .wpsight-settings-field-checkbox .switch input[type="checkbox"] { @@ -1668,16 +1668,16 @@ th.column-listing_actions { border: 1px solid #ddd; -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; -webkit-transition: background-color .3s; - -moz-transition: background-color .3s; - -ms-transition: background-color .3s; - -o-transition: background-color .3s; - transition: background-color .3s; + -moz-transition: background-color .3s; + -ms-transition: background-color .3s; + -o-transition: background-color .3s; + transition: background-color .3s; } .wpsight-settings-field-checkbox .switch .label-checkbox:before { @@ -1696,16 +1696,16 @@ th.column-listing_actions { background: #fff; -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-checkbox .switch input[type="checkbox"]:checked + .label-checkbox { @@ -1740,16 +1740,16 @@ th.column-listing_actions { border: 1px solid #DDD; -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-radio input[type="radio"]:checked + .label-radio { @@ -1768,11 +1768,11 @@ th.column-listing_actions { left: 1em; top: calc(50% - 9px); - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-radio input[type="radio"]:checked + .label-radio:before { @@ -1792,24 +1792,24 @@ th.column-listing_actions { border-radius: 100%; -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-radio input[type="radio"]:checked + .label-radio:after { -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); } /****************************** @@ -1834,16 +1834,16 @@ th.column-listing_actions { border: 1px solid #DDD; -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox { @@ -1862,11 +1862,11 @@ th.column-listing_actions { left: 1em; top: calc(50% - 9px); - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox:before { @@ -1886,24 +1886,24 @@ th.column-listing_actions { border-radius: 100%; -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; + -webkit-transition: all .3s; + -moz-transition: all .3s; + -ms-transition: all .3s; + -o-transition: all .3s; + transition: all .3s; } .wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox:after { -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); } /****************************** @@ -2049,7 +2049,7 @@ ul#adminmenu>li.current>a.current:after { } .wpsight-settings-page .notice { - position: relative; + position: relative; } .wpsight-settings-page .notice, @@ -2068,16 +2068,16 @@ ul#adminmenu>li.current>a.current:after { border-bottom: 1px solid rgba( 100, 100, 100, .1 ); box-shadow: none; box-sizing: border-box; - transition: .6s width ease, .6s margin-left ease; + transition: .6s width ease, .6s margin-left ease; } @media (max-width: 600px) { - .wpsight-settings-page .notice, - .wpsight-settings-page .update-nag, - .wpsight-settings-page #update-nag { - width: 100%; - margin: 0 !important; - } + .wpsight-settings-page .notice, + .wpsight-settings-page .update-nag, + .wpsight-settings-page #update-nag { + width: 100%; + margin: 0 !important; + } } .wpsight-settings-page .notice.notice-error, @@ -2155,13 +2155,13 @@ ul#adminmenu>li.current>a.current:after { .wpsight-settings-page .wpsight-settings-wrap .settings_panel h3 { font-size: 1.6rem; - line-height: 1.2; + line-height: 1.2; } .wpsight-settings-page .wpsight-settings-wrap .settings_panel h3 small { font-weight: normal; font-size: .8rem; - line-height: 1.2; + line-height: 1.2; } .wpsight-settings-page .wpsight-settings-wrap .settings_panel h4 { @@ -2172,7 +2172,7 @@ ul#adminmenu>li.current>a.current:after { .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading { - border-bottom: 1px solid #DDD; + border-bottom: 1px solid #DDD; margin: 0 0 1rem 0; padding: 1rem 0 2rem 0; position: relative; @@ -2197,20 +2197,20 @@ ul#adminmenu>li.current>a.current:after { } @media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { - float: none; - margin-top: 1rem; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { + float: none; + margin-top: 1rem; + } - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button:first-child { - margin-left: 0; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button:first-child { + margin-left: 0; + } } @media (max-width: 782px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { - margin-bottom: -0.5rem; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { + margin-bottom: -0.5rem; + } } .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading h3 { @@ -2229,7 +2229,7 @@ ul#adminmenu>li.current>a.current:after { } .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-auto-height { - min-height: auto; + min-height: auto; } .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-hero p { @@ -2242,37 +2242,37 @@ ul#adminmenu>li.current>a.current:after { } @media (max-width: 782px) { - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button { - margin-bottom: .5rem; - margin-left: 0; - } + .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button { + margin-bottom: .5rem; + margin-left: 0; + } - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button:first-child { - margin-right: 1rem; - } + .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button:first-child { + margin-right: 1rem; + } } /*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save {*/ -/* background: #14AD8F;*/ -/* border-color: #20a087 #20a087 #20a087;*/ -/* box-shadow: 0 1px 0 #1f826e;*/ -/* color: #fff;*/ -/* text-decoration: none;*/ -/* text-shadow: 0 -1px 1px #15927a, 1px 0 1px #15927a, 0 1px 1px #15927a, -1px 0 1px #15927a;*/ +/* background: #14AD8F;*/ +/* border-color: #20a087 #20a087 #20a087;*/ +/* box-shadow: 0 1px 0 #1f826e;*/ +/* color: #fff;*/ +/* text-decoration: none;*/ +/* text-shadow: 0 -1px 1px #15927a, 1px 0 1px #15927a, 0 1px 1px #15927a, -1px 0 1px #15927a;*/ /*}*/ /*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:hover {*/ -/* background: #15B797;*/ +/* background: #15B797;*/ /*}*/ /*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:focus {*/ -/* box-shadow: 0 1px 0 #129D81, 0 0 2px 1px #47C4AB;*/ +/* box-shadow: 0 1px 0 #129D81, 0 0 2px 1px #47C4AB;*/ /*}*/ /*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:active {*/ -/* background: #13A98B;*/ -/* border-color: #129D81;*/ -/* box-shadow: inset 0 2px 0 #129D81;*/ +/* background: #13A98B;*/ +/* border-color: #129D81;*/ +/* box-shadow: inset 0 2px 0 #129D81;*/ /*}*/ .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button-text-icon span { @@ -2304,122 +2304,122 @@ ul#adminmenu>li.current>a.current:after { } @media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account, - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation, - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support { - background-position: 76% 50px; - } + .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account, + .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation, + .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support { + background-position: 76% 50px; + } } .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-newsletter { - background: #F9F9F9; + background: #F3F3F3; } @media (max-width: 1200px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 50%; - float: left; - } + .wpsight-admin-ui-panel-wrap-theme-bar-item { + width: 50%; + float: left; + } } @media (max-width: 992px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 100%; - float: none; - } + .wpsight-admin-ui-panel-wrap-theme-bar-item { + width: 100%; + float: none; + } - .wpsight-admin-main .regular-text { - width: 100%; - max-width: 100%; - } + .wpsight-admin-main .regular-text { + width: 100%; + max-width: 100%; + } } @media (max-width: 992px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 100%; - float: none; - } + .wpsight-admin-ui-panel-wrap-theme-bar-item { + width: 100%; + float: none; + } - .wpsight-admin-main .regular-text { - width: 100%; - max-width: 100%; - } + .wpsight-admin-main .regular-text { + width: 100%; + max-width: 100%; + } } @media (max-width: 782px) { - .wpsight-admin-main .button { - padding: 0 10px 1px; - margin-bottom: 0 - } + .wpsight-admin-main .button { + padding: 0 10px 1px; + margin-bottom: 0 + } - .settings_panel .form-table td select { - height: 45px !important; - padding: .3rem .75rem !important; - } + .settings_panel .form-table td select { + height: 45px !important; + padding: .3rem .75rem !important; + } } .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle { - min-height: auto; - display: none; + min-height: auto; + display: none; } @media (max-width: 600px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle { - display: block; - } + .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle { + display: block; + } } .wpsight-admin-main-btn-toggle { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 38px; - height: 28px; - position: relative; - top: 0; - background: none; - border: none; - outline: none; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 38px; + height: 28px; + position: relative; + top: 0; + background: none; + border: none; + outline: none; } .wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line { - position: relative; - height: 3px; - width: inherit; - transition: .4s all ease; - background: #000; - border-radius: 10px; + position: relative; + height: 3px; + width: inherit; + transition: .4s all ease; + background: #000; + border-radius: 10px; } .wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(2) { - margin: 8px 0; + margin: 8px 0; } .wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(3) { - align-self: flex-start; + align-self: flex-start; } .wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(1) { - margin-bottom: -3px; - transform: rotate(45deg); + margin-bottom: -3px; + transform: rotate(45deg); } .wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(2) { - margin: 0; - transform: translate(-100%, 0); - opacity: 0; + margin: 0; + transform: translate(-100%, 0); + opacity: 0; } .wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(3) { - margin-top: -3px; - transform: rotate(-45deg); + margin-top: -3px; + transform: rotate(-45deg); } body.post-type-listing .wp-list-table.posts .column-title { @@ -2600,7 +2600,7 @@ body.post-type-listing .wp-list-table.posts .column-title { .wpsight-admin-ui-promo .swiper-button-next { transition: .4s all ease; opacity: 0; - color: #14ad8f; + color: white; } @media (max-width: 992px) { diff --git a/assets/css/wpsight-admin.min.css b/assets/css/wpsight-admin.min.css index 4e4b731..f21bb57 100644 --- a/assets/css/wpsight-admin.min.css +++ b/assets/css/wpsight-admin.min.css @@ -1,3071 +1 @@ -/* Listings -================================================== */ - -@media (min-width: 1350px) { - - .column-listing_posted, - .column-listing_expires { - width: 160px; - } - - .column-listing_status { - width: 150px; - } - - .column-listing_offer { - width: 100px; - } - - .column-listing_price { - width: 90px; - } - - .column-listing_id, - .column-listing_actions { - width: 70px; - } - -} - -@media screen and ( max-width: 782px ) { - - .column-listing_posted, - .column-listing_expires, - .column-listing_status, - .column-listing_offer, - .column-listing_price, - .column-listing_id, - .column-listing_title:before, - .column-listing_title.actions, - .column-listing_actions:before { - display: none !important; - } - - .column-listing_actions { - width: 100px !important; - } - - .column-listing_actions, - .column-listing_title { - display: table-cell !important; - } - - .column-listing_title .wpsight-listing-thumbnail { - display: block !important; - margin-bottom: 15px; - } - - .column-listing_title a.button, - .column-listing_actions a.button { - height: 40px; - line-height: 40px; - width: 40px; - } - -} - -td.column-listing_offer span { - background-color: #333; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - color: #fff; - display: block; - font-size: 11px; - margin-right: 15px; - padding: 3px 0; - text-align: center; -} - -.rtl td.column-listing_offer span { - margin-left: 15px; - margin-right: 0; -} - -.column-listing_price .listing-rental-period { - display: block; - font-size: smaller; -} - -.column-listing_title .listing-info { - overflow: hidden; -} - -.column-listing_title .listing-title { - font-size: 14px !important; - font-weight: bold; -} - -@media screen and ( max-width: 782px ) { - - .column-listing_title .listing-title { - font-size: 16px !important; - margin-top: 5px; - } - -} - -.column-listing_title .listing-taxonomies div { - display: inline-block; - margin-right: 5px; -} - -.rtl .column-listing_title .listing-taxonomies div { - margin-left: 5px; - margin-right: 0; -} - -.column-listing_title .listing-sticky, -.column-listing_title .listing-featured { - font-weight: normal; -} - -.column-listing_title .wpsight-listing-thumbnail { - background-color: #f9f9f9; - border: 1px solid #eee; - display: none; - float: left; - height: 75px; - margin-right: 15px; - padding: 8px; - width: 75px; -} - -.rtl .column-listing_title .wpsight-listing-thumbnail { - float: right; - margin-left: 15px; - margin-right: 0; -} - -@media (min-width: 1350px) { - - .column-listing_title .wpsight-listing-thumbnail { - display: flex; - } - -} - -.column-listing_title .wpsight-listing-thumbnail img { - max-width: 100%; - max-height: 100%; -} - -.alternate .column-listing_title .wpsight-listing-thumbnail { - background-color: #fff; -} - -.column-listing_title .wpsight-listing-thumbnail span, -.column-listing_title .wpsight-listing-thumbnail span:before { - color: #ddd; - display: block; - font-size: 48px; - margin: auto; -} - -.column-listing_title .wpsight-listing-thumbnail span { - display: flex; - height: 100%; - width: 100%; -} - -.alternate .column-listing_title .wpsight-listing-thumbnail span { - color: #eee; -} - -.column-listing_title .listing-not-available { - display: block; - font-size: smaller; - margin-top: 0px; -} - -.column-listing_status .listing-status { - display: flex; -} - -.column-listing_status .listing-status span { - background-color: #999; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border-radius: 50%; - display: inline-block; - height: 8px; - margin: auto 10px auto 0; - width: 8px; -} - -.rtl .column-listing_status .listing-status span { - margin-left: 10px; - margin-right: 0; -} - -.column-listing_status .listing-status.status-publish span { - background-color: #2ecc71; -} - -.column-listing_status .listing-status.status-expired span { - background-color: #e74c3c; -} - -.column-listing_status .listing-status.status-preview span { - background-color: #bdc3c7; -} - -.column-listing_status .listing-status.status-pending span { - background-color: #f39c12; -} - -.column-listing_status .listing-status.status-pending_payment span { - background-color: #f1c40f; -} - -.column-listing_posted .listing-posted, -.column-listing_posted .listing-agent { - display: block; -} - -.column-listing_posted .listing-posted, -.column-listing_expires .listing-expires { - font-weight: bold; -} - -.column-listing_expires .listing-expires, -.column-listing_expires .listing-expires-left { - display: block; -} - -.column-listing_actions, -th.column-listing_actions { - text-align: right; -} - -.rtl .column-listing_actions, -.rtl th.column-listing_actions { - text-align: left; -} - -.column-listing_actions strong { - display: block; - margin-bottom: .2em; -} - -.column-listing_title .actions { - padding-top: 8px; -} - -.column-listing_actions .actions { - padding-top: 2px; -} - -@media screen and ( max-width: 782px ) { - .column-listing_title .actions, - .column-listing_title .listing-taxonomies { - display: none !important; - } -} - -.column-listing_title a.button, -.column-listing_actions a.button { - display: inline-block; - margin: 0 0 4px 4px; - cursor: pointer; - padding: 0 !important; - height: 30px !important; - width: 30px !important; - font-size: 16px !important; - line-height: 30px !important; - overflow: hidden; -} - -.rtl .column-listing_title a.button, -.rtl .column-listing_actions a.button { - margin-left: 0; - margin-right: 4px; -} - -.column-listing_title a.button { - margin: 0 4px 4px 0; -} - -.rtl .column-listing_title a.button { - margin-left: 4px; - margin-right: 0px; -} - -.column-listing_title i, -.column-listing_actions i { - display: block; - font-family: "dashicons"; - font-style: normal; - font-weight: normal; - font-variant: normal; - height: inherit; - line-height: inherit; - speak: none; - text-align: center; - text-transform: none; - width: inherit; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.column-listing_title i.icon-view:before, -.column-listing_actions i.icon-view:before { - content: "\f504"; -} - -.column-listing_title i.icon-edit:before { - content: "\f464"; -} - -.column-listing_actions i.icon-approve:before { - content: "\f147"; - font-weight: bold; -} - -.column-listing_actions i.icon-expire:before { - content: "\f469"; -} - -.column-listing_actions i.icon-unavailable:before { - content: "\f160"; -} - -.column-listing_actions i.icon-sticky:before { - content: "\f173"; -} - -.column-listing_actions i.icon-featured:before { - content: "\f313"; -} - -.column-listing_actions i.icon-delete:before { - content: "\f182"; -} - -.column-listing_actions i.icon-untrash:before { - content: "\f310"; -} - -.column-listing_title i.icon-home:before { - content: "\f102"; -} - -.column-listing_actions .listing-approved i.icon-approve, -.column-listing_actions .listing-expired i.icon-expire, -.column-listing_actions .listing-not-available i.icon-unavailable, -.column-listing_actions .listing-sticky i.icon-sticky, -.column-listing_actions .listing-featured i.icon-featured { - color: #0074a2; -} - -/* Settings -================================================== */ - -.wpsight-settings-wrap { - position: relative; -} - -.wpsight-settings-wrap div.updated { - font-weight: bold; - margin: 15px 0; -} - -.wpsight-settings-wrap .label-radio { - display: block; - margin-bottom: 8px; -} - -.wpsight-settings-wrap .hidden { - display: none; -} - -/* TipTip (v1.2) -================================================== */ - -#tiptip_holder { - display: none; - position: absolute; - top: 0; - left: 0; - z-index: 99999; -} -#tiptip_holder.tip_top { - padding-bottom: 5px; -} -#tiptip_holder.tip_bottom { - padding-top: 5px; -} -#tiptip_holder.tip_right { - padding-left: 5px; -} -#tiptip_holder.tip_left { - padding-right: 5px; -} -#tiptip_content { - font-size: 11px; - color: #fff; - padding: 4px 8px; - background:#464646; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.10); - text-align: center; -} - -#tiptip_content code { - background: #999; - padding: 1px; -} - -#tiptip_arrow, #tiptip_arrow_inner { - position: absolute; - border-color: transparent; - border-style: solid; - border-width: 6px; - height: 0; - width: 0; -} -#tiptip_holder.tip_top #tiptip_arrow_inner { - margin-top: -7px; - margin-left: -6px; - border-top-color: #464646; -} - -#tiptip_holder.tip_bottom #tiptip_arrow_inner { - margin-top: -5px; - margin-left: -6px; - border-bottom-color: #464646; -} - -#tiptip_holder.tip_right #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -5px; - border-right-color: #464646; -} - -#tiptip_holder.tip_left #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -7px; - border-left-color: #464646; -} - -/* jQuery UI Datepicker Skins -================================================== */ - -/* Date Picker Default Styles */ -.cmb2-element .ui-datepicker { - border: 1px solid #ddd !important; - -webkit-border-radius: 0 !important; - -moz-border-radius: 0 !important; - border-radius: 0 !important; -} -.cmb2-element .ui-datepicker * { - padding: 0; - font-family: "Open Sans", sans-serif; - -webkit-border-radius: 0 !important; - -moz-border-radius: 0 !important; - border-radius: 0 !important; -} -.cmb2-element .ui-datepicker table { - font-size: 13px; - margin: 0; - margin-bottom: .3em !important; -} -.cmb2-element .ui-datepicker .ui-datepicker-header { - border: none; - background: #222; - color: #fff; - font-weight: normal; -} -.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #222; - border-color: transparent; - cursor: pointer; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.cmb2-element .ui-datepicker thead { - background: #333333; - color: #fff; -} -.cmb2-element .ui-datepicker .ui-datepicker-title { - margin-top: .4em; - margin-bottom: .3em; - color: #fff; - font-size: 14px; -} -.cmb2-element .ui-datepicker .ui-datepicker-prev-hover, -.cmb2-element .ui-datepicker .ui-datepicker-next-hover, -.cmb2-element .ui-datepicker .ui-datepicker-next, -.cmb2-element .ui-datepicker .ui-datepicker-prev { - height: 1em; - top: .9em; - border: none; -} -.cmb2-element .ui-datepicker .ui-datepicker-prev-hover { - left: 2px; -} -.cmb2-element .ui-datepicker .ui-datepicker-next-hover { - right: 2px; -} -.cmb2-element .ui-datepicker .ui-datepicker-next span, -.cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAQAAABFnnJAAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAEgAAABIAEbJaz4AABe4SURBVHja7V1diCXHdf56vbZmVl6nxwKFO2yyq1mM4qAwM7oDsR6C7iYIKesH3V1QHgyBu5YYJwHjrB9NQCuByIthHbAga6TZxeBgHMJKISZ+SDIb1oQgRtoVgtjGyD8PmSGQMIpfJmCLk4f+q6o+daq6+965P1VfM3Pv7VN16ud8Vd1dp6o6IUSEjBPTzkDEdBEJEDgiAXT0QOhNOxPHiUgAFT3sA9gPiQLjJsD0208Pbe9rM/OvwkaBQvP0yzhG6ASQO0AqDwmu9mOPT3nqPWsYV9qFEduVIDP/QU4BSfMC9REqAcbRAa520FDELdphc3SJCyRIcADgAAkSQXOXMs4ckrIxFEUs2oENBNSqR0WmJ2kVv2hltvRdaVPHvPtqdpVxjlD1AHIH6AupDbovH1nqkgllLd3apnQJUjV362dmDEnjOya5FUltsEqqbdtxa5Dbppx3uQ+sNLv6mblCcwLIoKlXTQ/7rQkmX4IKzdMv4xgxbgLMO3rYXyTzuhEJEDjiSGDgiAQIHJEAgSMSIHBEAgSOSIDAEQkQOOJ8ADPutPN/zGgyH8BvRoDLGdMT5wPIKbjN02U+gNsdnuV9oUjSbD6AnwdMrkK7gVYt3311u8zv0r5vfNq1L8xsgPp8gAz20fAilORvs8tdsX3mA0i5k1N3x5dBue7icyGgzwfgvus48OoF+DDu9ukzH0Bqf355s9OHnLMNmqQ0F2jjDJIcrrM+H0Ail6v/KUoe3cECpl85XecDTDv/x4zoDg4ccSAocEQCBI5IgMARCRA4IgECRyRA4IgECBwnp52BmQNNcZS/+1hp4/yf7BZ9IpUwzRyQMwftXUHumFMouX4JIED09fvsD0AtJE3RNg1X/jPTJ6IWNznaxvYrgU+oBnFPaAFcxU88CmCPn3hUkE8RSHD2+OQvEWT6Z7M0Com7BuQSygQiR2zA1Yi1/KuXAN/i22bruCspGUMHT6In0nUV7ZIDKmMnrFRNnUulaF72PJAgl3VXpZObgZrLBGh6E0gerccVyoed7dq4n3ETD+2SgXz0tq0BqQn66HbXQU3e5DGw6uJ8QvEyuQt0M1jW4epi/bpoVwtype5zE9kWboq75VoOTHdw6E8B851+i8fIOB8gcMSRwMARCRA4IgECRyRA4IgECByRAIEjEiBw6ItDi81Spwf3fuCThE8N+HhE28VzrY32TaURKgIUC6N8tntvVwHjQztdrpz71YC01Wzljes1jp35KYvDXoZe6xogI5cA+MWh8hJOH492jzk3PgrYdPltDWHPv18N2NLoGctre41iVyVw9UDdlqbXFujqQ8E+26m7lmDbFoj6zaRx58Cmx72FuzvnfhvS8z63umkTQ+5aWF4Zh1ufSJpm2WFsc1gn9TBNCeBfAUmDuH45kKvQJ3332n57+q7YLgK460A2oJsAMoEsBGj2FFBVQBuPVaLo4LWT9iml3wZVvtveQ0ipr+bS4grO7yAgpV/E5O8BXJqrvRuk9c1mLhvOB5AqQL+BkYovZ04qoqRDLZp72hdnAjcBpRIcGBtIHDTW4AfJvAfla2/8commlwA/XzU5t4iQr4JdYvtVL18Ov2tw9yltkp72L7Vx3wOwiPMBVPScb0xaOEQCBI44FBw4IgECRyRA4IgECByRAIEjEmDcmLPHKnM+gAuSv8qn6L2O/u5Jo3vuEsdg94yVvT4fQILkMfcZJSw8dqseC0zt6Lq4Sl4enjiXv7oNbIsvaZ8SqoEgNVvu3X7rg43q0sh2b//2HWgGJI+dK3ZiDaeetXk7pcWj5CX1L+mxgL8HsE06kP1V1aWhzaSFrOW4p03Z9zAg+Pr6kgZnuXS59N0rm2cS5vsCqips+gZu8xKSNIhbSP2WQLsXb7ffQkIyo6uH8Ncs7RFwzKh6ANVR2CZrrjcJuJ2tXa+OidKD8D2E/smFGE8r5lLQe48ZMb9+CTgoM8V14FkHn0334nEgzgfw8fa7t4eQUc0F4KdUyFVfXYTsu4sUIZOGUjVE2wk1EwHvDSRrB+7jLLXdBI7D2eo3a7HtjabPTSQAB0Fnxrg+iO5gHTPTNR8XIgECRxwKDhyRAIEjEiBwRAIEjkiAwDF7BEhny1u26DAJ4OfLllw25CW1hUhxeCxP4tPeB2Fm0Gy7eJ/tpBOsdMjPIQqSpGK4tlvWV1igN4B3gU4AeZRaHu0uWnWKQ5YCVA6U8mv3sq5/pQxxaIlffGu3qbra+/i9an7BURFA3+69jsofbtsyPUGSm/8DNi25a8+6/g+wIqydLVLn09dnFJha/LaPCA7FULDf6nYJxVwbm/nNuThmL+L6LZ2tS8xw5vYR0lvOg4I6JSxB3Uwm7FMZ/CZE2CeVmQSyTcngc+jaPkEn+IK9Ar4LqhdGqFVm32DE/dYL39dK2OQZBah2H1E4gvld+fX8+Lw2IgIAtz+A38r1ul/evUONJM1uHuUQurbE61wB9w5CgcL/hRH6rNjq+7hhv4voBv/tI4LCrM0HmJT5IyyYNQJEHDNmzxcQcayIBAgckQCBIxIgcCwSAfqlJ6A/Ef0nsZQfzd63OtPICDDMK24Xw9aaXnZ4+l0g3NBmCzQ1Yh975fc9Nna/Ez1O4ld4FEc4wqP4FUuBvjP3a7l0zZKGXe6KCTxnHHIKxtwOoqs0oAENSUUVtjo/JFgOKj+3tbhqCF57doyor8lHmrRPJvqN5HoOudytGfHXDPkSrRPREi0R0TotCTXAp1GHVEP+EjXEtncZyxAFk+8BAO5YJnPcxpdxD0CK2+W5O7hgZeMXLCOKy+W3o5rsJr4htL89ZBtLZNgHYU9LYQ9bSg8AbBlyN95Xcpfl0Ix/H8t4EEAf942wej6BLUbim5suL5+XsYb3y++lpoIA9/NPdRqGmuV7AH6EI3G2z1L+ecMa4qNC7Ct4D9uC/JLmSr6kUDHD2woFtvC2ISWoizP5FYYfxS/K759g8/AgPoEEp4RcXhRkpkeSl/MvoE4YLc0IXpj/D/DP6unqWnboUPAjHNXC6FnICLAiaLO1G8DVAwBvlRQgXMJbTIiCAnXzZ0iNz3rufl3M6Qb+G38I4B+xwcZ/GygpxOdgK++p9N7qOFCY/4+wrFPA936WM3+9AgG5o8razk9ZmasHKCgAi/mRpw7rTd5549PEEn6efzvLSB/Eu9jAfQAbeBcP4f8MuTkLqe0yU3dH7wrxOfxN7Vxm/i/gQQD/AADFBdz/MbBufrOAp3AKp7CMU9ZO8gE8gAcAcC3spsP8QA9v4RIu4S3LdM4+DjDEEAct7/OX8Vv5sVzLXw9nQPgFNrCBEyCcEaeUblmMf075s2EJLrhCfIs5l5H+Bj6G7wAALuBOJmj/RFsv4rIzzg+FkK4eoIcDIG/7B0z19zU5R4HfMD7NKspayQayOyK9n3gY9wH8pPx9HxvCjKIuHfxRxxD8hNmf5OXL7s9K86N8DEwdj1HuR5iXNfnL1scV+2PMjQk+BhYPSdWnLRd95hGQe4hzPeg1fQwGjayl9wmhlpDXXzwEDtSzs+MO7gP4HeX3e5YbqcmCAJxXWvr4tWeYztSUNbyvtX7E+QDBY5F8AREtEAkQOCIBAkckQOCIBFgsvIJXmkXQCZCC4FqYbQeVjoyujxZ9cB71LeXxte5vGxqPvUNDvm3IuUEn1Vu+NgE5APylo34GGLSut9P4Cr6C045QI4wwKn8pdZISUZ/6RJTWBhF2aSkfRrhG6zRkh0Fu5AMR23TDkMuebPPos+G3FE82EdEWOxBSHPX47oGcLMw6rdP6hORFmGxQx5QMqBiQS83hmtw6RNuEvHQpo/suERHdFWu3GEwa0TkCQU+gn4+h1dUT9RqNg3FyENGf5X9XrRXUp2wCSt+iH5YUXAYmAv07ge4R6N+InzJBtJ5L1gU5RPlpWqLTFnlR/SMaNa7BAtusfLsWe5tNf0hEI0qrkUTVHVw4Kfew1WqjFnWuAO85fAL7+DF+gJ/jPYtPsI89XMIbVpduF/wTfhffwwa+hyfwL9ZQ2Vj6hijXxyx1/LLmJ6wwwk0AyP/X6+9Q+8WDn21x1uMMAHwJwEp+eUzxAcoe4IYxmt6nG417ALWDs/UAV4noL4joFbaF9InY1j+uHuBvCfRdAn2Llpj0H3X0AIUcotzeA4y03JmXgIGS6wyDRuX7qib7KlOD5+hcPXUziX5OhHr1j4MAn6HfpM/R+fyvifn1WXE2AqRElFKaXy9N+XeI6Nv539/V5EX5bNfwSv64Q87Hr6692XG+IQFMd10q1JDsatLOmwrUT122RENCyaEBE0ImQN1f18T8ZvFkAvDys/Rdeph26WH6e/q0IV+t5W5trPLK/LAeuolTUW6T3s1vBE35iIpr/25bAsBxUJ6N1DM8b+C+Vb5lVDD3FJCWRecJYidghsccuesih8P8Pi73ggIpI3uKPsxv/LbpQ3qKIcBVGtXj+ibvNqh+H8rfg0qTlmXzmxTYqkld07plORFRz2GcLvKR0/yux8CKAqkl9nPl9+dqsa09kK87eB3v+gWM6IgBoHvsx4QRAOCWeTrOBwgc0RcQOCIBAkckQOCIBAgc4REgcxsPGMmgfDZ61EOPbTfFOburVgmwXlbAemt9NLUqSEHYyb/vwDar4Vq+qHS3RoHfxy4u4zI+hU/hh/h0LWZWO1fzX9mepeq+55v4LAhP4AkQPovNWnx5+4ph7cF+6JC7QgxraRgjQObZdSLapSEN6ZAqpwc34CENZpAzRPtjlOdrnR1UybBDoB1rLorhkHPsUNep8vgYOxa6Q8M8B5meAZO+fRyv8FKklmEw+UwVO7XoycYa+7k3B0z51BjrxXc1QDZKvENEh1YjTpMAxVgWn0Zh9uqzruGaONZ5gj5CCSX0ETrBGmRIIKJB6dPncicTQPWHmCuXMm9Iv6zjOgGgzaKoEyDTul2OyXIEOEOr+cEQYJhX4w4748dFAHJWgdu4cvx1Rcb1UDuKnDN/KuonSspjjUn9eh5rlx9SpWz3kOLgCWBPn8oZV7wGKn2cQwKdYwkAhQB8n7JOm7RZ+isZAuzkVcdP+XIxXA7RTMoTyOVTk1p/NeMpw8CQf5uI1vKD6DqjYVC6bLn0iU53IsBD+dmHyv9m7KL/GhLROUsPYK+/PhGdoTO0Smdok4iuZefV9wV8gBQ38fn8FknecR9OubSbuFvKpbBe7mOSrdE38U38cfn9+/g9TZYqM56AK/UxcazjS8qvl/EzIfWslszyrwD4EADwS2aDGcKKNs/KfMHFI9p5ws8MuT5f6Ca+bMzayrbwzybL7jHb+RMeB/BfAID/VGpX62APaUhD2qXZvAksWh+fxjfL1p/hrhG3n7f71Kp/s2w759jUd+gqUd4Odxh59vmQ5UbPnGhjtt/H6DHjv9x/NL8HGFKfNmmTNolos34JUK+xNvPP/lPAXSrmxnLVM3CksEPbtM1Op0IeO6MQRwESfpln12ohhrUOfGjEPFc7mt0DEA3Lw0IA31Y4LQLIR6q0+rtkes2z1uFTOlv+s57lkFIqbieTWtzP02eoJ9QSEZT7DF22lD8FZP/NbejqBDEpMhSlaum0MkZ3sIqH8BKAF/E/rHSEFdzM32aQ4n/xa9qbDVz3SIC+meUk5j23QCRA4AjPFxChIRIgcEQCBA6TAEPrfuEXcau8obwlbokaMU/QHhRuExHRbeYB5ou1h5AvTuVhLx5jPtQfz5TGfcYIdlF7eixwkVG4R0R71uR+6jkgA48Qx3/sKfTfm3puJkCA21T4nMw+4DWWAK8xCuWBoNowhNX8HEncy6tcIVxyor1yuGiPlfvlf46O6uszmoH1PsCGpgQAgV24WTd/vZ9Q19byBnSFGBHR07RET1s1+JVuQQmQXf8Lr7PeB+gFl6phm2zLwlTz7zKSQfnJXyZcxkFu+DQnAid/Ov/2tKBhT0hjgQkwIBOqAfwJwHfeuqZ7jEeuiGczvy8BUrL3MVSOsNf99RXsBOgT0R7t0R75+BXm5DArwPzelACuozBS3fyZ2W3mn4UeYIFvAqv2nyp+58oMX2cJ8HVGoasHsB1qD8THn/49gJuCc3hwRasX8ilW+hSj0FU5dqnU+nUDj1qH6PoUkIWZutHGT4A91sBqFTxfkz5vNeNASFCiR9ve43iPBSOAvzv4SQzx5/n3r+EN/Ou0xzCnhLbvAppRxPkAgSN6AwNHJEDgiAQIHJEAgSMSIHBEApgYgFpL5xAqAYjZNkEHYVyvhJgWbgjvNgeAAXZbS+cTxigd0a4wGqd6A0xJES+1ahjQbu4IGtCuoAGEfHmTLt/WNLVx1w4cg80Dj9hFDdi1zNXBV5/NhBIB1Hj1ah6UcQb5CntZg50Atvg+BJCksqOnLl2QIWFbIflpHS4CZCasfutSEErjuTTYCGCP7yZAUxPbpfwGDHN58DeBd3AB32hxPbmDC7iAbJ3cBWXMPFHOXhB3wi002OCKfzxYJG9AjeWLfA/gOgK8B1CdQYQ7eElsX5Szv/icL6hPLrbcZ/f57aRziegNNDHArmBiWTqHiAQIHHEkMHBEAgSOSIDAEQkQOCIBAodJAFJeLB4RACoCpPlWqWdx1rLXfjZ0dM0ijZhLFARIcVhuDvMIDlkjb+ACvoYXcejxQglzeGHbGIHcPmZ5hA15je0Q0V8RiOhFyvbFtY0ep+JewtWovOt3/1jl8bAchVGJ7hEI9CINCHSPbG+n3qFzlDllU6tSfqfapXw79dP5n7nT7WmSNlwv5CTKl8q/pdYOocCOkwCA8wDeBAC8BAB4Exs4X9vKdAObuIkreASXcIgruN6oq/mk0ukkqI9Afzz/S8Avvzqd/30S/ObyHwewkstXFmu8fpLIfAEpDnFfedHRPWxgRdsJt0CKQ9zBBezgClvJlO9UX9+t/re13/9h7JU7aXmEDXlXsEvVoukR8Zu4ZL7w7H0VtpfK2ObL6O8Wr883mrQ8Hpaj8AZm78O4jzfxLDbAv5Gjmg1wAWDcomrrX7A1tIuLyh28jmv5g+AbuBZfFh8K4nyAwBF9AYEjEiBwRAIEjkiAwFERwPU+gK7yJ3G9lF/Hk8cun3T5pi1vi1yn630AXeWubeYmLZ90+aYtb31kHxeJQ/U+gK5y10aTk5ZPunzTlnc4skvA5bJDSJQRvMvMNxWm/IU8boIXDPmzin4wZ5/l1FvkSYv4l9n4XPlc5Vfz3zz+20iUELb4klzNBW+VhsgGgqrRoKT2S5dzGSnkCYDnAbyunRmffp/4bv1qiKbxE/ALzKjBb1K01OV/AgD4a2v9FWc38Q7GskhNJYD+Lup6Blxy4AW8DuB5vCZWsK2C3PoTVpuvAdz6ZQJ0r5+kPN9O/jjeUcw/FgKc7K5CwYfK/+YgZ48gQ12O3kZDony2iU8ecV1usj8VZI/jnmb+sWDcl4ARgFtofwno3sXb81fX0K4Ll/T79SCuHsqW/uO4p5l/DD1AdhP4Kit7lfkmyZ8HcBM382+q/HUlFjFnX1ekLjlEOVi5nn+qnX1Vk7jkbeunKB+1lr+jmZ9PtSmCeAyb9mPopOWdxwEWfyBm2gNRk5Z3JgDoSbpeKr9OT9aCdpVfpFul/BYziDFp+aTLN215yyNOCAkc0RsYOCIBAkckQOCIBAgckQCBIxIgcKjOoLrTUcesyyNaQPcGLpffjtjQXeURM4f6JaCb6Y6cGrq13KSzhggNJgFcBjzCkShfxpHSD9ThMqA6JYoDtfT1R1hgEmAZEA24jGVRfoRlkSAEecJE7qGwIq47HjPql4DlFlr02LKGbu3XRaCIhtDfF6BJamFnXR7RAtEbGDjiQFDgiAQIHJEAgSMSIHBEAgSOSIDAMb8E6MUBoXFAJ0D3cTZCH4T+xPPdwz5WJ55KANAJsJr/TRuu1p2Z/2Da2VwE6ATYz/+mC1frjuYfI3x7AEKv9tcMzKokFpl57TQszB/vAcYCfUbQPhLss26WhPlrhi2vUIX5V0X5QbwHGBd0Akg9wGppmuKvWSe8VztTJ1FP0c9RTDd/vAiMAbPUA0TzTwG+PUB3uN/f0cz8PUu4iEbw7QGOA1Lvwpk/3gOMAfqEkB4O0JvJzpXyTt/8jOiIOCMocMyvLyBiLPh/gj9Qphd3t8gAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzM6MTAtMDg6MDApYMCSAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjMzOjEwLTA4OjAwWD14LgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII='); - background-position: -32px 0; - margin-top: 0; - top: 0; - font-weight: normal; -} -.cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-position: -96px 0; -} -.cmb2-element .ui-datepicker th { - padding: 0.75em 0; - color: #fff; - font-weight: normal; - border: none; - border-top: 1px solid #333; -} -.cmb2-element .ui-datepicker td { - background: #f1f1f1; - border: none; - padding: 0; -} -.cmb2-element .ui-datepicker td .ui-state-default { - background: transparent; - border: none; - text-align: center; - padding: .5em; - margin: 0; - font-weight: normal; - color: #333; -} -.cmb2-element .ui-datepicker td .ui-state-active, -.cmb2-element .ui-datepicker td .ui-state-hover { - background: #0074a2; - color: #fff; -} -.cmb2-element .ui-datepicker td.ui-state-disabled, -.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { - opacity: 1; - color: #999; -} -/* Other Datepicker Color Schemes */ -/* Blue */ -.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #4796b3; -} -.admin-color-blue .cmb2-element .ui-datepicker thead { - background: #52accc; -} -.admin-color-blue .cmb2-element .ui-datepicker th { - border-color: #52accc; -} -.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover { - background: #096484; -} -/* Coffee */ -.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #46403c; -} -.admin-color-coffee .cmb2-element .ui-datepicker thead { - background: #59524c; -} -.admin-color-coffee .cmb2-element .ui-datepicker th { - border-color: #59524c; -} -.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover { - background: #c7a589; -} -/* Ectoplasm */ -.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #413256; -} -.admin-color-ectoplasm .cmb2-element .ui-datepicker thead { - background: #523f6d; -} -.admin-color-ectoplasm .cmb2-element .ui-datepicker th { - border-color: #523f6d; -} -.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover { - background: #a3b745; -} -/* Midnight */ -.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #26292c; -} -.admin-color-midnight .cmb2-element .ui-datepicker thead { - background: #363b3f; -} -.admin-color-midnight .cmb2-element .ui-datepicker th { - border-color: #363b3f; -} -.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover { - background: #e14d43; -} -/* Ocean */ -.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #627c83; -} -.admin-color-ocean .cmb2-element .ui-datepicker thead { - background: #738e96; -} -.admin-color-ocean .cmb2-element .ui-datepicker th { - border-color: #738e96; -} -.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover { - background: #9ebaa0; -} -/* Sunrise */ -.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #be3631; -} -.admin-color-sunrise .cmb2-element .ui-datepicker thead { - background: #cf4944; -} -.admin-color-sunrise .cmb2-element .ui-datepicker th { - border-color: #cf4944; -} -.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover { - background: #dd823b; -} -/* Light */ -.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header, -.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { - background: #e5e5e5; -} -.admin-color-light .cmb2-element .ui-datepicker thead { - background: #eee; -} -.admin-color-light .cmb2-element .ui-datepicker td { - background: #fff; -} -.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span, -.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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'); -} -.admin-color-light .cmb2-element .ui-datepicker th { - border-color: #fff; -} -.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title, -.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default, -.admin-color-light .cmb2-element .ui-datepicker th { - color: #555; -} -.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active, -.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover { - color: #fff; - background: #888; -} -.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled, -.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { - color: #ccc; -} - -/* Add-Ons / Themes Page -================================================== */ - -.download-wrapper { - padding-top: 20px; -} - -.download-wrapper .column { - float: left; - margin: 0 8px 16px; - padding: 20px; - width: 48.5%; - width: -webkit-calc( 50% - 8px ); - width: calc( 50% - 8px ); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.download-wrapper .column:nth-child(odd) { - clear: both; - margin-left: 0; -} - -.download-wrapper .column:nth-child(even) { - margin-right: 0; -} - -@media screen and ( min-width: 1600px ) { - .download-wrapper .column { - width: 30%; - width: -webkit-calc( 33.1% - 8px ); - width: calc( 33.1% - 8px ); - } - - .download-wrapper .column:nth-child(odd) { - clear: none; - margin-left: 8px; - } - - .download-wrapper .column:nth-child(even) { - margin-right: 8px; - } - - .download-wrapper .column:nth-child(3n+1) { - clear: both; - margin-left: 0; - } - - .download-wrapper .column:nth-child(3n) { - margin-right: 0; - } -} - -.download-wrapper .edd_download { - background-color: #fff; - border: 1px solid #dedede; - min-height: 170px; - position: relative; - padding: 20px; -} - -.download-wrapper .edd_download h3 { - margin-top: 3px; -} - -.download-wrapper .edd_download .download-featured-icon { - color: #fff; - display: block; - position: absolute; - top: 20px; - left: 20px; - width: 128px; - height: 128px; - margin: 0 20px 20px 0; -} - -.download-wrapper .edd_download .download-featured-icon span.icon { - font-size: 48px; - line-height: 120px; - height: 120px; - text-align: center; - width: 100%; -} - -.download-wrapper .edd_download .download-featured-icon span.free { - display: none; -} - -.download-wrapper .edd_download.download_category-add-ons .entry-header { - margin-left: 148px; -} - -.download-wrapper .edd_download .post-featured-image { - display: block; - margin-bottom: 20px; -} - -.download-wrapper .edd_download img { - height: auto; - max-width: 100%; -} - -@media only screen and (max-width: 960px) { - - .download-wrapper .edd_download .download-featured-icon { - left: auto; - margin: 0 0 20px; - position: relative; - top: auto; - width: 100%; - } - - .download-wrapper .edd_download.download_category-add-ons .entry-header { - margin-bottom: 10px; - margin-left: 0; - } - -} - -/* Feather Icon Font -================================================== */ - -@charset "UTF-8"; - -@font-face { - font-family: "feather"; - src:url("../fonts/feather-webfont.eot"); - src:url("../fonts/feather-webfont.eot?#iefix") format("embedded-opentype"), - url("../fonts/feather-webfont.woff") format("woff"), - url("../fonts/feather-webfont.ttf") format("truetype"), - url("../fonts/feather-webfont.svg#feather") format("svg"); - font-weight: 300; - font-style: normal; -} - -/* CSS Class Mapping Method */ - -.wpsight-addons [class*="icon-"] { - display: inline-block; - font-family: "feather"; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - speak: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.wpsight-addons .icon-eye:before { - content: "\e000"; -} - -.wpsight-addons .icon-paper-clip:before { - content: "\e001"; -} - -.wpsight-addons .icon-mail:before { - content: "\e002"; -} - -.wpsight-addons .icon-mail:before { - content: "\e002"; -} - -.wpsight-addons .icon-toggle:before { - content: "\e003"; -} - -.wpsight-addons .icon-layout:before { - content: "\e004"; -} - -.wpsight-addons .icon-link:before { - content: "\e005"; -} - -.wpsight-addons .icon-bell:before { - content: "\e006"; -} - -.wpsight-addons .icon-lock:before { - content: "\e007"; -} - -.wpsight-addons .icon-unlock:before { - content: "\e008"; -} - -.wpsight-addons .icon-ribbon:before { - content: "\e009"; -} - -.wpsight-addons .icon-image:before { - content: "\e010"; -} - -.wpsight-addons .icon-signal:before { - content: "\e011"; -} - -.wpsight-addons .icon-target:before { - content: "\e012"; -} - -.wpsight-addons .icon-clipboard:before { - content: "\e013"; -} - -.wpsight-addons .icon-clock:before { - content: "\e014"; -} - -.wpsight-addons .icon-clock:before { - content: "\e014"; -} - -.wpsight-addons .icon-watch:before { - content: "\e015"; -} - -.wpsight-addons .icon-air-play:before { - content: "\e016"; -} - -.wpsight-addons .icon-camera:before { - content: "\e017"; -} - -.wpsight-addons .icon-video:before { - content: "\e018"; -} - -.wpsight-addons .icon-disc:before { - content: "\e019"; -} - -.wpsight-addons .icon-printer:before { - content: "\e020"; -} - -.wpsight-addons .icon-monitor:before { - content: "\e021"; -} - -.wpsight-addons .icon-server:before { - content: "\e022"; -} - -.wpsight-addons .icon-cog:before { - content: "\e023"; -} - -.wpsight-addons .icon-heart:before { - content: "\e024"; -} - -.wpsight-addons .icon-paragraph:before { - content: "\e025"; -} - -.wpsight-addons .icon-align-justify:before { - content: "\e026"; -} - -.wpsight-addons .icon-align-left:before { - content: "\e027"; -} - -.wpsight-addons .icon-align-center:before { - content: "\e028"; -} - -.wpsight-addons .icon-align-right:before { - content: "\e029"; -} - -.wpsight-addons .icon-book:before { - content: "\e030"; -} - -.wpsight-addons .icon-layers:before { - content: "\e031"; -} - -.wpsight-addons .icon-stack:before { - content: "\e032"; -} - -.wpsight-addons .icon-stack-2:before { - content: "\e033"; -} - -.wpsight-addons .icon-paper:before { - content: "\e034"; -} - -.wpsight-addons .icon-paper-stack:before { - content: "\e035"; -} - -.wpsight-addons .icon-search:before { - content: "\e036"; -} - -.wpsight-addons .icon-zoom-in:before { - content: "\e037"; -} - -.wpsight-addons .icon-zoom-out:before { - content: "\e038"; -} - -.wpsight-addons .icon-reply:before { - content: "\e039"; -} - -.wpsight-addons .icon-circle-plus:before { - content: "\e040"; -} - -.wpsight-addons .icon-circle-minus:before { - content: "\e041"; -} - -.wpsight-addons .icon-circle-check:before { - content: "\e042"; -} - -.wpsight-addons .icon-circle-cross:before { - content: "\e043"; -} - -.wpsight-addons .icon-square-plus:before { - content: "\e044"; -} - -.wpsight-addons .icon-square-minus:before { - content: "\e045"; -} - -.wpsight-addons .icon-square-check:before { - content: "\e046"; -} - -.wpsight-addons .icon-square-cross:before { - content: "\e047"; -} - -.wpsight-addons .icon-microphone:before { - content: "\e048"; -} - -.wpsight-addons .icon-record:before { - content: "\e049"; -} - -.wpsight-addons .icon-skip-back:before { - content: "\e050"; -} - -.wpsight-addons .icon-rewind:before { - content: "\e051"; -} - -.wpsight-addons .icon-play:before { - content: "\e052"; -} - -.wpsight-addons .icon-pause:before { - content: "\e053"; -} - -.wpsight-addons .icon-stop:before { - content: "\e054"; -} - -.wpsight-addons .icon-fast-forward:before { - content: "\e055"; -} - -.wpsight-addons .icon-skip-forward:before { - content: "\e056"; -} - -.wpsight-addons .icon-shuffle:before { - content: "\e057"; -} - -.wpsight-addons .icon-repeat:before { - content: "\e058"; -} - -.wpsight-addons .icon-folder:before { - content: "\e059"; -} - -.wpsight-addons .icon-umbrella:before { - content: "\e060"; -} - -.wpsight-addons .icon-moon:before { - content: "\e061"; -} - -.wpsight-addons .icon-thermometer:before { - content: "\e062"; -} - -.wpsight-addons .icon-drop:before { - content: "\e063"; -} - -.wpsight-addons .icon-sun:before { - content: "\e064"; -} - -.wpsight-addons .icon-cloud:before { - content: "\e065"; -} - -.wpsight-addons .icon-cloud-upload:before { - content: "\e066"; -} - -.wpsight-addons .icon-cloud-download:before { - content: "\e067"; -} - -.wpsight-addons .icon-upload:before { - content: "\e068"; -} - -.wpsight-addons .icon-download:before { - content: "\e069"; -} - -.wpsight-addons .icon-location:before { - content: "\e070"; -} - -.wpsight-addons .icon-location-2:before { - content: "\e071"; -} - -.wpsight-addons .icon-map:before { - content: "\e072"; -} - -.wpsight-addons .icon-battery:before { - content: "\e073"; -} - -.wpsight-addons .icon-head:before { - content: "\e074"; -} - -.wpsight-addons .icon-briefcase:before { - content: "\e075"; -} - -.wpsight-addons .icon-speech-bubble:before { - content: "\e076"; -} - -.wpsight-addons .icon-anchor:before { - content: "\e077"; -} - -.wpsight-addons .icon-globe:before { - content: "\e078"; -} - -.wpsight-addons .icon-box:before { - content: "\e079"; -} - -.wpsight-addons .icon-reload:before { - content: "\e080"; -} - -.wpsight-addons .icon-share:before { - content: "\e081"; -} - -.wpsight-addons .icon-marquee:before { - content: "\e082"; -} - -.wpsight-addons .icon-marquee-plus:before { - content: "\e083"; -} - -.wpsight-addons .icon-marquee-minus:before { - content: "\e084"; -} - -.wpsight-addons .icon-tag:before { - content: "\e085"; -} - -.wpsight-addons .icon-power:before { - content: "\e086"; -} - -.wpsight-addons .icon-command:before { - content: "\e087"; -} - -.wpsight-addons .icon-alt:before { - content: "\e088"; -} - -.wpsight-addons .icon-esc:before { - content: "\e089"; -} - -.wpsight-addons .icon-bar-graph:before { - content: "\e090"; -} - -.wpsight-addons .icon-bar-graph-2:before { - content: "\e091"; -} - -.wpsight-addons .icon-pie-graph:before { - content: "\e092"; -} - -.wpsight-addons .icon-star:before { - content: "\e093"; -} - -.wpsight-addons .icon-arrow-left:before { - content: "\e094"; -} - -.wpsight-addons .icon-arrow-right:before { - content: "\e095"; -} - -.wpsight-addons .icon-arrow-up:before { - content: "\e096"; -} - -.wpsight-addons .icon-arrow-down:before { - content: "\e097"; -} - -.wpsight-addons .icon-volume:before { - content: "\e098"; -} - -.wpsight-addons .icon-mute:before { - content: "\e099"; -} - -.wpsight-addons .icon-content-right:before { - content: "\e100"; -} - -.wpsight-addons .icon-content-left:before { - content: "\e101"; -} - -.wpsight-addons .icon-grid:before { - content: "\e102"; -} - -.wpsight-addons .icon-grid-2:before { - content: "\e103"; -} - -.wpsight-addons .icon-columns:before { - content: "\e104"; -} - -.wpsight-addons .icon-loader:before { - content: "\e105"; -} - -.wpsight-addons .icon-bag:before { - content: "\e106"; -} - -.wpsight-addons .icon-ban:before { - content: "\e107"; -} - -.wpsight-addons .icon-flag:before { - content: "\e108"; -} - -.wpsight-addons .icon-trash:before { - content: "\e109"; -} - -.wpsight-addons .icon-expand:before { - content: "\e110"; -} - -.wpsight-addons .icon-contract:before { - content: "\e111"; -} - -.wpsight-addons .icon-maximize:before { - content: "\e112"; -} - -.wpsight-addons .icon-minimize:before { - content: "\e113"; -} - -.wpsight-addons .icon-plus:before { - content: "\e114"; -} - -.wpsight-addons .icon-minus:before { - content: "\e115"; -} - -.wpsight-addons .icon-check:before { - content: "\e116"; -} - -.wpsight-addons .icon-cross:before { - content: "\e117"; -} - -.wpsight-addons .icon-move:before { - content: "\e118"; -} - -.wpsight-addons .icon-delete:before { - content: "\e119"; -} - -.wpsight-addons .icon-menu:before { - content: "\e120"; -} - -.wpsight-addons .icon-archive:before { - content: "\e121"; -} - -.wpsight-addons .icon-inbox:before { - content: "\e122"; -} - -.wpsight-addons .icon-outbox:before { - content: "\e123"; -} - -.wpsight-addons .icon-file:before { - content: "\e124"; -} - -.wpsight-addons .icon-file-add:before { - content: "\e125"; -} - -.wpsight-addons .icon-file-subtract:before { - content: "\e126"; -} - -.wpsight-addons .icon-help:before { - content: "\e127"; -} - -.wpsight-addons .icon-open:before { - content: "\e128"; -} - -.wpsight-addons .icon-ellipsis:before { - content: "\e129"; -} - -.wpsight-admin-addons { - margin-top: 1rem; -} - - -.wpsight-settings-wrap *, -.wpsight-settings-wrap *:before, -.wpsight-settings-wrap *:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; -} - - - - -/************************************************** - * WPCasa Settings Page - Experimental Styles - ************************************************* - -.wpsight-settings-page.toplevel_page_wpsight-settings {} - -.wpsight-settings-page.toplevel_page_wpsight-settings #wpcontent {padding: 0;} - -.wpsight-settings-page.toplevel_page_wpsight-settings .wpsight-settings-wrap {padding: 0; margin: 0;} -*/ - -/************************************************** - * WPCasa Settings Page - Base Styles - **************************************************/ - -@media (max-width: 600px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back, - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar { - margin-left: -260px; - } - - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { - margin-left: 0 !important; - width: 100%; - } -} - -@media (max-width: 992px) { - #wpwrap { - overflow-x: hidden; - } -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back, -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar, -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { - transition: .6s margin-left ease; -} - -.wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar-back, -.wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar { - margin-left: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap.wpsight-settings-wrap-hide-navbar .wpsight-admin-main { - margin-left: 260px !important; -} - -.wpsight-settings-page .wpsight-settings-wrap input { - margin: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap input[type="text"], -.wpsight-settings-page .wpsight-settings-wrap input[type="time"], -.wpsight-settings-page .wpsight-settings-wrap input[type="week"], -.wpsight-settings-page .wpsight-settings-wrap input[type="month"], -.wpsight-settings-page .wpsight-settings-wrap input[type="date"], -.wpsight-settings-page .wpsight-settings-wrap input[type="datetime"], -.wpsight-settings-page .wpsight-settings-wrap input[type="datetime-local"], -.wpsight-settings-page .wpsight-settings-wrap input[type="password"], -.wpsight-settings-page .wpsight-settings-wrap input[type="number"], -.wpsight-settings-page .wpsight-settings-wrap input[type="tel"], -.wpsight-settings-page .wpsight-settings-wrap input[type="url"], -.wpsight-settings-page .wpsight-settings-wrap input[type="email"], -.wpsight-settings-page .wpsight-settings-wrap input[type="search"] { - height: auto; - padding: .75rem; -} - -.wpsight-settings-page .wpsight-settings-wrap select { - padding: .75rem; - height: 45px; - line-height: initial !important; -} - -.wpsight-settings-field.wpsight-settings-field-text { - margin-bottom: 1rem; -} - -.wpsight-settings-page .wpsight-settings-wrap input[type="text"], -.wpsight-settings-page .wpsight-settings-wrap input[type="time"], -.wpsight-settings-page .wpsight-settings-wrap input[type="week"], -.wpsight-settings-page .wpsight-settings-wrap input[type="month"], -.wpsight-settings-page .wpsight-settings-wrap input[type="date"], -.wpsight-settings-page .wpsight-settings-wrap input[type="datetime"], -.wpsight-settings-page .wpsight-settings-wrap input[type="datetime-local"], -.wpsight-settings-page .wpsight-settings-wrap input[type="password"], -.wpsight-settings-page .wpsight-settings-wrap input[type="number"], -.wpsight-settings-page .wpsight-settings-wrap input[type="tel"], -.wpsight-settings-page .wpsight-settings-wrap input[type="url"], -.wpsight-settings-page .wpsight-settings-wrap input[type="email"], -.wpsight-settings-page .wpsight-settings-wrap input[type="search"] { - line-height: initial; -} - - - -.wpsight-settings-page .wpsight-settings-wrap .form-table th { - width: 400px; - padding: 2rem 2rem 2rem 0; -} - -@media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .form-table th { - width: 100%; - padding: 1rem 1rem 1rem 0; - } - - .wpsight-settings-page .wpsight-settings-wrap .form-table th, - .wpsight-settings-page .wpsight-settings-wrap .form-table tr, - .wpsight-settings-page .wpsight-settings-wrap .form-table td { - display: block; - margin: 0; - } - - .wpsight-settings-page .wpsight-settings-wrap .form-table td { - padding-top: 0; - padding-left: 0; - } -} - -@media (max-width: 992px) { - .wpsight-settings-page .wpsight-settings-wrap .form-table th { - padding: 1rem 0; - } -} - -.wpsight-settings-page .wpsight-settings-wrap .description { - font-weight: normal; -} - - -/************************************************** - * WPCasa Settings Page - Layout - **************************************************/ - -.wpsight-settings-grid { - width: 100%; - float: left; -} - -/************************************************** - * WPCasa Settings Page - Panel - **************************************************/ -.wpsight-settings-panel { - width: calc(98% - 2px); - float: left; - background: #fff; - margin: 0 2% 2rem 0; - border: 1px solid #ddd; -} - -@media screen and (min-width: 781px) { - .wpsight-settings-panel { - width: calc(48% - 2px); - } -} - -@media screen and (min-width: 1200px) { - .wpsight-settings-panel { - width: calc(31.33333% - 2px); - } -} - -@media screen and (min-width: 1600px) { - .wpsight-settings-panel { - width: calc(23% - 2px); - } -} - -.wpsight-settings-panel .wpsight-settings-panel-head { - padding: 1rem 2.5rem; - border-bottom: 1px solid #ddd; - font-weight: 600; - letter-spacing: .05rem; - background: #f6f6f6; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.wpsight-settings-panel .wpsight-settings-panel-body { - padding: 1.5rem 1rem; -} - -.wpsight-settings-panel .wpsight-settings-panel-body input[type="text"] { - width: 100%; - margin: 0 0 .5rem 0; -} - -.wpsight-settings-page .wpsight-admin-license-status { - position: relative; - display: block; - width: 100%; - height: 40px; -} - -.wpsight-settings-page .indicator { - width: 12px; - height: 12px; - position: absolute; - top: calc(50% - 6px); - left: calc(50% - 6px); - background: #999; - border-radius: 16px; -} - -.wpsight-settings-page .indicator-valid { - background: rgb(0,204,102); -} - -.wpsight-settings-page .indicator-expired { - background: rgb(255,51,51); -} - -.wpsight-settings-page .indicator-inactive { - background: rgb(255,204,102); -} - -.wpsight-settings-page .indicator-mismatch { - background: rgb(255,155,90); -} - -.wpsight-settings-page .wpsight-settings-help { - width: 20px; - height: 20px; - position: absolute; - top: calc(50% - 10px); - right: 1rem; - cursor: help; -} - -/************************************************** - * FIELDS - **************************************************/ - -/****************************** - * FIELD: MEASUREMENT - ******************************/ - -.wpsight-settings-field-measurement-wrap .wpsight-settings-field-text, -.wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio { - float: left; -} - -.wpsight-settings-field-measurement-wrap .wpsight-settings-field-text { - margin-right: 1rem; - margin-bottom: 1rem; -} - -.wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio input[type="radio"] + .label-radio { - margin: 0 .5rem 1rem 0; -} - -@media (max-width: 1200px) { - .wpsight-settings-field-measurement-wrap .wpsight-settings-field-text, - .wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio { - float: none; - } -} - - -/****************************** - * FIELD: CHECKBOX - ******************************/ - -.wpsight-settings-field-checkbox .switch { - width: 80px; - position: relative; - - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.wpsight-settings-field-checkbox .switch input[type="checkbox"] { - display: none; -} - -.wpsight-settings-field-checkbox .switch .label-checkbox { - height: 30px; - padding: 0; - display: block; - overflow: hidden; - cursor: pointer; - line-height: 30px; - text-align: center; - border: 1px solid #ddd; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - - -webkit-transition: background-color .3s; - -moz-transition: background-color .3s; - -ms-transition: background-color .3s; - -o-transition: background-color .3s; - transition: background-color .3s; -} - -.wpsight-settings-field-checkbox .switch .label-checkbox:before { - content: "\2713"; - width: 40px; - margin: 0px; - display: block; - - position: absolute; - top: 0; - bottom: 0; - right: 40px; - - color: #ddd; - border: 1px solid #DDD; - background: #fff; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-checkbox .switch input[type="checkbox"]:checked + .label-checkbox { - background-color: #12AE8F; -} - -.wpsight-settings-field-checkbox .switch input[type="checkbox"]:checked + .label-checkbox, -.wpsight-settings-field-checkbox .switch input[type="checkbox"]:checked + .label-checkbox:before { - border-color: #12AE8F; -} - -.wpsight-settings-field-checkbox .switch input[type="checkbox"]:checked + .label-checkbox:before { - right: 0px; - content: "\2713"; - color: #12AE8F; -} - -/****************************** - * FIELD: RADIO - ******************************/ - -.wpsight-settings-field-radio input[type="radio"] { - display: none; -} - -.wpsight-settings-field-radio input[type="radio"] + .label-radio { - padding: .75rem 1rem .75rem 2.5rem; - margin: 0 1rem 1rem 0; - display: inline-block; - position: relative; - - border: 1px solid #DDD; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-radio input[type="radio"]:checked + .label-radio { - background: #12AE8F; - border-color: #12AE8F; - color: #fff; -} - -.wpsight-settings-field-radio input[type="radio"] + .label-radio:before { - content: ""; - width: 18px; - height: 18px; - border: 1px solid #CCC; - position: absolute; - border-radius: 100%; - left: 1em; - top: calc(50% - 9px); - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-radio input[type="radio"]:checked + .label-radio:before { - border: 1px solid #FFF; - background: #12AE8F; -} - -.wpsight-settings-field-radio input[type="radio"] + .label-radio:after { - content: ""; - width: 12px; - height: 12px; - background: #FFF; - border: 1px solid #12AE8F; - position: absolute; - left: calc(1em + 3px); - top: calc(50% - 6px); - border-radius: 100%; - - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-radio input[type="radio"]:checked + .label-radio:after { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} - -/****************************** - * FIELD: MULTICHECK - ******************************/ - -.wpsight-settings-field-multicheck .multicheck { - float: left; - margin: 0 0 1rem 0; -} - -.wpsight-settings-field-multicheck input[type="checkbox"] { - display: none; -} - -.wpsight-settings-field-multicheck input[type="checkbox"] + .label-checkbox { - padding: .75rem 1rem .75rem 2.5rem; - margin: 0 1rem 0 0; - display: inline-block; - position: relative; - - border: 1px solid #DDD; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox { - background: #12AE8F; - border-color: #12AE8F; - color: #fff; -} - -.wpsight-settings-field-multicheck input[type="checkbox"] + .label-checkbox:before { - content: ""; - width: 18px; - height: 18px; - border: 1px solid #CCC; - position: absolute; - border-radius: 100%; - left: 1em; - top: calc(50% - 9px); - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox:before { - border: 1px solid #FFF; - background: #12AE8F; -} - -.wpsight-settings-field-multicheck input[type="checkbox"] + .label-checkbox:after { - content: ""; - width: 12px; - height: 12px; - background: #FFF; - border: 1px solid #12AE8F; - position: absolute; - left: calc(1em + 3px); - top: calc(50% - 6px); - border-radius: 100%; - - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - - -webkit-transition: all .3s; - -moz-transition: all .3s; - -ms-transition: all .3s; - -o-transition: all .3s; - transition: all .3s; -} - -.wpsight-settings-field-multicheck input[type="checkbox"]:checked + .label-checkbox:after { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} - -/****************************** - * FIELD: RANGE - ******************************/ - -.wpsight-settings-field-range { - width: 100%; -} - -.wpsight-settings-field-range .range-slider__range { - -webkit-appearance: none; - width: calc(100% - (73px)); - height: 5px; - border-radius: 5px; - background: #EEE; - outline: none; - padding: 0; - margin: 0; -} - -.wpsight-settings-field-range .range-slider__range::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 20px; - height: 20px; - border-radius: 50%; - background: #2c3e50; - cursor: pointer; - -webkit-transition: background .15s ease-in-out; - transition: background .15s ease-in-out; -} - -.wpsight-settings-field-range .range-slider__range::-webkit-slider-thumb:hover { - background: #1abc9c; -} - -.wpsight-settings-field-range .range-slider__range:active::-webkit-slider-thumb { - background: #1abc9c; -} - -.wpsight-settings-field-range .range-slider__range::-moz-range-thumb { - width: 20px; - height: 20px; - border: 0; - border-radius: 50%; - background: #333; - cursor: pointer; - -webkit-transition: background .15s ease-in-out; - transition: background .15s ease-in-out; -} - -.wpsight-settings-field-range .range-slider__range::-moz-range-thumb:hover { - background: #12AE8F; -} - -.wpsight-settings-field-range .range-slider__range:active::-moz-range-thumb { - background: #12AE8F; -} - -.wpsight-settings-field-range .range-slider__value { - display: inline-block; - position: relative; - width: 60px; - color: #fff; - line-height: 20px; - text-align: center; - border-radius: 3px; - background: #333; - padding: 5px 10px; - margin-left: 8px; -} - -.wpsight-settings-field-range .range-slider__value:after { - position: absolute; - top: 8px; - left: -7px; - width: 0; - height: 0; - border-top: 7px solid transparent; - border-right: 7px solid #2c3e50; - border-bottom: 7px solid transparent; - content: ''; -} - -::-moz-range-track { - background: #d7dcdf; - border: 0; -} - -input::-moz-focus-inner, -input::-moz-focus-outer { - border: 0; -} - -/* - * #################################################################################################### - * #################################################################################################### - * - * WPCASA ADMIN EXPERIMENTAL UI - * - * The following styles overwrite already existing styles in order to form an experimental UI. - * Those styles needs to get merged with the rest of the styles as soon as the experimental stage - * is over. - * - * #################################################################################################### - * #################################################################################################### - * - */ - -.wpsight-settings-page {background: #FFF;} - -.wpsight-settings-page #wpfooter {display: none;} - -.wpsight-settings-page #wpcontent {padding-left: 0;} -.wpsight-settings-page #wpbody-content {padding-bottom: 0;} - - -.wpsight-settings-page .wpsight-settings-wrap { - margin: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar { - width: 260px; - position: absolute; - top: 0; - z-index: 1; - padding: 0; - background: #3b4045; -} -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back { - width: 260px; - position: fixed; - top: 0; - bottom: 0; - background: #3b4045; -} - - -.wpsight-settings-page ul#adminmenu a.wp-has-current-submenu:after, -ul#adminmenu>li.current>a.current:after { - border-right-color: #3b4045; -} - -.wpsight-settings-page .notice { - position: relative; -} - -.wpsight-settings-page .notice, -.wpsight-settings-page .update-nag, -.wpsight-settings-page #update-nag { - width: 100%; - margin: 0 !important; - padding: 1rem 2rem; - display: inline-block; - line-height: 1; - font-size: .8rem; - text-align: left; - z-index: 1; - background-color: rgb(255, 234, 179); - border-left: 5px solid rgb(255, 185, 0); - border-bottom: 1px solid rgba( 100, 100, 100, .1 ); - box-shadow: none; - box-sizing: border-box; - transition: .6s width ease, .6s margin-left ease; -} - -@media (max-width: 600px) { - .wpsight-settings-page .notice, - .wpsight-settings-page .update-nag, - .wpsight-settings-page #update-nag { - width: 100%; - margin: 0 !important; - } -} - -.wpsight-settings-page .notice.notice-error, -.wpsight-settings-page .update-nag.notice-error { - background-color: rgb(244, 190, 190); - border-left: 5px solid rgb(220, 50, 50); -} - -.wpsight-settings-page .notice.notice-warning, -.wpsight-settings-page .update-nag.notice-warning { - background-color: rgb(255, 234, 179); - border-left: 5px solid rgb(255, 185, 0); -} - -.wpsight-settings-page .notice.notice-success, -.wpsight-settings-page .update-nag.notice-success { - background-color: rgb(200, 234, 203); - border-left: 5px solid rgb(70, 180, 80); -} - -.wpsight-settings-page .notice.notice-info, -.wpsight-settings-page .update-nag.notice-info { - background-color: rgb(179, 237, 255); - border-left: 5px solid rgb(0, 160, 210); -} - - - - - -.wpsight-settings-page .wpsight-settings-wrap .submit { - clear: both; - padding: 0; - margin: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-nav { - padding: 0; - border: none; -} - -.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab { - display: block; - float: none; - margin: 0; - color: #CCC; - border: none; - background: none; - padding: 1rem 2rem; - border-bottom: 1px solid rgba(255,255,255,.05); -} - -.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab-active { - color: #FFF; - background: rgba(255,255,255,.1); -} - -.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab .dashicons { - top: 1px; - position: relative; - margin-right: 5px; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main { - margin-left: 260px; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .form-table { - margin: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .form-table th { - vertical-align: middle; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel h3 { - font-size: 1.6rem; - line-height: 1.2; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel h3 small { - font-weight: normal; - font-size: .8rem; - line-height: 1.2; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel h4 { - padding: 0; - margin: 0; - font-size: 1.4rem; -} - - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading { - border-bottom: 1px solid #DDD; - margin: 0 0 1rem 0; - padding: 1rem 0 2rem 0; - position: relative; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-title { - display: inline; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-title .wpsight-admin-ui-icon { - padding: .5rem; - margin: 0 .5rem 0 0; - display: inline-block; - position: relative; - top: -8px; - color: #FFF; - background: #12AE8F; -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { - float: right; -} - -@media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { - float: none; - margin-top: 1rem; - } - - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button:first-child { - margin-left: 0; - } -} - -@media (max-width: 782px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions { - margin-bottom: -0.5rem; - } -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading h3 { - display: inline; - margin: 0; - padding: 0; -} - - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button { - margin-left: 1rem; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-no-padding { - padding: 0; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-auto-height { - min-height: auto; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-hero p { - font-size: 1rem; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button { - height: 44px; - line-height: 42px; -} - -@media (max-width: 782px) { - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button { - margin-bottom: .5rem; - margin-left: 0; - } - - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button:first-child { - margin-right: 1rem; - } -} - -/*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save {*/ -/* background: #14AD8F;*/ -/* border-color: #20a087 #20a087 #20a087;*/ -/* box-shadow: 0 1px 0 #1f826e;*/ -/* color: #fff;*/ -/* text-decoration: none;*/ -/* text-shadow: 0 -1px 1px #15927a, 1px 0 1px #15927a, 0 1px 1px #15927a, -1px 0 1px #15927a;*/ -/*}*/ - -/*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:hover {*/ -/* background: #15B797;*/ -/*}*/ - -/*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:focus {*/ -/* box-shadow: 0 1px 0 #129D81, 0 0 2px 1px #47C4AB;*/ -/*}*/ - -/*.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel #wpsight-settings-save:active {*/ -/* background: #13A98B;*/ -/* border-color: #129D81;*/ -/* box-shadow: inset 0 2px 0 #129D81;*/ -/*}*/ - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button-text-icon span { - position: relative; - top: 11px; - margin-right: 5px; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button-icon span { - position: relative; - top: 11px; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel:last-child {} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account { - background-image: url(../img/icon-cloud.png); - background-position: 150% 50px; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation { - background-image: url(../img/icon-documentation.png); - background-position: 150% 50px; -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support { - background-image: url(../img/icon-help.png); - background-position: 150% 50px; -} - -@media (max-width: 1200px) { - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account, - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation, - .wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support { - background-position: 76% 50px; - } -} - -.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-newsletter { - background: #F9F9F9; -} - - - -@media (max-width: 1200px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 50%; - float: left; - } -} - - -@media (max-width: 992px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 100%; - float: none; - } - - .wpsight-admin-main .regular-text { - width: 100%; - max-width: 100%; - } -} - -@media (max-width: 992px) { - .wpsight-admin-ui-panel-wrap-theme-bar-item { - width: 100%; - float: none; - } - - .wpsight-admin-main .regular-text { - width: 100%; - max-width: 100%; - } -} - -@media (max-width: 782px) { - .wpsight-admin-main .button { - padding: 0 10px 1px; - margin-bottom: 0 - } - - .settings_panel .form-table td select { - height: 45px !important; - padding: .3rem .75rem !important; - } -} - -.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle { - min-height: auto; - display: none; -} - - -@media (max-width: 600px) { - .wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle { - display: block; - } -} - - -.wpsight-admin-main-btn-toggle { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 38px; - height: 28px; - position: relative; - top: 0; - background: none; - border: none; - outline: none; -} - -.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line { - position: relative; - height: 3px; - width: inherit; - transition: .4s all ease; - background: #000; - border-radius: 10px; -} - -.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(2) { - margin: 8px 0; -} - -.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(3) { - align-self: flex-start; -} - - -.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(1) { - margin-bottom: -3px; - transform: rotate(45deg); -} - -.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(2) { - margin: 0; - transform: translate(-100%, 0); - opacity: 0; -} - -.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(3) { - margin-top: -3px; - transform: rotate(-45deg); -} - -body.post-type-listing .wp-list-table.posts .column-title { - display: none; -} - - - -/* Recommends */ - -.wrap-cards-recommend { - display: flex; - align-items: stretch; - flex-wrap: wrap; - margin: 16px 0 -30px 5px; -} - -@media(max-width: 768px) { - .wrap-cards-recommend { - margin: 16px 0 -30px 0; - padding-right: 10px; - } -} - -.wrap-cards-recommend .wrap-card { - max-width: calc(100% / 3 - 18px); - padding: 0 8px; - margin-bottom: 16px; - width: 100%; -} - -.wrap-title-recommend { - margin-left: 13px; - margin-bottom: 16px; -} - -.wrap-title-recommend h2 { - font-size: 23px; - font-weight: 400; - margin: 0; - padding: 9px 0 4px 0; - line-height: 1.3; -} - -@media(max-width: 1600px) { - .wrap-cards-recommend .wrap-card { - max-width: calc(100% / 2 - 22px); - } -} - -@media(max-width: 1260px) { - .wrap-cards-recommend .wrap-card { - padding: 0 10px; - margin-bottom: 20px; - } -} - -@media(max-width: 992px) { - .wrap-cards-recommend .wrap-card { - max-width: calc(100% - 22px); - } -} - -@media(max-width: 768px) { - .wrap-cards-recommend .wrap-card { - max-width: 100%; - padding: 0; - } - - .wrap-title-recommend { - margin-left: 0; - } -} - -.wrap-cards-recommend .card { - height: 100%; - display: flex; - max-width: none; - min-width: auto; - margin: 0; - padding: 20px; -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card { - padding: 16px; - } -} - -.wrap-cards-recommend .card__content { - padding-left: 20px; -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card__content { - padding-left: 14px; - } -} - -.wrap-cards-recommend .card__content > * { - margin: 0; -} - -.wrap-cards-recommend .card__wrap-img { - flex-shrink: 0; - width: 120px; - height: 120px; -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card__wrap-img { - width: 90px; - height: 90px; - } -} - -.wrap-cards-recommend .card__img { - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - object-fit: cover; -} - -.wrap-cards-recommend .card__wrap-link { - margin-bottom: 10px; -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card__wrap-link { - margin-bottom: 8px; - font-size: 1.2em; - } -} - -.wrap-cards-recommend *:focus { - outline: none !important; - box-shadow: none; -} - -.wrap-cards-recommend .card__link { - display: block; -} - -.wrap-cards-recommend .card__description { - margin-bottom: 16px; -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card__description { - margin-bottom: 12px; - font-size: 12px; - } -} - -.wrap-cards-recommend .card__label { - -} - -@media(max-width: 480px) { - .wrap-cards-recommend .card__label { - font-size: 12px; - } -} - - - -/* Promo slider */ -.swiper-pagination-bullet { - transition: .3s all ease; -} - -.wpsight-admin-ui-promo .swiper-pagination-bullet-active { - background-color: #14ad8f; -} - -.wpsight-admin-ui-promo .swiper-button-prev, -.wpsight-admin-ui-promo .swiper-button-next { - transition: .4s all ease; - opacity: 0; - color: #14ad8f; -} - -@media (max-width: 992px) { - body .wpsight-admin-ui-promo .swiper-button-prev, - body .wpsight-admin-ui-promo .swiper-button-next { - opacity: 1; - transform: translate(0); - } -} - -.wpsight-admin-ui-promo .swiper-button-prev{ - left: 15px; - transform: translate(-50%, 0); -} - -.wpsight-admin-ui-promo .swiper-button-next{ - right: 15px; - transform: translate(50%, 0); -} - -.wpsight-admin-ui-promo:hover .swiper-button-next, -.wpsight-admin-ui-promo:hover .swiper-button-prev{ - opacity: 1; - transform: translate(0); -} - -.wpsight-admin-ui-promo:hover .swiper-button-prev{ - -} - -.wpsight-admin-ui-promo:hover .swiper-button-next{ - -} - -.wpsight-admin-ui-promo .swiper-wrapper { - align-items: stretch; -} - -.wpsight-admin-ui-promo .swiper-slide { - height: 35vw; - min-height: auto; -} - -.swiper-pagination-bullet { - outline: none; -} - -@media (max-width: 1200px) { - .wpsight-admin-ui-promo .swiper-slide { - height: 45vw; - } -} - -@media (max-width: 992px) { - .wpsight-admin-ui-promo .swiper-slide { - height: 68vw; - } -} - -@media (max-width: 600px) { - .wpsight-admin-ui-promo .swiper-slide { - height: 130vw; - } -} - -#settings-overview .settings_panel_boxes + .wpsight-admin-ui-grid { - display: flex; - width: 100%; -} - -#settings-overview .settings_panel_boxes + .wpsight-admin-ui-grid > div { - float: none; -} - -.wpsight-admin-ui-promo .promo-slider-img { - max-width: 100%; - max-height: 100%; - width: 100%; - height: 100%; - object-fit: cover; - cursor: grab; -} - -.promo-services-content { - min-height: 17vw; - max-width: 100%; - width: 100%; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - padding: 10px; - background-color: #16AC8F; -} - -.promo-services-text { - color: #fff; - font-size: 1.1vw; - text-align: center; - line-height: 1.4; - display: block; - margin-bottom: 2.2vw; - font-weight: 300; -} - -.promo-services-button { - color: #000 !important; - background-color: #fff; - padding: 1em; - width: 100%; - font-size: 0.9vw; - text-transform: uppercase; - text-decoration: none; - text-align: center; - max-width: 13vw; - box-shadow: 0 0 15px rgba(0, 0, 0, .2); - transition: .3s all ease; - -} - -.promo-services-button:hover { - box-shadow: none; -} - - -@media (max-width: 1200px) { - #settings-overview .settings_panel_boxes + .wpsight-admin-ui-grid { - display: block; - } -} - - -@media (max-width: 992px) { - .promo-services-content { - min-height: 26vw; - } - - .promo-services-text { - font-size: 2.2vw; - margin-bottom: 2.6vw; - } - - .promo-services-button { - font-size: 1.8vw; - padding: .8em; - max-width: 26vw; - } -} - -@media (max-width: 768px) { - .promo-services-content { - min-height: 160px; - } - - .promo-services-text { - font-size: 16px; - margin-bottom: 20px; - } - - .promo-services-button { - font-size: 12px; - max-width: 180px; - } -} - -.wpsight-promo-slider .swiper-slide { - position: relative; -} - -.swiper-slide-overlay:after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, .5); - z-index: 1; -} - -.slide-content { - position: absolute; - top: 0; - z-index: 2; - left: 0; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: #fff; - line-height: 1.3; - text-align: center; - padding: 50px; -} - -.slide-content-title { - font-size: 1.6rem; -} - -.slide-content-desc { - font-size: 1.1vw; -} - -@media (max-width: 1200px) { - .slide-content { - padding: 60px; - } -} - -@media (max-width: 992px) { - .slide-content-title { - font-size: 28px; - } - - .slide-content-desc { - font-size: 15px; - } -} - -@media (max-width: 768px) { - .slide-content-title { - font-size: 24px; - } - - .slide-content-desc { - font-size: 12px; - } -} - -@media (max-width: 576px) { - .slide-content-title { - font-size: 22px; - } - - .slide-content-desc { - font-size: 12px; - } -} - -.wrap-addons-tabs { - display: flex; - border-bottom: 1px solid rgba(0, 0, 0, .1); -} - -.wrap-addons-tabs > a { - line-height: 40px; - color: rgba(0, 0, 0, .3); - outline: none; - text-decoration: none; - padding: 6px 22px; - text-transform: uppercase; - font-size: 14px; - position: relative; - box-shadow: none; - border: none; - font-weight: 500; - transition: .3s all ease; -} - -.wrap-addons-tabs > a.active { - color: rgba(0, 0, 0, .8); -} - -.wrap-addons-tabs > a:after { - content: ''; - position: absolute; - bottom: -1px; - left: 0; - width: 100%; - height: 2px; - transition: .3s all ease; - opacity: 0; - background-color: #16AC8F; -} - -.wrap-addons-tabs > a.active:after { - opacity: 1; - color: rgba(0, 0, 0, .8); -} - -.wpsight-admin-addons thead th { - text-transform: uppercase; - color: rgba(0, 0, 0, .4); - font-weight: 500; -} - -.wpsight-admin-addons { - font-size: 14px; -} - -.wpsight-admin-addons > table { - border-spacing: 0; -} - -.wpsight-admin-addons tr { - height: 55px; - padding: 8px 0; -} - -.wpsight-admin-addons td, -.wpsight-admin-addons th { - padding: 6px; -} - -.wpsight-admin-addons tr { - box-shadow: 0 1px 0 rgba(0, 0, 0, .1); - transition: .3s all ease; - cursor: pointer; -} - -.wpsight-admin-addons tbody tr:hover { - background-color: rgba(0, 0, 0, .01); -} - -.wpsight-admin-addons td:nth-child(1) { - width: 40%; -} - -.wpsight-admin-addons td:nth-child(2) { - width: 15%; -} - -.wpsight-admin-addons td:nth-child(3) { - width: 15%; -} - -.wpsight-admin-addons td:nth-child(4) { - width: 15%; -} - -.wpsight-admin-addons td:nth-child(5) { - width: 12%; -} - -.addons-table-btn { - text-transform: uppercase; - color: rgba(0, 0, 0, .8); - padding: 8px 26px; - text-decoration: none; - outline: none; - border: 1px solid rgba(0, 0, 0, .1); - text-align: center; - transition: .3s all ease; - display: inline-block; -} - -.addons-table-btn:hover { - color: #fff; - background-color: #16AC8F; - border-color: #16AC8F; -} - -.addons-info-mobile, -.addons-info-mobile .content-bottom { - display: none; -} - -.addons-info-mobile .content-top { - display: flex; - align-items: center; - justify-content: space-between; -} - -.addons-list { - border-top: 1px solid #E5E5E5; - border-bottom: 1px solid #E5E5E5; - padding: 8px 0; - margin-bottom: -1px; -} - -.addons-info-mobile .content-name { - font-size: 16px; -} - -.addons-info-mobile { - margin: 0; -} - -.addons-info-mobile .content-btn { - background-color: #16AC8F; - border: 1px solid #16AC8F; - outline: none; - border-radius: 3px; - width: 36px; - height: 36px; - display: flex; - align-items: center; - justify-content: center; - transition: .3s all ease; -} - -.addons-info-mobile .content-btn.active { - background-color: transparent; -} - -.addons-info-mobile .content-btn line, -.addons-info-mobile .content-btn svg { - transition: .3s all ease; -} - -.addons-info-mobile .content-btn.active line { - stroke: #16AC8F; -} - -.addons-info-mobile .content-btn.active svg { - transform: rotate(180deg); -} - -.addons-info-mobile .content-bottom { - margin-top: 8px; - font-size: 14px; -} - -.addons-info-mobile .content-bottom .content-item .text:last-child { - font-weight: 500; -} - -.addons-info-mobile .content-bottom .content-item:last-child { - margin: 10px 0 0; -} - -.addons-info-mobile .content-bottom .addons-table-btn { - display: block; - width: 100%; -} - -.addons-info-mobile .content-bottom .content-item { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 8px; -} - -.status-active { - color: #4EC143; -} - -.status-inactive { - color: #E53636; -} - -@media(max-width: 1600px) { - .wpsight-admin-addons { - font-size: 12px; - } - - .wpsight-admin-addons tr { - height: 50px; - } -} - -@media(max-width: 1360px) { - .addons-info-desktop { - display: none; - } - - .addons-info-mobile { - display: block; - } -} - -@media(max-width: 576px) { - .addons-info-mobile .content-name { - font-size: 14px; - } -} +@charset "UTF-8";.column-listing_actions i,.column-listing_title i,.wpsight-addons [class*=icon-]{font-style:normal;font-variant:normal;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.addons-table-btn,.promo-services-button,.wrap-addons-tabs>a{text-decoration:none;text-transform:uppercase}@media (min-width:1350px){.column-listing_expires,.column-listing_posted{width:160px}.column-listing_status{width:150px}.column-listing_offer{width:100px}.column-listing_price{width:90px}.column-listing_actions,.column-listing_id{width:70px}}td.column-listing_offer span{background-color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff;display:block;font-size:11px;margin-right:15px;padding:3px 0;text-align:center}.rtl td.column-listing_offer span{margin-left:15px;margin-right:0}.column-listing_price .listing-rental-period{display:block;font-size:smaller}.column-listing_title .listing-info{overflow:hidden}.column-listing_title .listing-title{font-size:14px!important;font-weight:700}@media screen and (max-width:782px){.column-listing_actions:before,.column-listing_expires,.column-listing_id,.column-listing_offer,.column-listing_posted,.column-listing_price,.column-listing_status,.column-listing_title .actions,.column-listing_title .listing-taxonomies,.column-listing_title.actions,.column-listing_title:before{display:none!important}.column-listing_actions{width:100px!important}.column-listing_actions,.column-listing_title{display:table-cell!important}.column-listing_title .wpsight-listing-thumbnail{display:block!important;margin-bottom:15px}.column-listing_actions a.button,.column-listing_title a.button{height:40px;line-height:40px;width:40px}.column-listing_title .listing-title{font-size:16px!important;margin-top:5px}}.column-listing_title .listing-taxonomies div{display:inline-block;margin-right:5px}.rtl .column-listing_title .listing-taxonomies div{margin-left:5px;margin-right:0}.column-listing_title .listing-featured,.column-listing_title .listing-sticky,.wpsight-settings-page .wpsight-settings-wrap .description{font-weight:400}.column-listing_title .wpsight-listing-thumbnail{background-color:#f9f9f9;border:1px solid #eee;display:none;float:left;height:75px;margin-right:15px;padding:8px;width:75px}.rtl .column-listing_title .wpsight-listing-thumbnail{float:right;margin-left:15px;margin-right:0}@media (min-width:1350px){.column-listing_title .wpsight-listing-thumbnail{display:flex}}.column-listing_title .wpsight-listing-thumbnail img{max-width:100%;max-height:100%}.alternate .column-listing_title .wpsight-listing-thumbnail,.wpsight-admin-ui-promo .swiper-pagination-bullet-active{background-color:#fff}.column-listing_title .wpsight-listing-thumbnail span,.column-listing_title .wpsight-listing-thumbnail span:before{color:#ddd;display:block;font-size:48px;margin:auto}.column-listing_title .wpsight-listing-thumbnail span{display:flex;height:100%;width:100%}.alternate .column-listing_title .wpsight-listing-thumbnail span{color:#eee}.column-listing_title .listing-not-available{display:block;font-size:smaller;margin-top:0}.column-listing_status .listing-status{display:flex}.column-listing_status .listing-status span{background-color:#999;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;display:inline-block;height:8px;margin:auto 10px auto 0;width:8px}.rtl .column-listing_status .listing-status span{margin-left:10px;margin-right:0}.column-listing_status .listing-status.status-publish span{background-color:#2ecc71}.column-listing_status .listing-status.status-expired span{background-color:#e74c3c}.column-listing_status .listing-status.status-preview span{background-color:#bdc3c7}.column-listing_status .listing-status.status-pending span{background-color:#f39c12}.column-listing_status .listing-status.status-pending_payment span{background-color:#f1c40f}.column-listing_expires .listing-expires,.column-listing_expires .listing-expires-left,.column-listing_posted .listing-agent,.column-listing_posted .listing-posted,.wrap-cards-recommend .card__link{display:block}.column-listing_expires .listing-expires,.column-listing_posted .listing-posted{font-weight:700}.column-listing_actions,th.column-listing_actions{text-align:right}.rtl .column-listing_actions,.rtl th.column-listing_actions{text-align:left}.column-listing_actions strong{display:block;margin-bottom:.2em}.column-listing_title .actions{padding-top:8px}.column-listing_actions .actions{padding-top:2px}.column-listing_actions a.button,.column-listing_title a.button{display:inline-block;margin:0 0 4px 4px;cursor:pointer;padding:0!important;height:30px!important;width:30px!important;font-size:16px!important;line-height:30px!important;overflow:hidden}.rtl .column-listing_actions a.button,.rtl .column-listing_title a.button{margin-left:0;margin-right:4px}.column-listing_title a.button{margin:0 4px 4px 0}.rtl .column-listing_title a.button{margin-left:4px;margin-right:0}.column-listing_actions i,.column-listing_title i{display:block;font-family:dashicons;font-weight:400;height:inherit;line-height:inherit;text-align:center;width:inherit}.column-listing_actions i.icon-view:before,.column-listing_title i.icon-view:before{content:"\f504"}.column-listing_title i.icon-edit:before{content:"\f464"}.column-listing_actions i.icon-approve:before{content:"\f147";font-weight:700}.column-listing_actions i.icon-expire:before{content:"\f469"}.column-listing_actions i.icon-unavailable:before{content:"\f160"}.column-listing_actions i.icon-sticky:before{content:"\f173"}.column-listing_actions i.icon-featured:before{content:"\f313"}.column-listing_actions i.icon-delete:before{content:"\f182"}.column-listing_actions i.icon-untrash:before{content:"\f310"}.column-listing_title i.icon-home:before{content:"\f102"}.column-listing_actions .listing-approved i.icon-approve,.column-listing_actions .listing-expired i.icon-expire,.column-listing_actions .listing-featured i.icon-featured,.column-listing_actions .listing-not-available i.icon-unavailable,.column-listing_actions .listing-sticky i.icon-sticky{color:#0074a2}.wpsight-promo-slider .swiper-slide,.wpsight-settings-page .notice,.wpsight-settings-wrap{position:relative}.wpsight-settings-wrap div.updated{font-weight:700;margin:15px 0}.wpsight-settings-wrap .label-radio{display:block;margin-bottom:8px}.addons-info-mobile,.addons-info-mobile .content-bottom,.download-wrapper .edd_download .download-featured-icon span.free,.wpsight-settings-field-checkbox .switch input[type=checkbox],.wpsight-settings-field-multicheck input[type=checkbox],.wpsight-settings-field-radio input[type=radio],.wpsight-settings-page #wpfooter,.wpsight-settings-wrap .hidden,body.post-type-listing .wp-list-table.posts .column-title{display:none}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;padding:4px 8px;background:#464646;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,.1);-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.1);-moz-box-shadow:1px 1px 3px rgba(0,0,0,.1);text-align:center}#tiptip_content code{background:#999;padding:1px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border:6px solid transparent;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#464646}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#464646}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#464646}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#464646}.cmb2-element .ui-datepicker{border:1px solid #ddd!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.cmb2-element .ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.cmb2-element .ui-datepicker table{font-size:13px;margin:0;margin-bottom:.3em!important}.cmb2-element .ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead{background:#333;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url('data:image/png;base64,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');background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker thead{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover{background:#096484}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker thead{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker thead{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker thead{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker thead{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker thead{background:#eee}.admin-color-light .cmb2-element .ui-datepicker td,.wpsight-settings-page{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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')}.admin-color-light .cmb2-element .ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}.download-wrapper{padding-top:20px}.download-wrapper .column{float:left;margin:0 8px 16px;padding:20px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.download-wrapper .column:nth-child(odd){clear:both;margin-left:0}.download-wrapper .column:nth-child(2n){margin-right:0}.download-wrapper .edd_download{background-color:#fff;border:1px solid #dedede;min-height:170px;position:relative;padding:20px}.download-wrapper .edd_download h3{margin-top:3px}.download-wrapper .edd_download .download-featured-icon{color:#fff;display:block;position:absolute;top:20px;left:20px;width:128px;height:128px;margin:0 20px 20px 0}.download-wrapper .edd_download .download-featured-icon span.icon{font-size:48px;line-height:120px;height:120px;text-align:center;width:100%}.download-wrapper .edd_download.download_category-add-ons .entry-header{margin-left:148px}.download-wrapper .edd_download .post-featured-image{display:block;margin-bottom:20px}.download-wrapper .edd_download img{height:auto;max-width:100%}@media only screen and (max-width:960px){.download-wrapper .edd_download .download-featured-icon{left:auto;margin:0 0 20px;position:relative;top:auto;width:100%}.download-wrapper .edd_download.download_category-add-ons .entry-header{margin-bottom:10px;margin-left:0}}@font-face{font-family:feather;src:url("../fonts/feather-webfont.eot");src:url("../fonts/feather-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/feather-webfont.woff") format("woff"),url("../fonts/feather-webfont.ttf") format("truetype"),url("../fonts/feather-webfont.svg#feather") format("svg");font-weight:300;font-style:normal}.wpsight-addons [class*=icon-]{display:inline-block;font-family:feather;font-weight:400;line-height:1}.wpsight-addons .icon-eye:before{content:"\e000"}.wpsight-addons .icon-paper-clip:before{content:"\e001"}.wpsight-addons .icon-mail:before{content:"\e002"}.wpsight-addons .icon-toggle:before{content:"\e003"}.wpsight-addons .icon-layout:before{content:"\e004"}.wpsight-addons .icon-link:before{content:"\e005"}.wpsight-addons .icon-bell:before{content:"\e006"}.wpsight-addons .icon-lock:before{content:"\e007"}.wpsight-addons .icon-unlock:before{content:"\e008"}.wpsight-addons .icon-ribbon:before{content:"\e009"}.wpsight-addons .icon-image:before{content:"\e010"}.wpsight-addons .icon-signal:before{content:"\e011"}.wpsight-addons .icon-target:before{content:"\e012"}.wpsight-addons .icon-clipboard:before{content:"\e013"}.wpsight-addons .icon-clock:before{content:"\e014"}.wpsight-addons .icon-watch:before{content:"\e015"}.wpsight-addons .icon-air-play:before{content:"\e016"}.wpsight-addons .icon-camera:before{content:"\e017"}.wpsight-addons .icon-video:before{content:"\e018"}.wpsight-addons .icon-disc:before{content:"\e019"}.wpsight-addons .icon-printer:before{content:"\e020"}.wpsight-addons .icon-monitor:before{content:"\e021"}.wpsight-addons .icon-server:before{content:"\e022"}.wpsight-addons .icon-cog:before{content:"\e023"}.wpsight-addons .icon-heart:before{content:"\e024"}.wpsight-addons .icon-paragraph:before{content:"\e025"}.wpsight-addons .icon-align-justify:before{content:"\e026"}.wpsight-addons .icon-align-left:before{content:"\e027"}.wpsight-addons .icon-align-center:before{content:"\e028"}.wpsight-addons .icon-align-right:before{content:"\e029"}.wpsight-addons .icon-book:before{content:"\e030"}.wpsight-addons .icon-layers:before{content:"\e031"}.wpsight-addons .icon-stack:before{content:"\e032"}.wpsight-addons .icon-stack-2:before{content:"\e033"}.wpsight-addons .icon-paper:before{content:"\e034"}.wpsight-addons .icon-paper-stack:before{content:"\e035"}.wpsight-addons .icon-search:before{content:"\e036"}.wpsight-addons .icon-zoom-in:before{content:"\e037"}.wpsight-addons .icon-zoom-out:before{content:"\e038"}.wpsight-addons .icon-reply:before{content:"\e039"}.wpsight-addons .icon-circle-plus:before{content:"\e040"}.wpsight-addons .icon-circle-minus:before{content:"\e041"}.wpsight-addons .icon-circle-check:before{content:"\e042"}.wpsight-addons .icon-circle-cross:before{content:"\e043"}.wpsight-addons .icon-square-plus:before{content:"\e044"}.wpsight-addons .icon-square-minus:before{content:"\e045"}.wpsight-addons .icon-square-check:before{content:"\e046"}.wpsight-addons .icon-square-cross:before{content:"\e047"}.wpsight-addons .icon-microphone:before{content:"\e048"}.wpsight-addons .icon-record:before{content:"\e049"}.wpsight-addons .icon-skip-back:before{content:"\e050"}.wpsight-addons .icon-rewind:before{content:"\e051"}.wpsight-addons .icon-play:before{content:"\e052"}.wpsight-addons .icon-pause:before{content:"\e053"}.wpsight-addons .icon-stop:before{content:"\e054"}.wpsight-addons .icon-fast-forward:before{content:"\e055"}.wpsight-addons .icon-skip-forward:before{content:"\e056"}.wpsight-addons .icon-shuffle:before{content:"\e057"}.wpsight-addons .icon-repeat:before{content:"\e058"}.wpsight-addons .icon-folder:before{content:"\e059"}.wpsight-addons .icon-umbrella:before{content:"\e060"}.wpsight-addons .icon-moon:before{content:"\e061"}.wpsight-addons .icon-thermometer:before{content:"\e062"}.wpsight-addons .icon-drop:before{content:"\e063"}.wpsight-addons .icon-sun:before{content:"\e064"}.wpsight-addons .icon-cloud:before{content:"\e065"}.wpsight-addons .icon-cloud-upload:before{content:"\e066"}.wpsight-addons .icon-cloud-download:before{content:"\e067"}.wpsight-addons .icon-upload:before{content:"\e068"}.wpsight-addons .icon-download:before{content:"\e069"}.wpsight-addons .icon-location:before{content:"\e070"}.wpsight-addons .icon-location-2:before{content:"\e071"}.wpsight-addons .icon-map:before{content:"\e072"}.wpsight-addons .icon-battery:before{content:"\e073"}.wpsight-addons .icon-head:before{content:"\e074"}.wpsight-addons .icon-briefcase:before{content:"\e075"}.wpsight-addons .icon-speech-bubble:before{content:"\e076"}.wpsight-addons .icon-anchor:before{content:"\e077"}.wpsight-addons .icon-globe:before{content:"\e078"}.wpsight-addons .icon-box:before{content:"\e079"}.wpsight-addons .icon-reload:before{content:"\e080"}.wpsight-addons .icon-share:before{content:"\e081"}.wpsight-addons .icon-marquee:before{content:"\e082"}.wpsight-addons .icon-marquee-plus:before{content:"\e083"}.wpsight-addons .icon-marquee-minus:before{content:"\e084"}.wpsight-addons .icon-tag:before{content:"\e085"}.wpsight-addons .icon-power:before{content:"\e086"}.wpsight-addons .icon-command:before{content:"\e087"}.wpsight-addons .icon-alt:before{content:"\e088"}.wpsight-addons .icon-esc:before{content:"\e089"}.wpsight-addons .icon-bar-graph:before{content:"\e090"}.wpsight-addons .icon-bar-graph-2:before{content:"\e091"}.wpsight-addons .icon-pie-graph:before{content:"\e092"}.wpsight-addons .icon-star:before{content:"\e093"}.wpsight-addons .icon-arrow-left:before{content:"\e094"}.wpsight-addons .icon-arrow-right:before{content:"\e095"}.wpsight-addons .icon-arrow-up:before{content:"\e096"}.wpsight-addons .icon-arrow-down:before{content:"\e097"}.wpsight-addons .icon-volume:before{content:"\e098"}.wpsight-addons .icon-mute:before{content:"\e099"}.wpsight-addons .icon-content-right:before{content:"\e100"}.wpsight-addons .icon-content-left:before{content:"\e101"}.wpsight-addons .icon-grid:before{content:"\e102"}.wpsight-addons .icon-grid-2:before{content:"\e103"}.wpsight-addons .icon-columns:before{content:"\e104"}.wpsight-addons .icon-loader:before{content:"\e105"}.wpsight-addons .icon-bag:before{content:"\e106"}.wpsight-addons .icon-ban:before{content:"\e107"}.wpsight-addons .icon-flag:before{content:"\e108"}.wpsight-addons .icon-trash:before{content:"\e109"}.wpsight-addons .icon-expand:before{content:"\e110"}.wpsight-addons .icon-contract:before{content:"\e111"}.wpsight-addons .icon-maximize:before{content:"\e112"}.wpsight-addons .icon-minimize:before{content:"\e113"}.wpsight-addons .icon-plus:before{content:"\e114"}.wpsight-addons .icon-minus:before{content:"\e115"}.wpsight-addons .icon-check:before{content:"\e116"}.wpsight-addons .icon-cross:before{content:"\e117"}.wpsight-addons .icon-move:before{content:"\e118"}.wpsight-addons .icon-delete:before{content:"\e119"}.wpsight-addons .icon-menu:before{content:"\e120"}.wpsight-addons .icon-archive:before{content:"\e121"}.wpsight-addons .icon-inbox:before{content:"\e122"}.wpsight-addons .icon-outbox:before{content:"\e123"}.wpsight-addons .icon-file:before{content:"\e124"}.wpsight-addons .icon-file-add:before{content:"\e125"}.wpsight-addons .icon-file-subtract:before{content:"\e126"}.wpsight-addons .icon-help:before{content:"\e127"}.wpsight-addons .icon-open:before{content:"\e128"}.wpsight-addons .icon-ellipsis:before{content:"\e129"}.wpsight-admin-addons{margin-top:1rem}.wpsight-settings-wrap *,.wpsight-settings-wrap :after,.wpsight-settings-wrap :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back{transition:margin-left .6s}.wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar,.wpsight-settings-page .wpsight-settings-wrap-hide-navbar .wpsight-admin-sidebar-back{margin-left:0}.wpsight-settings-page .wpsight-settings-wrap.wpsight-settings-wrap-hide-navbar .wpsight-admin-main{margin-left:260px!important}.wpsight-settings-page .wpsight-settings-wrap,.wpsight-settings-page .wpsight-settings-wrap .settings_panel .form-table,.wpsight-settings-page .wpsight-settings-wrap input{margin:0}.wpsight-settings-page .wpsight-settings-wrap input[type=date],.wpsight-settings-page .wpsight-settings-wrap input[type=datetime-local],.wpsight-settings-page .wpsight-settings-wrap input[type=datetime],.wpsight-settings-page .wpsight-settings-wrap input[type=email],.wpsight-settings-page .wpsight-settings-wrap input[type=month],.wpsight-settings-page .wpsight-settings-wrap input[type=number],.wpsight-settings-page .wpsight-settings-wrap input[type=password],.wpsight-settings-page .wpsight-settings-wrap input[type=search],.wpsight-settings-page .wpsight-settings-wrap input[type=tel],.wpsight-settings-page .wpsight-settings-wrap input[type=text],.wpsight-settings-page .wpsight-settings-wrap input[type=time],.wpsight-settings-page .wpsight-settings-wrap input[type=url],.wpsight-settings-page .wpsight-settings-wrap input[type=week]{height:auto;padding:.75rem;line-height:initial}.wpsight-settings-page .wpsight-settings-wrap select{padding:.75rem;height:45px;line-height:initial!important}.wpsight-settings-field.wpsight-settings-field-text{margin-bottom:1rem}.wpsight-settings-page .wpsight-settings-wrap .form-table th{width:400px;padding:2rem 2rem 2rem 0}.wpsight-settings-grid{width:100%;float:left}.wpsight-settings-panel{width:calc(98% - 2px);float:left;background:#fff;margin:0 2% 2rem 0;border:1px solid #ddd}@media screen and (min-width:781px){.wpsight-settings-panel{width:calc(48% - 2px)}}@media screen and (min-width:1200px){.wpsight-settings-panel{width:calc(31.33333% - 2px)}}@media screen and (min-width:1600px){.download-wrapper .column{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.download-wrapper .column:nth-child(odd){clear:none;margin-left:8px}.download-wrapper .column:nth-child(2n){margin-right:8px}.download-wrapper .column:nth-child(3n+1){clear:both;margin-left:0}.download-wrapper .column:nth-child(3n){margin-right:0}.wpsight-settings-panel{width:calc(23% - 2px)}}.wpsight-settings-panel .wpsight-settings-panel-head{padding:1rem 2.5rem;border-bottom:1px solid #ddd;font-weight:600;letter-spacing:.05rem;background:#f6f6f6;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wpsight-settings-panel .wpsight-settings-panel-body{padding:1.5rem 1rem}.wpsight-settings-panel .wpsight-settings-panel-body input[type=text]{width:100%;margin:0 0 .5rem}.wpsight-settings-page .wpsight-admin-license-status{position:relative;display:block;width:100%;height:40px}.wpsight-settings-page .indicator{width:12px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 6px);background:#999;border-radius:16px}.wpsight-settings-page .indicator-valid{background:#0c6}.wpsight-settings-page .indicator-expired{background:#f33}.wpsight-settings-page .indicator-inactive{background:#fc6}.wpsight-settings-page .indicator-mismatch{background:#ff9b5a}.wpsight-settings-page .wpsight-settings-help{width:20px;height:20px;position:absolute;top:calc(50% - 10px);right:1rem;cursor:help}.wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio,.wpsight-settings-field-measurement-wrap .wpsight-settings-field-text{float:left}.wpsight-settings-field-measurement-wrap .wpsight-settings-field-text{margin-right:1rem;margin-bottom:1rem}.wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio input[type=radio]+.label-radio{margin:0 .5rem 1rem 0}.wpsight-settings-field-checkbox .switch{width:80px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.wpsight-settings-field-checkbox .switch .label-checkbox{height:30px;padding:0;display:block;overflow:hidden;cursor:pointer;line-height:30px;text-align:center;border:1px solid #ddd;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-transition:background-color .3s;-moz-transition:background-color .3s;-ms-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.wpsight-settings-field-checkbox .switch .label-checkbox:before{content:"\2713";width:40px;margin:0;display:block;position:absolute;top:0;bottom:0;right:40px;color:#ddd;border:1px solid #ddd;background:#fff;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.wpsight-settings-field-checkbox .switch input[type=checkbox]:checked+.label-checkbox{background-color:#12ae8f}.wpsight-settings-field-checkbox .switch input[type=checkbox]:checked+.label-checkbox,.wpsight-settings-field-checkbox .switch input[type=checkbox]:checked+.label-checkbox:before{border-color:#12ae8f}.wpsight-settings-field-checkbox .switch input[type=checkbox]:checked+.label-checkbox:before{right:0;content:"\2713";color:#12ae8f}.wpsight-settings-field-radio input[type=radio]+.label-radio{padding:.75rem 1rem .75rem 2.5rem;margin:0 1rem 1rem 0;display:inline-block;position:relative;border:1px solid #ddd;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.wpsight-settings-field-multicheck input[type=checkbox]:checked+.label-checkbox,.wpsight-settings-field-radio input[type=radio]:checked+.label-radio{background:#12ae8f;border-color:#12ae8f;color:#fff}.wpsight-settings-field-multicheck input[type=checkbox]+.label-checkbox:before,.wpsight-settings-field-radio input[type=radio]+.label-radio:before{content:"";width:18px;height:18px;border:1px solid #ccc;position:absolute;border-radius:100%;left:1em;top:calc(50% - 9px);-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.wpsight-settings-field-multicheck input[type=checkbox]:checked+.label-checkbox:before,.wpsight-settings-field-radio input[type=radio]:checked+.label-radio:before{border:1px solid #fff;background:#12ae8f}.wpsight-settings-field-multicheck input[type=checkbox]+.label-checkbox:after,.wpsight-settings-field-radio input[type=radio]+.label-radio:after{content:"";width:12px;height:12px;background:#fff;border:1px solid #12ae8f;position:absolute;left:calc(1em + 3px);top:calc(50% - 6px);border-radius:100%;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.wpsight-settings-field-multicheck input[type=checkbox]:checked+.label-checkbox:after,.wpsight-settings-field-radio input[type=radio]:checked+.label-radio:after{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpsight-settings-field-multicheck .multicheck{float:left;margin:0 0 1rem}.wpsight-settings-field-multicheck input[type=checkbox]+.label-checkbox{padding:.75rem 1rem .75rem 2.5rem;margin:0 1rem 0 0;display:inline-block;position:relative;border:1px solid #ddd;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.wpsight-settings-field-range{width:100%}.wpsight-settings-field-range .range-slider__range{-webkit-appearance:none;width:calc(100% - (73px));height:5px;border-radius:5px;background:#eee;outline:0;padding:0;margin:0}.wpsight-settings-field-range .range-slider__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#2c3e50;cursor:pointer;-webkit-transition:background .15s ease-in-out;transition:background .15s ease-in-out}.wpsight-settings-field-range .range-slider__range::-webkit-slider-thumb:hover{background:#1abc9c}.wpsight-settings-field-range .range-slider__range:active::-webkit-slider-thumb{background:#1abc9c}.wpsight-settings-field-range .range-slider__range::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:#333;cursor:pointer;-webkit-transition:background .15s ease-in-out;transition:background .15s ease-in-out}.wpsight-settings-field-range .range-slider__range::-moz-range-thumb:hover{background:#12ae8f}.wpsight-settings-field-range .range-slider__range:active::-moz-range-thumb{background:#12ae8f}.wpsight-settings-field-range .range-slider__value{display:inline-block;position:relative;width:60px;color:#fff;line-height:20px;text-align:center;border-radius:3px;background:#333;padding:5px 10px;margin-left:8px}.wpsight-settings-field-range .range-slider__value:after{position:absolute;top:8px;left:-7px;width:0;height:0;border-top:7px solid transparent;border-right:7px solid #2c3e50;border-bottom:7px solid transparent;content:''}::-moz-range-track{background:#d7dcdf;border:0}input::-moz-focus-inner,input::-moz-focus-outer{border:0}.wpsight-settings-page #wpcontent{padding-left:0}.wpsight-settings-page #wpbody-content{padding-bottom:0}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar{width:260px;position:absolute;top:0;z-index:1;padding:0;background:#3b4045}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back{width:260px;position:fixed;top:0;bottom:0;background:#3b4045}.wpsight-settings-page ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#3b4045}.wpsight-settings-page #update-nag,.wpsight-settings-page .notice,.wpsight-settings-page .update-nag{width:100%;margin:0!important;padding:1rem 2rem;display:inline-block;line-height:1;font-size:.8rem;text-align:left;z-index:1;background-color:#ffeab3;border-left:5px solid #ffb900;border-bottom:1px solid rgba(100,100,100,.1);box-shadow:none;box-sizing:border-box;transition:width .6s,margin-left .6s}@media (max-width:600px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar,.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-sidebar-back{margin-left:-260px}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main{margin-left:0!important;width:100%}.wpsight-settings-page #update-nag,.wpsight-settings-page .notice,.wpsight-settings-page .update-nag{width:100%;margin:0!important}}.wpsight-settings-page .notice.notice-error,.wpsight-settings-page .update-nag.notice-error{background-color:#f4bebe;border-left:5px solid #dc3232}.wpsight-settings-page .notice.notice-warning,.wpsight-settings-page .update-nag.notice-warning{background-color:#ffeab3;border-left:5px solid #ffb900}.wpsight-settings-page .notice.notice-success,.wpsight-settings-page .update-nag.notice-success{background-color:#c8eacb;border-left:5px solid #46b450}.wpsight-settings-page .notice.notice-info,.wpsight-settings-page .update-nag.notice-info{background-color:#b3edff;border-left:5px solid #00a0d2}.wpsight-settings-page .wpsight-settings-wrap .submit{clear:both;padding:0;margin:0}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-nav{padding:0;border:none}.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab{display:block;float:none;margin:0;color:#ccc;border:none;background:0 0;padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.05)}.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab-active{color:#fff;background:rgba(255,255,255,.1)}.wpsight-settings-page .wpsight-settings-wrap .nav-tab-wrapper .nav-tab .dashicons{top:1px;position:relative;margin-right:5px}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main{margin-left:260px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .form-table th{vertical-align:middle}.wpsight-settings-page .wpsight-settings-wrap .settings_panel h3{font-size:1.6rem;line-height:1.2}.wpsight-settings-page .wpsight-settings-wrap .settings_panel h3 small{font-weight:400;font-size:.8rem;line-height:1.2}.wpsight-settings-page .wpsight-settings-wrap .settings_panel h4{padding:0;margin:0;font-size:1.4rem}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading{border-bottom:1px solid #ddd;margin:0 0 1rem;padding:1rem 0 2rem;position:relative}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-title{display:inline}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-title .wpsight-admin-ui-icon{padding:.5rem;margin:0 .5rem 0 0;display:inline-block;position:relative;top:-8px;color:#fff;background:#12ae8f}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions{float:right}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading h3{display:inline;margin:0;padding:0}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button{margin-left:1rem}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-no-padding{padding:0}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-auto-height{min-height:auto}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-hero p{font-size:1rem}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button{height:44px;line-height:42px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button-text-icon span{position:relative;top:11px;margin-right:5px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button-icon span{position:relative;top:11px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account{background-image:url(../img/icon-cloud.png);background-position:150% 50px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation{background-image:url(../img/icon-documentation.png);background-position:150% 50px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support{background-image:url(../img/icon-help.png);background-position:150% 50px}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-newsletter{background:#f3f3f3}@media (max-width:782px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions{margin-bottom:-.5rem}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button{margin-bottom:.5rem;margin-left:0}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel .button:first-child{margin-right:1rem}.wpsight-admin-main .button{padding:0 10px 1px;margin-bottom:0}.settings_panel .form-table td select{height:45px!important;padding:.3rem .75rem!important}}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle{min-height:auto;display:none}.wpsight-admin-main-btn-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:28px;position:relative;top:0;background:0 0;border:none;outline:0}.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line{position:relative;height:3px;width:inherit;transition:.4s;background:#000;border-radius:10px}.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(2){margin:8px 0}.wpsight-admin-main-btn-toggle .wpsight-admin-main-btn-toggle-line:nth-child(3){align-self:flex-start}.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:first-child{margin-bottom:-3px;transform:rotate(45deg)}.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(2){margin:0;transform:translate(-100%,0);opacity:0}.wpsight-admin-main-btn-toggle-active .wpsight-admin-main-btn-toggle-line:nth-child(3){margin-top:-3px;transform:rotate(-45deg)}.wrap-cards-recommend{display:flex;align-items:stretch;flex-wrap:wrap;margin:16px 0 -30px 5px}.wrap-cards-recommend .wrap-card{max-width:calc(100% / 3 - 18px);padding:0 8px;margin-bottom:16px;width:100%}.wrap-title-recommend{margin-left:13px;margin-bottom:16px}.wrap-title-recommend h2{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:1.3}@media(max-width:1600px){.wrap-cards-recommend .wrap-card{max-width:calc(100% / 2 - 22px)}}@media(max-width:1260px){.wrap-cards-recommend .wrap-card{padding:0 10px;margin-bottom:20px}}@media(max-width:992px){.wrap-cards-recommend .wrap-card{max-width:calc(100% - 22px)}}@media(max-width:768px){.wrap-cards-recommend{margin:16px 0 -30px;padding-right:10px}.wrap-cards-recommend .wrap-card{max-width:100%;padding:0}.wrap-title-recommend{margin-left:0}}.wrap-cards-recommend .card{height:100%;display:flex;max-width:none;min-width:auto;margin:0;padding:20px}.wrap-cards-recommend .card__content{padding-left:20px}.addons-info-mobile,.wrap-cards-recommend .card__content>*{margin:0}.wrap-cards-recommend .card__wrap-img{flex-shrink:0;width:120px;height:120px}.wrap-cards-recommend .card__img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}.wrap-cards-recommend .card__wrap-link{margin-bottom:10px}.wrap-cards-recommend :focus{outline:0!important;box-shadow:none}.wrap-cards-recommend .card__description{margin-bottom:16px}@media(max-width:480px){.wrap-cards-recommend .card{padding:16px}.wrap-cards-recommend .card__content{padding-left:14px}.wrap-cards-recommend .card__wrap-img{width:90px;height:90px}.wrap-cards-recommend .card__wrap-link{margin-bottom:8px;font-size:1.2em}.wrap-cards-recommend .card__description{margin-bottom:12px;font-size:12px}.wrap-cards-recommend .card__label{font-size:12px}}.swiper-pagination-bullet{transition:.3s;outline:0}.wpsight-admin-ui-promo .swiper-button-next,.wpsight-admin-ui-promo .swiper-button-prev{transition:.4s;opacity:0;color:#fff}.wpsight-admin-ui-promo .swiper-button-prev{left:15px;transform:translate(-50%,0)}.slide-content,.swiper-slide-overlay:after,.wrap-addons-tabs>a:after{position:absolute;left:0;width:100%}.wpsight-admin-ui-promo .swiper-button-next{right:15px;transform:translate(50%,0)}.wpsight-admin-ui-promo:hover .swiper-button-next,.wpsight-admin-ui-promo:hover .swiper-button-prev{opacity:1;transform:translate(0)}.wpsight-admin-ui-promo .swiper-wrapper{align-items:stretch}.wpsight-admin-ui-promo .swiper-slide{height:35vw;min-height:auto}@media (max-width:1200px){.wpsight-settings-page .wpsight-settings-wrap .form-table th{width:100%;padding:1rem 1rem 1rem 0}.wpsight-settings-page .wpsight-settings-wrap .form-table td,.wpsight-settings-page .wpsight-settings-wrap .form-table th,.wpsight-settings-page .wpsight-settings-wrap .form-table tr{display:block;margin:0}.wpsight-settings-page .wpsight-settings-wrap .form-table td{padding-top:0;padding-left:0}.wpsight-settings-field-measurement-wrap .wpsight-settings-field-radio,.wpsight-settings-field-measurement-wrap .wpsight-settings-field-text{float:none}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .wpsight-admin-ui-heading-actions{float:none;margin-top:1rem}.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-ui-heading .button:first-child{margin-left:0}.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-account,.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-documentation,.wpsight-settings-page .wpsight-settings-wrap .settings_panel .wpsight-admin-ui-panel-support{background-position:76% 50px}.wpsight-admin-ui-panel-wrap-theme-bar-item{width:50%;float:left}.wpsight-admin-ui-promo .swiper-slide{height:45vw}}@media (max-width:992px){#wpwrap{overflow-x:hidden}.wpsight-settings-page .wpsight-settings-wrap .form-table th{padding:1rem 0}.wpsight-admin-ui-panel-wrap-theme-bar-item{width:100%;float:none}.wpsight-admin-main .regular-text{width:100%;max-width:100%}body .wpsight-admin-ui-promo .swiper-button-next,body .wpsight-admin-ui-promo .swiper-button-prev{opacity:1;transform:translate(0)}.wpsight-admin-ui-promo .swiper-slide{height:68vw}}@media (max-width:600px){.wpsight-settings-page .wpsight-settings-wrap .wpsight-admin-main-wrap-btn-toggle{display:block}.wpsight-admin-ui-promo .swiper-slide{height:130vw}}#settings-overview .settings_panel_boxes+.wpsight-admin-ui-grid{display:flex;width:100%}#settings-overview .settings_panel_boxes+.wpsight-admin-ui-grid>div{float:none}.wpsight-admin-ui-promo .promo-slider-img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover;cursor:grab}.promo-services-content{min-height:17vw;max-width:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10px;background-color:#16ac8f}.promo-services-text{color:#fff;font-size:1.1vw;text-align:center;line-height:1.4;display:block;margin-bottom:2.2vw;font-weight:300}.promo-services-button{color:#000!important;background-color:#fff;padding:1em;width:100%;font-size:.9vw;text-align:center;max-width:13vw;box-shadow:0 0 15px rgba(0,0,0,.2);transition:.3s}.promo-services-button:hover{box-shadow:none}.swiper-slide-overlay:after{content:'';top:0;height:100%;background-color:rgba(0,0,0,.2);z-index:1}.slide-content{top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;line-height:1.3;text-align:center;padding:50px}.addons-table-btn,.wrap-addons-tabs>a.active{color:rgba(0,0,0,.8)}.slide-content-title{font-size:1.6rem}.slide-content-desc{font-size:1.1vw}@media (max-width:1200px){#settings-overview .settings_panel_boxes+.wpsight-admin-ui-grid{display:block}.slide-content{padding:60px}}@media (max-width:992px){.promo-services-content{min-height:26vw}.promo-services-text{font-size:2.2vw;margin-bottom:2.6vw}.promo-services-button{font-size:1.8vw;padding:.8em;max-width:26vw}.slide-content-title{font-size:28px}.slide-content-desc{font-size:15px}}@media (max-width:768px){.promo-services-content{min-height:160px}.promo-services-text{font-size:16px;margin-bottom:20px}.promo-services-button{font-size:12px;max-width:180px}.slide-content-title{font-size:24px}.slide-content-desc{font-size:12px}}@media (max-width:576px){.slide-content-title{font-size:22px}.slide-content-desc{font-size:12px}}.wrap-addons-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.1)}.wrap-addons-tabs>a{line-height:40px;color:rgba(0,0,0,.3);outline:0;padding:6px 22px;font-size:14px;position:relative;box-shadow:none;border:none;font-weight:500;transition:.3s}.wrap-addons-tabs>a:after{content:'';bottom:-1px;height:2px;transition:.3s;opacity:0;background-color:#16ac8f}.wrap-addons-tabs>a.active:after{opacity:1;color:rgba(0,0,0,.8)}.wpsight-admin-addons thead th{text-transform:uppercase;color:rgba(0,0,0,.4);font-weight:500}.wpsight-admin-addons{font-size:14px}.wpsight-admin-addons>table{border-spacing:0}.wpsight-admin-addons tr{height:55px;padding:8px 0;box-shadow:0 1px 0 rgba(0,0,0,.1);transition:.3s;cursor:pointer}.wpsight-admin-addons td,.wpsight-admin-addons th{padding:6px}.wpsight-admin-addons tbody tr:hover{background-color:rgba(0,0,0,.01)}.wpsight-admin-addons td:first-child{width:40%}.wpsight-admin-addons td:nth-child(2),.wpsight-admin-addons td:nth-child(3),.wpsight-admin-addons td:nth-child(4){width:15%}.wpsight-admin-addons td:nth-child(5){width:12%}.addons-table-btn{padding:8px 26px;outline:0;border:1px solid rgba(0,0,0,.1);text-align:center;transition:.3s;display:inline-block}.addons-table-btn:hover{color:#fff;background-color:#16ac8f;border-color:#16ac8f}.addons-info-mobile .content-top{display:flex;align-items:center;justify-content:space-between}.addons-list{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:8px 0;margin-bottom:-1px}.addons-info-mobile .content-name{font-size:16px}.addons-info-mobile .content-btn{background-color:#16ac8f;border:1px solid #16ac8f;outline:0;border-radius:3px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:.3s}.addons-info-mobile .content-btn.active{background-color:transparent}.addons-info-mobile .content-btn line,.addons-info-mobile .content-btn svg{transition:.3s}.addons-info-mobile .content-btn.active line{stroke:#16AC8F}.addons-info-mobile .content-btn.active svg{transform:rotate(180deg)}.addons-info-mobile .content-bottom{margin-top:8px;font-size:14px}.addons-info-mobile .content-bottom .content-item .text:last-child{font-weight:500}.addons-info-mobile .content-bottom .content-item:last-child{margin:10px 0 0}.addons-info-mobile .content-bottom .addons-table-btn{display:block;width:100%}.addons-info-mobile .content-bottom .content-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.status-active{color:#4ec143}.status-inactive{color:#e53636}@media(max-width:1600px){.wpsight-admin-addons{font-size:12px}.wpsight-admin-addons tr{height:50px}}@media(max-width:1360px){.addons-info-desktop{display:none}.addons-info-mobile{display:block}}@media(max-width:576px){.addons-info-mobile .content-name{font-size:14px}} \ No newline at end of file diff --git a/assets/css/wpsight-meta-boxes.min.css b/assets/css/wpsight-meta-boxes.min.css index 51e05f1..fd48987 100644 --- a/assets/css/wpsight-meta-boxes.min.css +++ b/assets/css/wpsight-meta-boxes.min.css @@ -1,142 +1 @@ -/* CMB2 METABOXES -================================================== */ - -/* Meta Boxes (main) */ -.postbox-container .cmb-row, -.cmb-repeat-group-wrap .cmb-row { - margin-bottom: 0; -} - -.cmb-repeat-group-wrap .cmb-row .cmb-row { - padding-top: .5rem; - padding-bottom: .5rem; -} - -.cmb-repeatable-group .cmb2-upload-button { - float: none; -} - -.cmb-type-text input, -.cmb-type-text-url input { - width: 100%; -} - -.cmb-type-textarea textarea { - width: 100%; -} - -.cmb-type-select select { - min-width: 230px; - max-width: 100%; -} - -.postbox-container .cmb2-wrap > .cmb-field-list > .cmb-row.cmb-type-file-list, -.cmb-repeat-group-wrap .cmb2-wrap > .cmb-field-list > .cmb-row.cmb-type-file-list { - padding-bottom: 15px; -} - -.cmb-attach-list li { - margin-bottom: 5px; -} - -/* Meta Boxes (sidebar) */ -.inner-sidebar .cmb-th label, -#side-sortables .cmb-th label { - padding-bottom: 0; -} - -.inner-sidebar .cmb-th label:after, -#side-sortables .cmb-th label:after { - border-bottom: 0; - padding-top: 0; -} - -.inner-sidebar .cmb-row .cmb2-metabox-description, -#side-sortables .cmb-row .cmb2-metabox-description { - padding-bottom: 0; -} - -.cmb2-element .ui-datepicker select { - background-color: rgba(255,255,255,.15); - border: 0; - color: #fff; -} - -.cmb2-media-status .embed-status, -.cmb2-media-status .img-status img { - background: #eee; - border: none; - outline: none; - box-shadow: inset 0 0 15px rgba(0,0,0,.3), inset 0 0 0 1px rgba(0,0,0,.05); - background-image: linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0); - background-position: 0 0,10px 10px; - background-size: 20px 20px; - border-radius: 2px; - -moz-border-radius: 2px; - margin: 15px 0 0; -} - -.cmb2-media-status .embed-status .cmb2-remove-file-button, -.cmb2-media-status .img-status .cmb2-remove-file-button { - position: absolute; - top: 8px; - left: auto; - right: -8px; - text-indent: -9999px; -} - -/* BUTTERBEAN -================================================== */ -.butterbean-manager-default { - overflow: hidden; - background: #fff; - background: linear-gradient(90deg,#fafafa 0,#fafafa 220px,#fff 180px,#fff 100%); -} - -.butterbean-manager-default .butterbean-nav { - position: relative; - float: left; - list-style: none; - width: 220px; - line-height: 1em; - margin: 0 0 -1px 0; - padding: 0; - background-color: #fafafa; - border-right: 1px solid #eee; - box-sizing: border-box; -} - -.butterbean-manager-default .butterbean-content { - width: calc(100% - 220px); - margin-left: -1px; - border-left: 1px solid #eee; -} - -.butterbean-manager-default .butterbean-nav li[aria-selected=true] a { - color: #666; - background-color: #fff; - margin-right: -1px; -} - -.butterbean-manager-default .butterbean-nav .dashicons { - margin-right: 10px; -} - -.butterbean-manager-default .butterbean-section { - padding: 0 2em 0; - box-sizing: border-box; -} - -.butterbean-manager-default .butterbean-control { - padding: 2em 0; - margin: 0 2em; - border-bottom: 1px solid #CCC; -} - -.butterbean-manager-default .butterbean-control:last-child { - border-bottom: none; -} - -.butterbean-manager-default .butterbean-label { - font-weight: 600; -} \ No newline at end of file +.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{margin-bottom:0}.cmb-repeat-group-wrap .cmb-row .cmb-row{padding-top:.5rem;padding-bottom:.5rem}.cmb-repeatable-group .cmb2-upload-button{float:none}.cmb-type-text input,.cmb-type-text-url input,.cmb-type-textarea textarea{width:100%}.cmb-type-select select{min-width:230px;max-width:100%}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row.cmb-type-file-list,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row.cmb-type-file-list{padding-bottom:15px}.cmb-attach-list li{margin-bottom:5px}#side-sortables .cmb-row .cmb2-metabox-description,#side-sortables .cmb-th label,.inner-sidebar .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-th label{padding-bottom:0}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:0;padding-top:0}.cmb2-element .ui-datepicker select{background-color:rgba(255,255,255,.15);border:0;color:#fff}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:0 0/20px 20px,10px 10px/20px 20px #eee;border:none;outline:0;box-shadow:inset 0 0 15px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0);border-radius:2px;-moz-border-radius:2px;margin:15px 0 0}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{position:absolute;top:8px;left:auto;right:-8px;text-indent:-9999px}.butterbean-manager-default{overflow:hidden;background:#fff;background:linear-gradient(90deg,#fafafa 0,#fafafa 220px,#fff 180px,#fff 100%)}.butterbean-manager-default .butterbean-nav{position:relative;float:left;list-style:none;width:220px;line-height:1em;margin:0 0 -1px;padding:0;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}.butterbean-manager-default .butterbean-content{width:calc(100% - 220px);margin-left:-1px;border-left:1px solid #eee}.butterbean-manager-default .butterbean-nav li[aria-selected=true] a{color:#666;background-color:#fff;margin-right:-1px}.butterbean-manager-default .butterbean-nav .dashicons{margin-right:10px}.butterbean-manager-default .butterbean-section{padding:0 2em;box-sizing:border-box}.butterbean-manager-default .butterbean-control{padding:2em 0;margin:0 2em;border-bottom:1px solid #ccc}.butterbean-manager-default .butterbean-control:last-child{border-bottom:none}.butterbean-manager-default .butterbean-label{font-weight:600} \ No newline at end of file diff --git a/assets/css/wpsight-print.min.css b/assets/css/wpsight-print.min.css index 296482f..7055a0d 100644 --- a/assets/css/wpsight-print.min.css +++ b/assets/css/wpsight-print.min.css @@ -1,224 +1 @@ -/* General -================================================== */ - -body { - background: #ddd; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 15px; - line-height: 1; - margin-top: 4%; -} - -body.rtl { - direction: rtl; - unicode-bidi: embed; -} - -page[size="A4"] { - background: white; - box-shadow: 0 0 0.5cm rgba(0,0,0,0.1); - display: block; - margin: 0 auto; - margin-bottom: 0.5cm; - min-height: 29.7cm; - width: 21cm; -} - -@media print { - - body, page[size="A4"] { - margin: 0; - box-shadow: 0; - } - -} - -h1, -p { - margin: 0 0 20px; -} - -img { - max-width: 100%; - height: auto; -} - -a:link, -a:visited { - color: #333; -} - -@media print { - - a { - text-decoration: none; - } - -} - -.wrap { - padding: 20mm; -} - -/* Actions -================================================== */ - -.actions { - margin: -20px auto 40px; - width: 21cm; -} - -@media print { - - .actions { - display: none; - } - -} - -.actions a { - text-decoration: none; -} - -.actions .button.printnow { - background-color: #13ae90; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - color: #fff; - font-size: 12px; - padding: 10px 15px; -} - -/* Listing Elements -================================================== */ - -[class*="listing-print-"] { - margin-bottom: 30px; - page-break-inside: avoid; -} - -.wpsight-listing-price { - font-weight: bold; -} - -.wpsight-label, -.wpsight-featured { - display: none; -} - -.wpsight-alert { - color: red; - margin-bottom: 30px; -} - -.listing-print-agent { - padding-top: 20px; -} - -.listing-print-agent .alignleft { - max-width: 60%; - min-width: 50%; -} - -.listing-print-agent .alignright { - max-width: 35%; -} - -.listing-print-agent .alignleft img { - float: left; - margin: 0 10px 10px 0; -} - -.rtl .listing-print-agent .alignleft img { - float: right; - margin-left: 10px; - margin-right: 0; -} - -.listing-print-agent strong { - font-size: 1.5em; - line-height: 2; -} - -/* Listing Details -================================================== */ - -.wpsight-listing-details { - margin-right: -5%; -} - -.rtl .wpsight-listing-details { - margin-left: -5%; - margin-right: 0; -} - -.wpsight-listing-details .listing-details-detail { - border-bottom: 1px solid #ededed; - float: left; - margin-right: 5%; - padding: 10px 0; - width: 45%; -} - -.rtl .wpsight-listing-details .listing-details-detail { - float: right; - margin-left: 5%; - margin-right: 0; -} - -.wpsight-listing-details .listing-details-label { - display: inline-block; - font-weight: bold; - min-width: 50%; -} - -.wpsight-listing-details .listing-details-value { - display: inline-block; - word-break: break-all; -} - -/* Clearing -================================================== */ - -.clearfix:before, -.clearfix:after { - content: '\0020'; - display: block; - height: 0; - overflow: hidden; - visibility: hidden; - width: 0; -} -.clearfix:after { - clear: both; -} -.clearfix { - zoom: 1; -} - -.clear, -.wrap { - clear: both; -} - -/* Useful -================================================== */ - -.alignleft { - float: left; - width: auto; -} - -.rtl .alignleft { - float: right; -} - -.alignright { - float: right; - width: auto; -} - -.rtl .alignright { - float: left; -} \ No newline at end of file +body{background:#ddd;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1;margin-top:4%}body.rtl{direction:rtl;unicode-bidi:embed}page[size=A4]{background:#fff;box-shadow:0 0 .5cm rgba(0,0,0,.1);display:block;margin:0 auto .5cm;min-height:29.7cm;width:21cm}h1,p{margin:0 0 20px}img{max-width:100%;height:auto}a:link,a:visited{color:#333}.wrap{padding:20mm}.actions{margin:-20px auto 40px;width:21cm}.alignleft,.alignright{width:auto}@media print{body,page[size=A4]{margin:0;box-shadow:0}a{text-decoration:none}.actions{display:none}}.actions a{text-decoration:none}.actions .button.printnow{background-color:#13ae90;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:#fff;font-size:12px;padding:10px 15px}[class*=listing-print-]{margin-bottom:30px;page-break-inside:avoid}.wpsight-listing-price{font-weight:700}.wpsight-featured,.wpsight-label{display:none}.wpsight-alert{color:red;margin-bottom:30px}.listing-print-agent{padding-top:20px}.listing-print-agent .alignleft{max-width:60%;min-width:50%}.listing-print-agent .alignright{max-width:35%}.listing-print-agent .alignleft img{float:left;margin:0 10px 10px 0}.rtl .listing-print-agent .alignleft img{float:right;margin-left:10px;margin-right:0}.listing-print-agent strong{font-size:1.5em;line-height:2}.wpsight-listing-details{margin-right:-5%}.rtl .wpsight-listing-details{margin-left:-5%;margin-right:0}.wpsight-listing-details .listing-details-detail{border-bottom:1px solid #ededed;float:left;margin-right:5%;padding:10px 0;width:45%}.rtl .wpsight-listing-details .listing-details-detail{float:right;margin-left:5%;margin-right:0}.wpsight-listing-details .listing-details-label{display:inline-block;font-weight:700;min-width:50%}.wpsight-listing-details .listing-details-value{display:inline-block;word-break:break-all}.clearfix:after,.clearfix:before{content:'\0020';display:block;height:0;overflow:hidden;visibility:hidden;width:0}.clear,.clearfix:after,.wrap{clear:both}.clearfix{zoom:1}.alignleft{float:left}.alignright,.rtl .alignleft{float:right}.rtl .alignright{float:left} \ No newline at end of file diff --git a/assets/css/wpsight-rtl.min.css b/assets/css/wpsight-rtl.min.css index 00254f5..ffa4afc 100644 --- a/assets/css/wpsight-rtl.min.css +++ b/assets/css/wpsight-rtl.min.css @@ -1,234 +1 @@ -body { - direction: rtl; - unicode-bidi: embed; -} - -/* Listings Archive Title -================================================== */ - -.listings-panel-title { - float: right; -} - -.listings-panel-title h1, -.listings-panel-title h2, -.listings-panel-title h3 { - margin: 0; - padding: 0; -} - -.listings-panel-actions { - float: left; -} - -.listings-panel-action { - margin-left: 0; - margin-right: 5px; -} - - - -/* Listings Search -================================================== */ - -.wpsight-listings-search { - padding-left: 15px; - padding-right: 30px; -} - -.wpsight-listings-search .listings-search-field { - padding-left: 15px; - padding-right: 0; -} - -.wpsight-listings-search .listings-search-field-radio label, -.wpsight-listings-search .listings-search-field-radio input, -.wpsight-listings-search .listings-search-field-checkbox label, -.wpsight-listings-search .listings-search-field-checkbox input, -.wpsight-listings-search .listings-search-field-taxonomy_checkbox label, -.wpsight-listings-search .listings-search-field-taxonomy_checkbox input { - margin-left: 5px; - margin-right: 0; -} - -.wpsight-listings-search.vertical .listings-search-field-submit { - left: 15px; - right: 30px; -} - -.wpsight-listings-search .listings-search-reset, -.wpsight-listings-search .listings-search-advanced-toggle { - left: 0; - right: auto; -} - -.wpsight-listings-search .listings-search-reset { - left: auto; - right: 0; -} - -/* Pagination -================================================== */ - -.wpsight-pagination li { - margin-left: 10px !important; - margin-right: 0 !important; -} - -/* Listings Archive -================================================== */ - -.wpsight-listings .wpsight-listing-left, -.wpsight-listing-sc .wpsight-listing-left { - float: right; - margin-right: 0; - margin-left: 30px; -} - -/* Listing Single -================================================== */ - -.wpsight-listing-title h1, -.wpsight-listing-title h1.entry-title { - float: right; -} - -/* Listing Details -================================================== */ - -.wpsight-listing-details { - margin-left: -5%; - margin-right: 0; -} - -.wpsight-listing-details .listing-details-detail { - float: right; - margin-left: 5%; - margin-right: 0; -} - -/* Listing Summary -================================================== */ - -.wpsight-listing-summary .listing-details-detail { - margin-left: 5px; - margin-right: 0; -} - -/* Listing Info -================================================== */ - -.wpsight-listing-info .alignright .listing-term { - margin-left: 0; - margin-right: 5px; -} - -.wpsight-listing-info .wpsight-listing-id { - margin-left: 10px; - margin-right: 0; -} - -/* Listing Agent -================================================== */ - -.wpsight-listing-agent-image { - float: right; - margin: 0 0 20px 20px; -} - -.wpsight-listing-agent-links { - left: 40px; - right: auto; -} - -/* Listing Actions -================================================== */ - -.wpsight-listing-title .wpsight-listing-actions { - float: left; -} - -.wpsight-listing-actions .wpsight-listing-action { - margin-left: 0; - margin-right: 5px; -} - -@media (max-width: 599px) { - - .wpsight-listing-actions .wpsight-listing-action { - margin-left: 5px; - margin-right: 0; - } - -} - -/* Listing Teaser (horizontal) -================================================== */ - -.wpsight-listing-teaser .wpsight-listing-left { - float: right; - margin-left: 20px; - margin-right: 0; -} - -.wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 0; - margin-right: 5px; -} - -.wpsight-listing-teaser .wpsight-listing-title .alignleft, -.wpsight-listing-teaser .wpsight-listing-info .alignleft { - float: right; - text-align: right; -} - -.wpsight-listing-teaser .wpsight-listing-title .alignright, -.wpsight-listing-teaser .wpsight-listing-info .alignright { - float: left; - text-align: left; -} - -@media (max-width: 599px) { - - .wpsight-listing-teaser .wpsight-listing-title .alignleft, - .wpsight-listing-teaser .wpsight-listing-title .alignright, - .wpsight-listing-teaser .wpsight-listing-info .alignleft, - .wpsight-listing-teaser .wpsight-listing-info .alignright { - text-align: right; - } - - .wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 5px; - margin-right: 0; - } - -} - -/* Listing Teaser (vertical) -================================================== */ - -.vertical .wpsight-listing-teaser .wpsight-listing-title .alignleft, -.vertical .wpsight-listing-teaser .wpsight-listing-title .alignright, -.vertical .wpsight-listing-teaser .wpsight-listing-info .alignleft, -.vertical .wpsight-listing-teaser .wpsight-listing-info .alignright { - float: none !important; - text-align: right; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 5px; - margin-right: 0; -} - -/* Useful -================================================== */ - -.alignleft { - float: right !important; - text-align: right; -} - -.alignright { - float: left !important; - text-align: left; -} \ No newline at end of file +body{direction:rtl;unicode-bidi:embed}.listings-panel-title,.wpsight-listing-title h1,.wpsight-listing-title h1.entry-title{float:right}.listings-panel-title h1,.listings-panel-title h2,.listings-panel-title h3{margin:0;padding:0}.listings-panel-actions,.wpsight-listing-title .wpsight-listing-actions{float:left}.listings-panel-action,.wpsight-listing-actions .wpsight-listing-action,.wpsight-listing-info .alignright .listing-term,.wpsight-listing-teaser .wpsight-listing-title .listing-term{margin-left:0;margin-right:5px}.wpsight-listings-search{padding-left:15px;padding-right:30px}.wpsight-listings-search .listings-search-field{padding-left:15px;padding-right:0}.vertical .wpsight-listing-teaser .wpsight-listing-title .listing-term,.wpsight-listing-summary .listing-details-detail,.wpsight-listings-search .listings-search-field-checkbox input,.wpsight-listings-search .listings-search-field-checkbox label,.wpsight-listings-search .listings-search-field-radio input,.wpsight-listings-search .listings-search-field-radio label,.wpsight-listings-search .listings-search-field-taxonomy_checkbox input,.wpsight-listings-search .listings-search-field-taxonomy_checkbox label{margin-left:5px;margin-right:0}.wpsight-listings-search.vertical .listings-search-field-submit{left:15px;right:30px}.wpsight-listings-search .listings-search-advanced-toggle,.wpsight-listings-search .listings-search-reset{left:0;right:auto}.wpsight-listings-search .listings-search-reset{left:auto;right:0}.wpsight-pagination li{margin-left:10px!important;margin-right:0!important}.wpsight-listing-sc .wpsight-listing-left,.wpsight-listings .wpsight-listing-left{float:right;margin-right:0;margin-left:30px}.wpsight-listing-details{margin-left:-5%;margin-right:0}.wpsight-listing-details .listing-details-detail{float:right;margin-left:5%;margin-right:0}.wpsight-listing-info .wpsight-listing-id{margin-left:10px;margin-right:0}.wpsight-listing-agent-image{float:right;margin:0 0 20px 20px}.wpsight-listing-agent-links{left:40px;right:auto}.wpsight-listing-teaser .wpsight-listing-left{float:right;margin-left:20px;margin-right:0}.wpsight-listing-teaser .wpsight-listing-info .alignleft,.wpsight-listing-teaser .wpsight-listing-title .alignleft{float:right;text-align:right}.wpsight-listing-teaser .wpsight-listing-info .alignright,.wpsight-listing-teaser .wpsight-listing-title .alignright{float:left;text-align:left}@media (max-width:599px){.wpsight-listing-actions .wpsight-listing-action,.wpsight-listing-teaser .wpsight-listing-title .listing-term{margin-left:5px;margin-right:0}.wpsight-listing-teaser .wpsight-listing-info .alignleft,.wpsight-listing-teaser .wpsight-listing-info .alignright,.wpsight-listing-teaser .wpsight-listing-title .alignleft,.wpsight-listing-teaser .wpsight-listing-title .alignright{text-align:right}}.vertical .wpsight-listing-teaser .wpsight-listing-info .alignleft,.vertical .wpsight-listing-teaser .wpsight-listing-info .alignright,.vertical .wpsight-listing-teaser .wpsight-listing-title .alignleft,.vertical .wpsight-listing-teaser .wpsight-listing-title .alignright{float:none!important;text-align:right}.alignleft{float:right!important;text-align:right}.alignright{float:left!important;text-align:left} \ No newline at end of file diff --git a/assets/css/wpsight.min.css b/assets/css/wpsight.min.css index a023876..adac82e 100644 --- a/assets/css/wpsight.min.css +++ b/assets/css/wpsight.min.css @@ -1,774 +1 @@ -/* Listings -================================================== */ - -.wpsight-listings .listing { - margin-bottom: 20px; -} - -.wpsight-listings .entry-header h2.entry-title { - margin-top: 0; -} - -/* Listings Archive Title -================================================== */ - -.listings-panel { - border-bottom: 4px double #ededed; - margin-bottom: 30px; - padding: 10px 0; -} - -.listings-panel-title { - float: left; - width: auto; -} - -.listings-panel-title h1, -.listings-panel-title h2, -.listings-panel-title h3 { - margin: 0; - padding: 0; -} - -.listings-panel-actions { - float: right; - width: auto; -} - -.listings-panel-action { - display: inline-block; - margin-left: 5px; -} - -/* Listings Search -================================================== */ - -.wpsight-listings-search { - background-color: #ededed; - margin-bottom: 40px; - padding: 30px 15px 10px 30px; - position: relative; -} - -.wpsight-listings-search.vertical { - padding-bottom: 75px; -} - -@media (max-width: 599px) { - - .wpsight-listings-search { - padding-bottom: 75px; - } - -} - -.wpsight-listings-search .listings-search-field { - width: 100%; - margin-bottom: 20px; - padding-right: 15px; - display: inline-block; - - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -@media (min-width: 600px) { - - /* half */ - .wpsight-listings-search .listings-search-field.width-1-2 {width: 50%;} - - /* third */ - .wpsight-listings-search .listings-search-field.width-1-3 {width: 33.33333%;} - .wpsight-listings-search .listings-search-field.width-2-3 {width: 66.66666%;} - - /* fourth */ - .wpsight-listings-search .listings-search-field.width-1-4 {width: 25%;} - .wpsight-listings-search .listings-search-field.width-2-4 {width: 50%;} - .wpsight-listings-search .listings-search-field.width-3-4 {width: 75%;} - - /* fifth */ - .wpsight-listings-search .listings-search-field.width-1-5 {width: 20%;} - .wpsight-listings-search .listings-search-field.width-2-5 {width: 40%;} - .wpsight-listings-search .listings-search-field.width-3-5 {width: 60%;} - .wpsight-listings-search .listings-search-field.width-4-5 {width: 80%;} - - /* sixth */ - .wpsight-listings-search .listings-search-field.width-1-6 {width: 16.66666%;} - .wpsight-listings-search .listings-search-field.width-2-6 {width: 33.33333%;} - .wpsight-listings-search .listings-search-field.width-3-6 {width: 50%;} - .wpsight-listings-search .listings-search-field.width-4-6 {width: 66.66666%;} - .wpsight-listings-search .listings-search-field.width-5-6 {width: 83.33333%;} - - .wpsight-listings-search .listings-search-field.width-2-2, - .wpsight-listings-search .listings-search-field.width-3-3, - .wpsight-listings-search .listings-search-field.width-4-4, - .wpsight-listings-search .listings-search-field.width-5-5, - .wpsight-listings-search .listings-search-field.width-6-6, - .wpsight-listings-search .listings-search-field.width-full { - width: 100%; - } - -} - -.wpsight-listings-search.vertical .listings-search-field { - width: 100% !important; -} - -.wpsight-listings-search .listings-search-field input, -.wpsight-listings-search .listings-search-field select { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - font-size: 12px; - width: 100%; -} - -.wpsight-listings-search .listings-search-field input[type="text"], -.wpsight-listings-search .listings-search-field select { - background-color: rgba(255,255,255,1); - height: 30px; - line-height: 30px; - white-space:nowrap; - -ms-text-overflow:ellipsis; - text-overflow:ellipsis; -} - -.wpsight-listings-search .listings-search-field-radio label, -.wpsight-listings-search .listings-search-field-radio input, -.wpsight-listings-search .listings-search-field-checkbox label, -.wpsight-listings-search .listings-search-field-checkbox input, -.wpsight-listings-search .listings-search-field-taxonomy_checkbox label, -.wpsight-listings-search .listings-search-field-taxonomy_checkbox input { - cursor: pointer; - display: inline-block; - margin-right: 5px; - width: auto; -} - -.wpsight-listings-search .listings-search-field-radio label, -.wpsight-listings-search.vertical .listings-search-field-checkbox label, -.wpsight-listings-search.vertical .listings-search-field-taxonomy_checkbox label { - display: block; -} - -.wpsight-listings-search.vertical .listings-search-field-radio label.radiogroup, -.wpsight-listings-search.vertical .listings-search-field-checkbox label.checkboxgroup, -.wpsight-listings-search.vertical .listings-search-field-taxonomy_checkbox label.checkboxgroup { - margin-bottom: 10px; -} - -.wpsight-listings-search .listings-search-field input[type="radio"] { - width: auto; -} - -.wpsight-listings-search .listings-search-field label { - font-size: 12px; -} - -.wpsight-listings-search .listings-search-field-keyword input[type="text"] { - height: auto; - line-height: normal; - padding: 10px; -} - -.wpsight-listings-search .listings-search-field-submit input { - padding: 10px; -} - -.wpsight-listings-search.vertical .listings-search-field-submit { - position: absolute; - bottom: 30px; - left: 30px; - right: 15px; - margin-bottom: 0; - width: auto !important; -} - -@media (max-width: 599px) { - - .wpsight-listings-search .listings-search-field-submit { - position: absolute; - bottom: 30px; - left: 30px; - right: 15px; - margin-bottom: 0; - width: auto !important; - } - -} - -.wpsight-listings-search .listings-search-advanced { - display: none; -} - -.wpsight-listings-search .listings-search-reset, -.wpsight-listings-search .listings-search-advanced-toggle { - bottom: -20px; - cursor: pointer; - display: block; - font-size: 11px; - height: 20px; - line-height: 20px; - position: absolute; - right: 0; -} - -.wpsight-listings-search .listings-search-reset { - left: 0; - right: auto; -} - -/* Pagination -================================================== */ - -.wpsight-pagination { - margin-bottom: 40px; -} - -.wpsight-pagination ul, -.wpsight-pagination li { - list-style: none; - margin: 0 !important; - padding: 0 !important; -} - -.wpsight-pagination li { - display: inline-block; - margin-right: 10px !important; -} - -/* Listings Archive -================================================== */ - -.wpsight-listings .wpsight-listing-left, -.wpsight-listing-sc .wpsight-listing-left { - float: left; - margin-right: 30px; - width: auto; -} - -@media (max-width: 599px) { - - .wpsight-listings .wpsight-listing-left, - .wpsight-listing-sc .wpsight-listing-left { - - float: none; - margin-right: 0; - margin-bottom: 20px; - - } - -} - -.wpsight-listings .wpsight-listing-right, -.wpsight-listing-sc .wpsight-listing-right { - overflow: hidden; -} - -.wpsight-listings .wpsight-listing-section, -.wpsight-listing-sc .listing-archive .wpsight-listing-section { - margin-bottom: 10px; -} - -.wpsight-listing-section-compare { - display: none; -} - -.wpsight-listings .wpsight-listing-title, -.wpsight-listings-sc .wpsight-listing-title { - border-bottom: 0; - margin-bottom: 0; - padding-bottom: 0; -} - -.wpsight-listings .wpsight-listing-section-summary, -.wpsight-listing-sc .wpsight-listing-section-summary { - margin-bottom: 0; -} - -.wpsight-listings .wpsight-listing-title h2, -.wpsight-listing-sc .wpsight-listing-title h2 { - margin: 0; -} - -@media (max-width: 599px) { - - .wpsight-listings .wpsight-listing-image, - .wpsight-listing-sc .wpsight-listing-image { - text-align: center; - } - -} - -.wpsight-listings .wpsight-listing-image .dashicons, -.wpsight-listing-sc .wpsight-listing-image .dashicons { - background: #ededed; - font-size: 64px; - height: 150px; - line-height: 150px; - text-align: center; - width: 150px; -} - -.wpsight-listings .wpsight-listing-image .dashicons:before, -.wpsight-listing-sc .wpsight-listing-image .dashicons:before { - opacity: .25; -} - -/* Listing Single -================================================== */ - -.wpsight-listing-section { - margin-bottom: 40px; -} - -.wpsight-listing-title { - border-bottom: 4px double #ededed; - margin-bottom: 30px; - padding: 0 0 15px; -} - -.wpsight-listing-title h1, -.wpsight-listing-title h1.entry-title { - float: left; - margin: 0; - min-width: 75%; - width: auto; -} - -@media (max-width: 599px) { - - .wpsight-listing-title h1, - .wpsight-listing-title h1.entry-title { - float: none; - text-align: center; - } - -} - -.wpsight-listing-section-image { - margin-bottom: 30px; -} - -.wpsight-listing-thumbnail, -.wpsight-listing-thumbnail img { - line-height: 1; - margin: 0; -} - -.wpsight-listing-thumbnail { - display: inline-block; -} - -.wpsight-listing-location-note { - margin-top: 20px; -} - -/* Listing Details -================================================== */ - -.wpsight-listing-details { - margin-right: -5%; -} - -.wpsight-listing-details .listing-details-detail { - border-bottom: 1px solid #ededed; - float: left; - margin-right: 5%; - padding: 10px 0; - width: 45%; -} - -.wpsight-listing-details .listing-details-label { - display: inline-block; - font-weight: bold; - min-width: 50%; -} - -.wpsight-listing-details .listing-details-value { - display: inline-block; - word-break: break-all; -} - -/* Listing Summary -================================================== */ - -.wpsight-listing-summary { - font-size: 13px; - margin-bottom: 20px; - opacity: .75; -} - -.wpsight-listing-summary .listing-details-detail { - display: inline-block; - margin-right: 5px; -} - -.wpsight-listing-summary .listing-details-value { - font-weight: bold; -} - -/* Listing Info -================================================== */ - -.wpsight-listing-section-info { - margin-bottom: 20px; -} - -.wpsight-listing-info { - border-bottom: 4px double #ededed; - padding: 0 0 10px; -} - -.wpsight-listing-info .alignright .listing-term { - margin-left: 5px; -} - -.wpsight-listing-info .wpsight-listing-id, -.wpsight-listing-info .wpsight-listing-status { - display: inline-block; -} - -.wpsight-listing-info .wpsight-listing-id { - margin-right: 10px; -} - -/* Listing Price -================================================== */ - -.wpsight-listing-price { - -} - -.wpsight-listing-price .listing-price-symbol, -.wpsight-listing-price .listing-price-value { - font-size: 18px; -} - -/* Listing Agent -================================================== */ - -.wpsight-listing-agent { - background-color: #ededed; - padding: 40px 40px 20px; - position: relative; -} - -.wpsight-listing-agent-image { - float: left; - margin: 0 20px 20px 0; - width: auto; -} - -.wpsight-listing-agent-info { - overflow: hidden; -} - -.wpsight-listing-agent-name, -.wpsight-listing-agent-description, -.wpsight-listing-agent-archive { - clear: both; - margin-bottom: 20px; -} - -.wpsight-listing-agent-name { - font-weight: bold; -} - -.wpsight-listing-agent-phone { - display: block; - font-weight: normal; -} - -.wpsight-listing-agent-links { - position: absolute; - top: 40px; - right: 40px; -} - -@media (max-width: 980px) { - - .wpsight-listing-agent-links { - margin-top: -10px; - margin-bottom: 10px; - position: relative; - top: auto; - right: auto; - } - -} - -@media (max-width: 599px) { - - .wpsight-listing-agent-image { - float: none; - margin: 0 0 20px 0; - text-align: center; - width: 100%; - } - -} - -/* Listing Actions -================================================== */ - -.wpsight-listing-title .wpsight-listing-actions { - float: right; - width: auto; -} - -.wpsight-listing-actions .wpsight-listing-action { - display: inline-block; - margin-left: 5px; -} - -@media (max-width: 599px) { - - .wpsight-listing-title .wpsight-listing-actions { - clear: both; - float: none; - margin-top: 10px; - text-align: center; - } - - .wpsight-listing-actions .wpsight-listing-action { - margin-right: 5px; - } - -} - -/* Listing Teaser (horizontal) -================================================== */ - -.wpsight-listing-teaser { - border-bottom: 1px solid #ededed; - margin-bottom: 30px; - padding-bottom: 30px; -} - -.wpsight-listing-teaser-sc .wpsight-listing-teaser { - border-bottom: 0; - padding-bottom: 0; -} - -.wpsight-listing-teaser .wpsight-listing-left { - float: left; - margin-right: 20px; - width: auto; -} - -.wpsight-listing-teaser .wpsight-listing-right { - overflow: hidden; -} - -.wpsight-listing-teaser .wpsight-listing-title { - margin-bottom: 10px; - padding-bottom: 10px; -} - -.wpsight-listing-teaser .wpsight-listing-title h3 { - clear: none; - margin: 0; -} - -.wpsight-listing-teaser .wpsight-listing-info { - border-bottom: 0; - padding: 0; -} - -.wpsight-listing-teaser .wpsight-listing-summary { - margin-bottom: 0; -} - -.wpsight-listing-teaser .wpsight-listing-price .listing-price-symbol, -.wpsight-listing-teaser .wpsight-listing-price .listing-price-value { - font-size: 13px; -} - -.wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 5px; -} - -.wpsight-listing-teaser .wpsight-listing-status { - white-space: nowrap; -} - -.wpsight-listing-teaser .wpsight-listing-image .dashicons { - background: #ededed; - font-size: 36px; - height: 75px; - line-height: 75px; - text-align: center; - width: 75px; -} - -.wpsight-listing-teaser .wpsight-listing-image .dashicons:before { - opacity: .25; -} - -@media (max-width: 599px) { - - .wpsight-listing-teaser .wpsight-listing-title h3 { - margin-bottom: 10px; - } - - .wpsight-listing-teaser .wpsight-listing-title, - .wpsight-listing-teaser .wpsight-listing-summary { - margin-bottom: 5px; - } - - .wpsight-listing-teaser .wpsight-listing-summary { - border-bottom: 4px double #ededed; - padding-bottom: 5px; - } - - .wpsight-listing-teaser .wpsight-listing-title .alignleft, - .wpsight-listing-teaser .wpsight-listing-title .alignright, - .wpsight-listing-teaser .wpsight-listing-info .alignleft, - .wpsight-listing-teaser .wpsight-listing-info .alignright { - float: none; - text-align: left; - } - - .wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 0; - margin-right: 5px; - } - - .wpsight-listing-teaser .listing-details-detail { - display: block; - } - - .wpsight-listing-teaser .wpsight-listing-image .dashicons { - font-size: 24px; - height: 75px; - line-height: 75px; - width: 75px; - } - -} - -/* Listing Teaser (vertical) -================================================== */ - -.vertical .wpsight-listing-teaser .wpsight-listing-title h3 { - margin-bottom: 10px; -} - -.vertical .wpsight-listing-image { - height: auto; - width: 50px; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-title, -.vertical .wpsight-listing-teaser .wpsight-listing-summary { - margin-bottom: 5px; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-summary { - border-bottom: 4px double #ededed; - padding-bottom: 5px; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-title .alignleft, -.vertical .wpsight-listing-teaser .wpsight-listing-title .alignright, -.vertical .wpsight-listing-teaser .wpsight-listing-info .alignleft, -.vertical .wpsight-listing-teaser .wpsight-listing-info .alignright { - float: none; - text-align: left; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-title .listing-term { - margin-left: 0; - margin-right: 5px; -} - -.vertical .wpsight-listing-teaser .listing-details-detail { - display: block; -} - -.vertical .wpsight-listing-teaser .wpsight-listing-image .dashicons { - font-size: 24px; - height: 50px; - line-height: 50px; - width: 50px; -} - -/* Alerts -================================================== */ - -.wpsight-alert { - background-color: #ededed; - margin-bottom: 40px; - padding: 20px; -} - -.wpsight-alert-small { - font-size: 13px; - margin-bottom: 20px; - opacity: .75; - padding: 15px; -} - -.wpsight-error { -} - -/* Badges -================================================== */ - -.badge { - background-color: #a2a2a2; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - color: #fff; - font-size: 12px; - padding: 5px 15px; -} - -.wpsight-listing-teaser .badge { - padding: 3px 6px; -} - -/* Useful -================================================== */ - -#map-canvas img { - max-width: none; -} - -.alignleft { - float: left; - width: auto; -} - -.alignright { - float: right; - text-align: right; - width: auto; -} - -/* Clearing -================================================== */ - -.clearfix:before, -.clearfix:after { - content: '\0020'; - display: block; - overflow: hidden; - visibility: hidden; - width: 0; - height: 0; -} -.clearfix:after { - clear: both; -} -.clearfix { - zoom: 1; -} - -.clear, -.wrap { - clear: both; -} \ No newline at end of file +.listings-panel,.wpsight-listing-info,.wpsight-listing-title{border-bottom:4px double #ededed}.wpsight-listing-section-info,.wpsight-listings .listing{margin-bottom:20px}.wpsight-listings .entry-header h2.entry-title{margin-top:0}.listings-panel{margin-bottom:30px;padding:10px 0}.alignleft,.listings-panel-title{float:left;width:auto}.listings-panel-title h1,.listings-panel-title h2,.listings-panel-title h3{margin:0;padding:0}.listings-panel-actions,.wpsight-listing-title .wpsight-listing-actions{float:right;width:auto}.listings-panel-action,.wpsight-listing-actions .wpsight-listing-action{display:inline-block;margin-left:5px}.wpsight-listings-search{background-color:#ededed;margin-bottom:40px;padding:30px 15px 10px 30px;position:relative}.wpsight-listings-search.vertical{padding-bottom:75px}.wpsight-listings-search .listings-search-field{width:100%;margin-bottom:20px;padding-right:15px;display:inline-block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media (min-width:600px){.wpsight-listings-search .listings-search-field.width-1-2,.wpsight-listings-search .listings-search-field.width-2-4,.wpsight-listings-search .listings-search-field.width-3-6{width:50%}.wpsight-listings-search .listings-search-field.width-1-3,.wpsight-listings-search .listings-search-field.width-2-6{width:33.33333%}.wpsight-listings-search .listings-search-field.width-2-3,.wpsight-listings-search .listings-search-field.width-4-6{width:66.66666%}.wpsight-listings-search .listings-search-field.width-1-4{width:25%}.wpsight-listings-search .listings-search-field.width-3-4{width:75%}.wpsight-listings-search .listings-search-field.width-1-5{width:20%}.wpsight-listings-search .listings-search-field.width-2-5{width:40%}.wpsight-listings-search .listings-search-field.width-3-5{width:60%}.wpsight-listings-search .listings-search-field.width-4-5{width:80%}.wpsight-listings-search .listings-search-field.width-1-6{width:16.66666%}.wpsight-listings-search .listings-search-field.width-5-6{width:83.33333%}.wpsight-listings-search .listings-search-field.width-2-2,.wpsight-listings-search .listings-search-field.width-3-3,.wpsight-listings-search .listings-search-field.width-4-4,.wpsight-listings-search .listings-search-field.width-5-5,.wpsight-listings-search .listings-search-field.width-6-6,.wpsight-listings-search .listings-search-field.width-full{width:100%}}.wpsight-listings-search.vertical .listings-search-field{width:100%!important}.wpsight-listings-search .listings-search-field input,.wpsight-listings-search .listings-search-field select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;width:100%}.wpsight-listings-search .listings-search-field input[type=text],.wpsight-listings-search .listings-search-field select{background-color:#fff;height:30px;line-height:30px;white-space:nowrap;-ms-text-overflow:ellipsis;text-overflow:ellipsis}.wpsight-listings-search .listings-search-field-checkbox input,.wpsight-listings-search .listings-search-field-checkbox label,.wpsight-listings-search .listings-search-field-radio input,.wpsight-listings-search .listings-search-field-radio label,.wpsight-listings-search .listings-search-field-taxonomy_checkbox input,.wpsight-listings-search .listings-search-field-taxonomy_checkbox label{cursor:pointer;display:inline-block;margin-right:5px;width:auto}.vertical .wpsight-listing-teaser .listing-details-detail,.wpsight-listings-search .listings-search-field-radio label,.wpsight-listings-search.vertical .listings-search-field-checkbox label,.wpsight-listings-search.vertical .listings-search-field-taxonomy_checkbox label{display:block}.vertical .wpsight-listing-teaser .wpsight-listing-title h3,.wpsight-listing-sc .listing-archive .wpsight-listing-section,.wpsight-listings .wpsight-listing-section,.wpsight-listings-search.vertical .listings-search-field-checkbox label.checkboxgroup,.wpsight-listings-search.vertical .listings-search-field-radio label.radiogroup,.wpsight-listings-search.vertical .listings-search-field-taxonomy_checkbox label.checkboxgroup{margin-bottom:10px}.wpsight-listings-search .listings-search-field input[type=radio]{width:auto}.wpsight-listings-search .listings-search-field label{font-size:12px}.wpsight-listings-search .listings-search-field-keyword input[type=text]{height:auto;line-height:normal;padding:10px}.wpsight-listings-search .listings-search-field-submit input{padding:10px}.wpsight-listings-search.vertical .listings-search-field-submit{position:absolute;bottom:30px;left:30px;right:15px;margin-bottom:0;width:auto!important}.wpsight-listing-section-compare,.wpsight-listings-search .listings-search-advanced{display:none}.wpsight-listings-search .listings-search-advanced-toggle,.wpsight-listings-search .listings-search-reset{bottom:-20px;cursor:pointer;display:block;font-size:11px;height:20px;line-height:20px;position:absolute;right:0}.wpsight-listings-search .listings-search-reset{left:0;right:auto}.wpsight-listing-section,.wpsight-pagination{margin-bottom:40px}.wpsight-pagination li,.wpsight-pagination ul{list-style:none;margin:0!important;padding:0!important}.wpsight-pagination li{display:inline-block;margin-right:10px!important}.wpsight-listing-sc .wpsight-listing-left,.wpsight-listings .wpsight-listing-left{float:left;margin-right:30px;width:auto}.wpsight-listing-agent-info,.wpsight-listing-sc .wpsight-listing-right,.wpsight-listing-teaser .wpsight-listing-right,.wpsight-listings .wpsight-listing-right{overflow:hidden}.wpsight-listings .wpsight-listing-title,.wpsight-listings-sc .wpsight-listing-title{border-bottom:0;margin-bottom:0;padding-bottom:0}.wpsight-listing-sc .wpsight-listing-section-summary,.wpsight-listing-teaser .wpsight-listing-summary,.wpsight-listings .wpsight-listing-section-summary{margin-bottom:0}.wpsight-listing-sc .wpsight-listing-title h2,.wpsight-listings .wpsight-listing-title h2{margin:0}.wpsight-listing-sc .wpsight-listing-image .dashicons,.wpsight-listings .wpsight-listing-image .dashicons{background:#ededed;font-size:64px;height:150px;line-height:150px;text-align:center;width:150px}.wpsight-listing-sc .wpsight-listing-image .dashicons:before,.wpsight-listing-teaser .wpsight-listing-image .dashicons:before,.wpsight-listings .wpsight-listing-image .dashicons:before{opacity:.25}.wpsight-listing-title{margin-bottom:30px;padding:0 0 15px}.wpsight-listing-title h1,.wpsight-listing-title h1.entry-title{float:left;margin:0;min-width:75%;width:auto}.wpsight-listing-section-image{margin-bottom:30px}.wpsight-listing-thumbnail,.wpsight-listing-thumbnail img{line-height:1;margin:0}.wpsight-listing-info .wpsight-listing-id,.wpsight-listing-info .wpsight-listing-status,.wpsight-listing-thumbnail{display:inline-block}.wpsight-listing-location-note{margin-top:20px}.wpsight-listing-details{margin-right:-5%}.wpsight-listing-details .listing-details-detail{border-bottom:1px solid #ededed;float:left;margin-right:5%;padding:10px 0;width:45%}.wpsight-listing-details .listing-details-label{display:inline-block;font-weight:700;min-width:50%}.wpsight-listing-details .listing-details-value{display:inline-block;word-break:break-all}.wpsight-listing-summary{font-size:13px;margin-bottom:20px;opacity:.75}.wpsight-listing-summary .listing-details-detail{display:inline-block;margin-right:5px}.wpsight-listing-agent-name,.wpsight-listing-summary .listing-details-value{font-weight:700}.wpsight-listing-info{padding:0 0 10px}.wpsight-listing-info .alignright .listing-term,.wpsight-listing-teaser .wpsight-listing-title .listing-term{margin-left:5px}.wpsight-listing-info .wpsight-listing-id{margin-right:10px}.wpsight-listing-price .listing-price-symbol,.wpsight-listing-price .listing-price-value{font-size:18px}.wpsight-listing-agent{background-color:#ededed;padding:40px 40px 20px;position:relative}.wpsight-listing-agent-image{float:left;margin:0 20px 20px 0;width:auto}.wpsight-listing-agent-archive,.wpsight-listing-agent-description,.wpsight-listing-agent-name{clear:both;margin-bottom:20px}.wpsight-listing-agent-phone{display:block;font-weight:400}.wpsight-listing-agent-links{position:absolute;top:40px;right:40px}@media (max-width:980px){.wpsight-listing-agent-links{margin-top:-10px;margin-bottom:10px;position:relative;top:auto;right:auto}}.wpsight-listing-teaser{border-bottom:1px solid #ededed;margin-bottom:30px;padding-bottom:30px}.wpsight-listing-teaser-sc .wpsight-listing-teaser{border-bottom:0;padding-bottom:0}.wpsight-listing-teaser .wpsight-listing-left{float:left;margin-right:20px;width:auto}.wpsight-listing-teaser .wpsight-listing-title{margin-bottom:10px;padding-bottom:10px}.wpsight-listing-teaser .wpsight-listing-title h3{clear:none;margin:0}.wpsight-listing-teaser .wpsight-listing-info{border-bottom:0;padding:0}.wpsight-listing-teaser .wpsight-listing-price .listing-price-symbol,.wpsight-listing-teaser .wpsight-listing-price .listing-price-value{font-size:13px}.wpsight-listing-teaser .wpsight-listing-status{white-space:nowrap}.wpsight-listing-teaser .wpsight-listing-image .dashicons{background:#ededed;font-size:36px;height:75px;line-height:75px;text-align:center;width:75px}@media (max-width:599px){.wpsight-listings-search{padding-bottom:75px}.wpsight-listings-search .listings-search-field-submit{position:absolute;bottom:30px;left:30px;right:15px;margin-bottom:0;width:auto!important}.wpsight-listing-sc .wpsight-listing-left,.wpsight-listings .wpsight-listing-left{float:none;margin-right:0;margin-bottom:20px}.wpsight-listing-sc .wpsight-listing-image,.wpsight-listings .wpsight-listing-image{text-align:center}.wpsight-listing-title h1,.wpsight-listing-title h1.entry-title{float:none;text-align:center}.wpsight-listing-agent-image{float:none;margin:0 0 20px;text-align:center;width:100%}.wpsight-listing-title .wpsight-listing-actions{clear:both;float:none;margin-top:10px;text-align:center}.wpsight-listing-actions .wpsight-listing-action{margin-right:5px}.wpsight-listing-teaser .wpsight-listing-title h3{margin-bottom:10px}.wpsight-listing-teaser .wpsight-listing-summary,.wpsight-listing-teaser .wpsight-listing-title{margin-bottom:5px}.wpsight-listing-teaser .wpsight-listing-summary{border-bottom:4px double #ededed;padding-bottom:5px}.wpsight-listing-teaser .wpsight-listing-info .alignleft,.wpsight-listing-teaser .wpsight-listing-info .alignright,.wpsight-listing-teaser .wpsight-listing-title .alignleft,.wpsight-listing-teaser .wpsight-listing-title .alignright{float:none;text-align:left}.wpsight-listing-teaser .wpsight-listing-title .listing-term{margin-left:0;margin-right:5px}.wpsight-listing-teaser .listing-details-detail{display:block}.wpsight-listing-teaser .wpsight-listing-image .dashicons{font-size:24px;height:75px;line-height:75px;width:75px}}.vertical .wpsight-listing-image{height:auto;width:50px}.vertical .wpsight-listing-teaser .wpsight-listing-summary,.vertical .wpsight-listing-teaser .wpsight-listing-title{margin-bottom:5px}.vertical .wpsight-listing-teaser .wpsight-listing-summary{border-bottom:4px double #ededed;padding-bottom:5px}.vertical .wpsight-listing-teaser .wpsight-listing-info .alignleft,.vertical .wpsight-listing-teaser .wpsight-listing-info .alignright,.vertical .wpsight-listing-teaser .wpsight-listing-title .alignleft,.vertical .wpsight-listing-teaser .wpsight-listing-title .alignright{float:none;text-align:left}.vertical .wpsight-listing-teaser .wpsight-listing-title .listing-term{margin-left:0;margin-right:5px}.vertical .wpsight-listing-teaser .wpsight-listing-image .dashicons{font-size:24px;height:50px;line-height:50px;width:50px}.wpsight-alert{background-color:#ededed;margin-bottom:40px;padding:20px}.wpsight-alert-small{font-size:13px;margin-bottom:20px;opacity:.75;padding:15px}.badge{background-color:#a2a2a2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff;font-size:12px;padding:5px 15px}.wpsight-listing-teaser .badge{padding:3px 6px}#map-canvas img{max-width:none}.alignright{float:right;text-align:right;width:auto}.clearfix:after,.clearfix:before{content:'\0020';display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clear,.clearfix:after,.wrap{clear:both}.clearfix{zoom:1} \ No newline at end of file diff --git a/assets/img/wpcasa-recommendation-shortpixel.jpg b/assets/img/wpcasa-recommendation-shortpixel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b32dee3f2de273bafc883bc089dc6ca8bb415400 GIT binary patch literal 55834 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/js/wpsight-admin.js b/assets/js/wpsight-admin.js index e60f74b..89536be 100644 --- a/assets/js/wpsight-admin.js +++ b/assets/js/wpsight-admin.js @@ -69,7 +69,7 @@ jQuery(document).ready(function($) { // Switch navbar on click - $('.wpsight-admin-main-btn-toggle').click( function (e) { + $('.wpsight-admin-main-btn-toggle').click( function(e) { e.preventDefault(); $(this).toggleClass("wpsight-admin-main-btn-toggle-active"); @@ -105,7 +105,6 @@ jQuery(document).ready(function($) { totoggle_details.show(); } - var totoggle_periods = $('.setting' + WPCASA_SETTINGS.name + 'heading_rental_periods-tr ~[class^=setting' + WPCASA_SETTINGS.name + 'rental_period_]'); jQuery('#setting' + WPCASA_SETTINGS.name + 'rental_periods').click(function() { @@ -143,26 +142,27 @@ jQuery(document).ready(function($) { workWithListingFields(); var promoSlider = function () { - var $wrapSlider = $(".wpsight-admin-ui-promo"); - var $slider = $(".wpsight-promo-slider"); + var $wrapSlider = $("[swiper]"); + var $slider = $("[swiper-container]"); var $tab = $("#settings-overview-tab"); var initSlider = function () { - const swiper = new Swiper('.wpsight-promo-slider', { + const swiper = new Swiper('[swiper-container]', { spaceBetween: 0, loop: true, speed: 600, autoplay: { - delay: 3000, + delay: 5000, disableOnInteraction: false, + pauseOnMouseEnter: true, }, pagination: { - el: $wrapSlider.find('.swiper-pagination'), + el: '.swiper-pagination', clickable: true, }, navigation: { - nextEl: $wrapSlider.find('.swiper-button-next'), - prevEl: $wrapSlider.find('.swiper-button-prev'), + nextEl: '.swiper-button-next', + prevEl: '.swiper-button-prev', }, }); @@ -210,5 +210,33 @@ jQuery(document).ready(function($) { }; accordionMobileAddons(); + + var WPCasaAdminUIAccordion = function() { + + var animTime = 300, + clickPolice = false; + + $(document).on('touchstart click', '.acc-btn', function(){ + if(!clickPolice){ + clickPolice = true; + + var currIndex = $(this).index('.acc-btn'), + targetHeight = $('.acc-content-inner').eq(currIndex).outerHeight(); + + $('.acc-btn h1').removeClass('selected'); + $(this).find('h1').addClass('selected'); + + $('.acc-content').stop().animate({ height: 0 }, animTime); + $('.acc-content').eq(currIndex).stop().animate({ height: targetHeight }, animTime); + + setTimeout(function(){ clickPolice = false; }, animTime); + } + + }); + + + } + + WPCasaAdminUIAccordion() }); diff --git a/assets/js/wpsight-admin.min.js b/assets/js/wpsight-admin.min.js index 3efb290..a858978 100644 --- a/assets/js/wpsight-admin.min.js +++ b/assets/js/wpsight-admin.min.js @@ -1 +1 @@ -jQuery(document).ready(function(n){n(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200,defaultPosition:"top"}),n(".fade").delay(2500).fadeOut(250),n(".settings_panel").hide();var e="";"undefined"!=typeof localStorage&&(e=localStorage.getItem("active_tab"));var t=window.location.href,t=t.substring(t.indexOf("#")+1);"settings-"==t.substring(0,9)&&(e="#"+t),(""!=e&&n(e).length?n(e):n(".settings_panel:first")).fadeIn(200),(""!=e&&n(e+"-tab").length?n(e+"-tab"):n(".nav-tab-wrapper a:first")).addClass("nav-tab-active"),n(".nav-tab-wrapper a").click(function(e){n(".nav-tab-wrapper a").removeClass("nav-tab-active"),n(this).addClass("nav-tab-active").blur();var t=n(this).attr("href");"undefined"!=typeof localStorage&&localStorage.setItem("active_tab",n(this).attr("href")),n(".settings_panel").hide(),n(t).fadeIn(200),e.preventDefault()}),n(".wpsight-addons .type-download a, .wpsight-themes .type-download a").attr("target","_blank"),n(".download-wrapper .type-download .download-meta-price-details a").addClass("button"),n(".wpsight-admin-main-btn-toggle").click(function(e){e.preventDefault(),n(this).toggleClass("wpsight-admin-main-btn-toggle-active"),n(".wpsight-settings-wrap").toggleClass("wpsight-settings-wrap-hide-navbar")});!function(){var e=".setting-"+WPCASA_SETTINGS.name+"_currency_other-tr, .setting-"+WPCASA_SETTINGS.name+"_currency_other_ent-tr";"other"===jQuery("#setting-"+WPCASA_SETTINGS.name+"_currency").val()&&jQuery(e).fadeIn(150),jQuery("#setting-"+WPCASA_SETTINGS.name+"_currency").change(function(){"other"===jQuery(this).val()?jQuery(e).fadeIn(150):jQuery(e).fadeOut(150)});var t=n(".setting"+WPCASA_SETTINGS.name+"heading_details-tr ~[class^=setting"+WPCASA_SETTINGS.name+"details_]");jQuery("#setting"+WPCASA_SETTINGS.name+"listing_features").click(function(){t.fadeToggle(150)}),void 0!==jQuery("#setting"+WPCASA_SETTINGS.name+"listing_features:checked").val()&&t.show();var a=n(".setting"+WPCASA_SETTINGS.name+"heading_rental_periods-tr ~[class^=setting"+WPCASA_SETTINGS.name+"rental_period_]");jQuery("#setting"+WPCASA_SETTINGS.name+"rental_periods").click(function(){a.fadeToggle(150)}),void 0!==jQuery("#setting"+WPCASA_SETTINGS.name+"rental_periods:checked").val()&&a.show(),jQuery(".wrap-addons-tabs > a").click(function(e){jQuery(".wrap-addons-tabs > a").removeClass("active"),n(this).addClass("active")}),jQuery("#addons-all").click(function(e){e.preventDefault(),jQuery(".addon-active").show(),jQuery(".addon-inactive").show()}),jQuery("#addons-active").click(function(e){e.preventDefault(),jQuery(".addon-active").show(),jQuery(".addon-inactive").hide()}),jQuery("#addons-inactive").click(function(e){e.preventDefault(),jQuery(".addon-active").hide(),jQuery(".addon-inactive").show()})}();var a,i,s;function o(){const e=new Swiper(".wpsight-promo-slider",{spaceBetween:0,loop:!0,speed:600,autoplay:{delay:3e3,disableOnInteraction:!1},pagination:{el:a.find(".swiper-pagination"),clickable:!0},navigation:{nextEl:a.find(".swiper-button-next"),prevEl:a.find(".swiper-button-prev")}});i.hover(function(){e.autoplay.stop()},function(){setTimeout(function(){e.autoplay.start()},600)})}a=n(".wpsight-admin-ui-promo"),i=n(".wpsight-promo-slider"),s=n("#settings-overview-tab"),i.length&&s.hasClass("nav-tab-active")?o():s.length&&s.on("click",o);var r,d;r=n(".addons-info-mobile .content-top"),d=n(".addons-info-mobile .content-bottom"),r.click(function(){var e=n(this).hasClass("active"),t=n(this).next();d.slideUp(),r.removeClass("active"),n(this).addClass("active"),e?n(this).removeClass("active"):t.slideDown()})}); \ No newline at end of file +jQuery(document).ready((function(e){e(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200,defaultPosition:"top"}),e(".fade").delay(2500).fadeOut(250),e(".settings_panel").hide();var t="";"undefined"!=typeof localStorage&&(t=localStorage.getItem("active_tab"));var a=window.location.href,n=a.substring(a.indexOf("#")+1);"settings-"==n.substring(0,9)&&(t="#"+n),""!=t&&e(t).length?e(t).fadeIn(200):e(".settings_panel:first").fadeIn(200),""!=t&&e(t+"-tab").length?e(t+"-tab").addClass("nav-tab-active"):e(".nav-tab-wrapper a:first").addClass("nav-tab-active"),e(".nav-tab-wrapper a").click((function(t){e(".nav-tab-wrapper a").removeClass("nav-tab-active"),e(this).addClass("nav-tab-active").blur();var a=e(this).attr("href");"undefined"!=typeof localStorage&&localStorage.setItem("active_tab",e(this).attr("href")),e(".settings_panel").hide(),e(a).fadeIn(200),t.preventDefault()})),e(".wpsight-addons .type-download a, .wpsight-themes .type-download a").attr("target","_blank"),e(".download-wrapper .type-download .download-meta-price-details a").addClass("button"),e(".wpsight-admin-main-btn-toggle").click((function(t){t.preventDefault(),e(this).toggleClass("wpsight-admin-main-btn-toggle-active"),e(".wpsight-settings-wrap").toggleClass("wpsight-settings-wrap-hide-navbar")}));!function(){var t=".setting-"+WPCASA_SETTINGS.name+"_currency_other-tr, .setting-"+WPCASA_SETTINGS.name+"_currency_other_ent-tr";"other"===jQuery("#setting-"+WPCASA_SETTINGS.name+"_currency").val()&&jQuery(t).fadeIn(150),jQuery("#setting-"+WPCASA_SETTINGS.name+"_currency").change((function(){"other"===jQuery(this).val()?jQuery(t).fadeIn(150):jQuery(t).fadeOut(150)}));var a=e(".setting"+WPCASA_SETTINGS.name+"heading_details-tr ~[class^=setting"+WPCASA_SETTINGS.name+"details_]");jQuery("#setting"+WPCASA_SETTINGS.name+"listing_features").click((function(){a.fadeToggle(150)})),void 0!==jQuery("#setting"+WPCASA_SETTINGS.name+"listing_features:checked").val()&&a.show();var n=e(".setting"+WPCASA_SETTINGS.name+"heading_rental_periods-tr ~[class^=setting"+WPCASA_SETTINGS.name+"rental_period_]");jQuery("#setting"+WPCASA_SETTINGS.name+"rental_periods").click((function(){n.fadeToggle(150)})),void 0!==jQuery("#setting"+WPCASA_SETTINGS.name+"rental_periods:checked").val()&&n.show(),jQuery(".wrap-addons-tabs > a").click((function(t){jQuery(".wrap-addons-tabs > a").removeClass("active"),e(this).addClass("active")})),jQuery("#addons-all").click((function(e){e.preventDefault(),jQuery(".addon-active").show(),jQuery(".addon-inactive").show()})),jQuery("#addons-active").click((function(e){e.preventDefault(),jQuery(".addon-active").show(),jQuery(".addon-inactive").hide()})),jQuery("#addons-inactive").click((function(e){e.preventDefault(),jQuery(".addon-active").hide(),jQuery(".addon-inactive").show()}))}();!function(){e("[swiper]");var t=e("[swiper-container]"),a=e("#settings-overview-tab"),n=function(){const e=new Swiper("[swiper-container]",{spaceBetween:0,loop:!0,speed:600,autoplay:{delay:5e3,disableOnInteraction:!1,pauseOnMouseEnter:!0},pagination:{el:".swiper-pagination",clickable:!0},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}});t.hover((function(){e.autoplay.stop()}),(function(){setTimeout((function(){e.autoplay.start()}),600)}))};t.length&&a.hasClass("nav-tab-active")?n():a.length&&a.on("click",n)}();var i,s;i=e(".addons-info-mobile .content-top"),s=e(".addons-info-mobile .content-bottom"),i.click((function(){var t=e(this).hasClass("active"),a=e(this).next();s.slideUp(),i.removeClass("active"),e(this).addClass("active"),t?e(this).removeClass("active"):a.slideDown()}));var o;o=!1,e(document).on("touchstart click",".acc-btn",(function(){if(!o){o=!0;var t=e(this).index(".acc-btn"),a=e(".acc-content-inner").eq(t).outerHeight();e(".acc-btn h1").removeClass("selected"),e(this).find("h1").addClass("selected"),e(".acc-content").stop().animate({height:0},300),e(".acc-content").eq(t).stop().animate({height:a},300),setTimeout((function(){o=!1}),300)}}))})); \ No newline at end of file diff --git a/functions/wpsight-agents.php b/functions/wpsight-agents.php index 28b96c2..d61fe31 100644 --- a/functions/wpsight-agents.php +++ b/functions/wpsight-agents.php @@ -57,7 +57,7 @@ function wpsight_agent_roles() { * @since 1.0.0 */ function wpsight_listing_agent_image( $post = null, $size = array( 75, 75 ) ) { - echo wpsight_get_listing_agent_image( $post, $size ); + echo wp_kses( wpsight_get_listing_agent_image( $post, $size ), wpsight_get_img_html() ); } /** @@ -89,7 +89,7 @@ function wpsight_get_listing_agent_image( $post = null, $size = array( 75, 75 ) * @since 1.0.0 */ function wpsight_agent_image( $user_id, $size = array( 75, 75 ) ) { - echo wpsight_get_agent_image( $user_id, $size ); + echo wp_kses( wpsight_get_agent_image( $user_id, $size ), wpsight_get_img_html() ); } /** @@ -120,7 +120,7 @@ function wpsight_get_agent_image( $user_id, $size = array( 75, 75 ) ) { * @since 1.0.0 */ function wpsight_listing_agent_name( $post = null ) { - echo wpsight_get_listing_agent_name( $post ); + echo esc_html( wpsight_get_listing_agent_name( $post ) ); } /** @@ -151,7 +151,7 @@ function wpsight_get_listing_agent_name( $post = null ) { * @since 1.0.0 */ function wpsight_agent_name( $user_id, $name = 'display_name' ) { - echo wpsight_get_agent_name( $user_id, $name ); + echo esc_html( wpsight_get_agent_name( $user_id, $name ) ); } /** @@ -181,7 +181,7 @@ function wpsight_get_agent_name( $user_id, $name = 'display_name' ) { * @since 1.0.0 */ function wpsight_listing_agent_company( $post = null ) { - echo wpsight_get_listing_agent_company( $post ); + echo esc_html( wpsight_get_listing_agent_company( $post ) ); } /** @@ -211,7 +211,7 @@ function wpsight_get_listing_agent_company( $post = null ) { * @since 1.0.0 */ function wpsight_agent_company( $user_id ) { - echo wpsight_get_agent_company( $user_id ); + echo esc_html( wpsight_get_agent_company( $user_id ) ); } /** @@ -240,7 +240,7 @@ function wpsight_get_agent_company( $user_id ) { * @since 1.0.0 */ function wpsight_listing_agent_description( $post = null ) { - echo wpsight_get_listing_agent_description( $post ); + echo wp_kses( wpsight_get_listing_agent_description( $post ), wp_kses_allowed_html( 'post' ) ); } /** @@ -270,7 +270,7 @@ function wpsight_get_listing_agent_description( $post = null ) { * @since 1.0.0 */ function wpsight_agent_description( $user_id ) { - echo wpsight_get_agent_description( $user_id ); + echo wp_kses( wpsight_get_agent_description( $user_id ), wp_kses_allowed_html( 'post' ) ); } /** @@ -299,7 +299,7 @@ function wpsight_get_agent_description( $user_id ) { * @since 1.0.0 */ function wpsight_listing_agent_website( $post = null ) { - echo wpsight_get_listing_agent_website( $post ); + echo esc_url( wpsight_get_listing_agent_website( $post ) ); } /** @@ -329,7 +329,7 @@ function wpsight_get_listing_agent_website( $post = null ) { * @since 1.0.0 */ function wpsight_agent_website( $user_id ) { - echo wpsight_get_agent_website( $user_id ); + echo esc_url( wpsight_get_agent_website( $user_id ) ); } /** @@ -358,7 +358,7 @@ function wpsight_get_agent_website( $user_id ) { * @since 1.0.0 */ function wpsight_listing_agent_phone( $post = null ) { - echo wpsight_get_listing_agent_phone( $post ); + echo esc_html( wpsight_get_listing_agent_phone( $post ) ); } /** @@ -388,7 +388,7 @@ function wpsight_get_listing_agent_phone( $post = null ) { * @since 1.0.0 */ function wpsight_agent_phone( $user_id ) { - echo wpsight_get_agent_phone( $user_id ); + echo esc_html( wpsight_get_agent_phone( $user_id ) ); } /** @@ -418,7 +418,7 @@ function wpsight_get_agent_phone( $user_id ) { * @since 1.0.0 */ function wpsight_listing_agent_twitter( $post = null, $return = 'user' ) { - echo wpsight_get_listing_agent_twitter( $post, $return ); + echo esc_url( wpsight_get_listing_agent_twitter( $post, $return ) ); } /** @@ -450,7 +450,7 @@ function wpsight_get_listing_agent_twitter( $post = null, $return = 'user' ) { * @since 1.0.0 */ function wpsight_agent_twitter( $user_id, $return = 'user' ) { - echo wpsight_get_agent_twitter( $user_id, $return ); + echo esc_url( wpsight_get_agent_twitter( $user_id, $return ) ); } /** @@ -481,7 +481,7 @@ function wpsight_get_agent_twitter( $user_id, $return = 'user' ) { * @since 1.0.0 */ function wpsight_listing_agent_facebook( $post = null, $return = 'user' ) { - echo wpsight_get_listing_agent_facebook( $post, $return ); + echo esc_url( wpsight_get_listing_agent_facebook( $post, $return ) ); } /** @@ -513,7 +513,7 @@ function wpsight_get_listing_agent_facebook( $post = null, $return = 'user' ) { * @since 1.0.0 */ function wpsight_agent_facebook( $user_id, $return = 'user' ) { - echo wpsight_get_agent_facebook( $user_id, $return ); + echo esc_url( wpsight_get_agent_facebook( $user_id, $return ) ); } /** @@ -544,7 +544,7 @@ function wpsight_get_agent_facebook( $user_id, $return = 'user' ) { * @since 1.0.0 */ function wpsight_listing_agent_archive( $post = null, $user_id = false ) { - echo wpsight_get_listing_agent_archive( $post, $user_id ); + echo esc_url( wpsight_get_listing_agent_archive( $post, $user_id ) ); } /** @@ -575,7 +575,7 @@ function wpsight_get_listing_agent_archive( $post = null, $user_id = false ) { * @since 1.0.0 */ function wpsight_agent_archive( $user_id ) { - echo wpsight_get_agent_archive( $user_id ); + echo esc_url( wpsight_get_agent_archive( $user_id ) ); } /** diff --git a/functions/wpsight-general.php b/functions/wpsight-general.php index 91cc94a..979a429 100644 --- a/functions/wpsight-general.php +++ b/functions/wpsight-general.php @@ -16,6 +16,7 @@ * * @since 1.0.0 */ + function wpsight_details() { return WPSight_General::details(); } @@ -109,7 +110,7 @@ function wpsight_get_offer( $offer ) { * @since 1.0.0 */ function wpsight_offer( $offer ) { - echo wpsight_get_offer( $offer ); + echo esc_html( wpsight_get_offer( $offer ) ); } /** @@ -123,7 +124,7 @@ function wpsight_offer( $offer ) { * @since 1.0.0 */ function wpsight_offer_color( $offer ) { - echo wpsight_get_offer_color( $offer ); + echo esc_html( wpsight_get_offer_color( $offer ) ); } /** @@ -182,7 +183,7 @@ function wpsight_get_rental_period( $period ) { * @since 1.0.0 */ function wpsight_rental_period( $period ) { - echo wpsight_get_rental_period( $period ); + echo esc_html( wpsight_get_rental_period( $period ) ); } /** @@ -226,7 +227,7 @@ function wpsight_get_measurement( $measurement ) { * @since 1.0.0 */ function wpsight_measurement( $measurement ) { - echo wpsight_get_measurement( $measurement ); + echo esc_html( wpsight_get_measurement( $measurement ) ); } /** @@ -332,7 +333,7 @@ function wpsight_get_currency( $currency = '' ) { * @since 1.0.0 */ function wpsight_currency( $currency = '' ) { - echo wpsight_get_currency( $currency ); + echo esc_html( wpsight_get_currency( $currency ) ); } /** @@ -363,3 +364,149 @@ function wpsight_spaces() { function wpsight_listing_query_vars() { return WPSight_General::listing_query_vars(); } + +/** + * wpsight_allowed_html_tags() + * + * Return allowed tags with its attributes + * + * @return array Allowed tags and its attributes + * + */ +function wpsight_allowed_html_tags() { + + $wpsight_tags = wp_kses_allowed_html( 'post' ); + // iframe + $wpsight_tags['iframe'] = array( + 'src' => array(), + 'height' => array(), + 'width' => array(), + 'frameborder' => array(), + 'allowfullscreen' => array(), + ); + $wpsight_tags['form'] = array( + 'class' => true, + 'id' => true, + 'action' => true, + 'accept' => true, + 'accept-charset' => true, + 'enctype' => true, + 'method' => true, + 'name' => true, + 'target' => true, + ); + // form fields - input + $wpsight_tags['input'] = array( + 'class' => array(), + 'id' => array(), + 'name' => array(), + 'value' => array(), + 'type' => array(), + 'title' => array(), + 'placeholder' => array(), + 'checked' => array(), + ); + // select + $wpsight_tags['select'] = array( + 'class' => array(), + 'id' => array(), + 'name' => array(), + 'value' => array(), + 'type' => array(), + ); + // select options + $wpsight_tags['option'] = array( + 'class' => array(), + 'id' => array(), + 'selected' => array(), + 'value' => array(), + 'data-default' => array() + ); + // style + $wpsight_tags['style'] = array( + 'types' => array(), + ); + + return apply_filters( 'wpsight_allowed_html_tags', $wpsight_tags ); +} + +/** + * wpsight_get_img_html() + * + * Return allowed tags and attributes with for + * + * @return array Allowed tags and its attributes + * + */ +function wpsight_get_img_html() { + $img_html = array( + 'img' => array( + 'title' => array(), + 'src' => array(), + 'alt' => array(), + 'width' => array(), + 'height' => array(), + ) + ); + return $img_html; +} + +/** + * wpsight_get_listing_html() + * + * Return allowed tags and attributes with for listing template + * + * @return array Allowed tags and its attributes + * + * @since 1.2.9.2 + */ +function wpsight_get_listing_html() { + + $listing_html = array( + 'img' => array( + 'title' => array(), + 'src' => array(), + 'alt' => array(), + 'width' => array(), + 'height' => array(), + 'class' => array(), + 'style' => array(), + 'decoding' => array(), + 'data-mh' => array(), + ), + 'div' => array( + 'class' => array(), + ), + 'span' => array( + 'class' => array() + ) + ); + + return $listing_html; + +} + +/** + * wpsight_get_listing_details_html() + * + * Return allowed tags and attributes with for details list + * + * @return array Allowed tags and its attributes + * + */ +function wpsight_get_listing_details_html() { + $listing_details_html = array( + 'span' => array( + 'class' => array(), + ), + 'i' => array( + 'class' => array() + ), + 'a' => array( + 'class' => array(), + 'rel' => array(), + 'href' => array() + ) + ); + return $listing_details_html; +} \ No newline at end of file diff --git a/functions/wpsight-listings.php b/functions/wpsight-listings.php index 9912f22..c26d26f 100644 --- a/functions/wpsight-listings.php +++ b/functions/wpsight-listings.php @@ -121,7 +121,7 @@ function wpsight_get_listing_price_raw( $post_id = '' ) { * @since 1.0.0 */ function wpsight_listing_price_raw( $post_id = '' ) { - echo wpsight_get_listing_price_raw( $post_id ); + echo wp_kses_post( wpsight_get_listing_price_raw( $post_id ) ); } /** @@ -152,7 +152,7 @@ function wpsight_get_listing_offer( $post_id = '', $label = true ) { * @since 1.0.0 */ function wpsight_listing_offer( $post_id = '', $label = true ) { - echo wpsight_get_listing_offer( $post_id, $label ); + echo esc_html( wpsight_get_listing_offer( $post_id, $label ) ); } /** @@ -183,7 +183,7 @@ function wpsight_get_listing_period( $post_id = '', $label = true ) { * @since 1.0.0 */ function wpsight_listing_period( $post_id = '', $label = true ) { - echo wpsight_get_listing_period( $post_id, $label ); + echo esc_html( wpsight_get_listing_period( $post_id, $label ) ); } /** @@ -214,7 +214,7 @@ function wpsight_get_listing_detail( $detail, $post_id = '' ) { * @since 1.0.0 */ function wpsight_listing_detail( $detail, $post_id = '' ) { - echo wpsight_get_listing_detail( $detail, $post_id ); + echo wp_kses( wpsight_get_listing_detail( $detail, $post_id ), wp_kses_allowed_html() ); } /** @@ -253,7 +253,7 @@ function wpsight_listing_details( $post_id = '', $details = false, $formatted = // Only echo if not array if ( ! is_array( $listing_details ) ) { - echo $listing_details; + echo wp_kses( $listing_details, array( 'div' => array( 'class' => array() ), 'span' => array( 'class' => array() ) ) ); } else { // Echo print_r array for debugging ?>
array( + 'class' => array() + ), + 'span' => array( + 'class' => array(), + 'itemprop' => array(), + 'content' => array(), + ), + 'meta' => array( + 'itemprop' => array(), + 'content' => array() + ) + ); + echo wp_kses( wpsight_get_listing_price( $post_id, $before, $after, $args ), $price_html ); } /** @@ -414,7 +428,7 @@ function wpsight_get_listing_terms( $taxonomy = '', $post_id = '', $sep = '', $t * @since 1.0.0 */ function wpsight_listing_terms( $taxonomy = '', $post_id = '', $sep = '', $term_before = '', $term_after = '', $linked = true, $reverse = false ) { - echo wpsight_get_listing_terms( $taxonomy, $post_id, $sep, $term_before, $term_after, $linked, $reverse ); + echo wp_kses( wpsight_get_listing_terms( $taxonomy, $post_id, $sep, $term_before, $term_after, $linked, $reverse ), wpsight_get_listing_details_html() ); } /** @@ -447,7 +461,7 @@ function wpsight_get_listing_thumbnail( $post_id = '', $size = 'thumbnail', $att * @since 1.0.0 */ function wpsight_listing_thumbnail( $post_id = '', $size = 'thumbnail', $attr = '', $default = '', $formatted = 'wpsight-listing-thumbnail' ) { - echo wpsight_get_listing_thumbnail( $post_id, $size, $attr, $default, $formatted ); + echo wp_kses( wpsight_get_listing_thumbnail( $post_id, $size, $attr, $default, $formatted ), wpsight_get_listing_html() ); } /** @@ -478,7 +492,7 @@ function wpsight_get_listing_thumbnail_url( $post_id = '', $size = 'thumbnail' ) * @since 1.0.0 */ function wpsight_listing_thumbnail_url( $post_id = '', $size = 'thumbnail' ) { - echo wpsight_get_listing_thumbnail_url( $post_id, $size ); + echo esc_url( wpsight_get_listing_thumbnail_url( $post_id, $size ) ); } /** diff --git a/functions/wpsight-search.php b/functions/wpsight-search.php index 258142a..2b85421 100644 --- a/functions/wpsight-search.php +++ b/functions/wpsight-search.php @@ -17,7 +17,7 @@ * @since 1.0.0 */ function wpsight_search( $args = array(), $search_fields = array() ) { - echo wpsight_get_search( $args, $search_fields ); + echo wp_kses( wpsight_get_search($args, $search_fields), wpsight_allowed_html_tags() ); } /** diff --git a/functions/wpsight-template.php b/functions/wpsight-template.php index c408f18..85cabd8 100644 --- a/functions/wpsight-template.php +++ b/functions/wpsight-template.php @@ -111,7 +111,9 @@ function wpsight_get_templates_url() { * @since 1.0.0 */ function wpsight_orderby( $args = array() ) { - echo wpsight_get_orderby( $args ); + $allowed_html = wpsight_allowed_html_tags(); + $orderby_select = wpsight_get_orderby( $args ); + echo wp_kses( $orderby_select, $allowed_html ); } /** @@ -153,8 +155,10 @@ function wpsight_get_panel( $args = array() ) { * * @since 1.0.0 */ -function wpsight_panel( $args = array() ) { - echo wpsight_get_panel( $args ); +function wpsight_panel( $args = array() ) { + $allowed_html = wpsight_allowed_html_tags(); + $panel_html = wpsight_get_panel( $args ); + echo wp_kses( $panel_html, $allowed_html ); } /** @@ -186,7 +190,9 @@ function wpsight_get_listing_title( $post_id = '', $actions = array() ) { * @since 1.0.0 */ function wpsight_listing_title( $post_id = '', $actions = array() ) { - echo wpsight_get_listing_title( $post_id, $actions ); + $allowed_html = wpsight_allowed_html_tags(); + $listing_title = wpsight_get_listing_title( $post_id, $actions ); + echo wp_kses( $listing_title, $allowed_html ); } /** @@ -212,8 +218,10 @@ function wpsight_get_archive_title() { * * @since 1.0.0 */ -function wpsight_archive_title() { - echo wpsight_get_archive_title(); +function wpsight_archive_title() { + $allowed_html = wpsight_allowed_html_tags(); + $archive_title = wpsight_get_archive_title(); + echo wp_kses( $archive_title, $allowed_html ); } /** @@ -243,8 +251,10 @@ function wpsight_get_pagination( $max_num_pages = '', $args = array() ) { * * @since 1.0.0 */ -function wpsight_pagination( $max_num_pages, $args = array() ) { - echo wpsight_get_pagination( $max_num_pages, $args ); +function wpsight_pagination( $max_num_pages, $args = array() ) { + $allowed_html = wpsight_allowed_html_tags(); + $pagination_html = wpsight_get_pagination( $max_num_pages, $args ); + echo wp_kses( $pagination_html, $allowed_html ); } /** @@ -259,7 +269,9 @@ function wpsight_pagination( $max_num_pages, $args = array() ) { * @since 1.0.0 */ function wpsight_listing_class( $class = '', $post_id = false ) { - echo 'class="' . join( ' ', wpsight_get_listing_class( $class, $post_id ) ) . '"'; + // echo 'class="' . join( ' ', wpsight_get_listing_class( $class, $post_id ) ) . '"'; + $class_attr = 'class="' . join( ' ', wpsight_get_listing_class( $class, $post_id ) ) . '"'; + echo wp_kses_data( $class_attr ); } /** @@ -305,5 +317,7 @@ function wpsight_get_listing_actions( $post_id = '' ) { * @since 1.0.0 */ function wpsight_listing_actions( $post_id = '', $actions = array() ) { - echo WPSight_Template::listing_actions( $post_id, $actions ); + $allowed_html = wpsight_allowed_html_tags(); + $listing_actions = WPSight_Template::listing_actions( $post_id, $actions ); + echo wp_kses( $listing_actions, $allowed_html ); } diff --git a/includes/admin-map-ui/class-wpsight-admin-map-ui.php b/includes/admin-map-ui/class-wpsight-admin-map-ui.php index 93ebf52..391dbc4 100644 --- a/includes/admin-map-ui/class-wpsight-admin-map-ui.php +++ b/includes/admin-map-ui/class-wpsight-admin-map-ui.php @@ -1,4 +1,7 @@ 'places', 'key' => $api_key ), '//maps.googleapis.com/maps/api/js' ) : add_query_arg( array( 'libraries' => 'places' ), '//maps.googleapis.com/maps/api/js' ); - wp_enqueue_script( 'cmb-google-maps', apply_filters( 'wpsight_admin_map_ui_google_maps_endpoint', $api_url, $api_key ), null, WPSIGHT_VERSION ); - wp_enqueue_script( 'cmb-google-maps-script', WPSIGHT_ADMIN_MAP_UI_PLUGIN_URL . '/assets/js/map.js', array( 'jquery', 'cmb-google-maps', 'cmb2-scripts' ) ); + wp_enqueue_script( 'cmb-google-maps', apply_filters( 'wpsight_admin_map_ui_google_maps_endpoint', $api_url, $api_key ), null, WPSIGHT_VERSION, array( 'in_footer' => false ) ); + wp_enqueue_script( 'cmb-google-maps-script', WPSIGHT_ADMIN_MAP_UI_PLUGIN_URL . '/assets/js/map.js', array( 'jquery', 'cmb-google-maps', 'cmb2-scripts' ), WPSIGHT_VERSION, array( 'in_footer' => false ) ); // Get map listing options @@ -231,29 +231,38 @@ public static function render_map( $field, $value, $object_id, $object_type, $fi
- input( array( - 'name' => $field_type->_name( '[lat]' ), - 'value' => $value['lat'], + array( + 'type' => array(), + 'class' => array(), + 'name' => array(), + 'id' => array(), + 'value' => array(), + 'data-hash' => array(), + ) ); ?> + + input( array( + 'name' => esc_attr( $field_type->_name( '[lat]' ) ), + 'value' => esc_attr( $value['lat'] ), 'type' => 'hidden', 'class' => '_map_geolocation_lat', 'id' => '_map_geolocation_lat' - ) ); ?> + ) ), $allowed_html ); ?> - input( array( - 'name' => $field_type->_name( '[long]' ), - 'value' => $value['long'], + input( array( + 'name' => esc_attr( $field_type->_name( '[long]' ) ), + 'value' => esc_attr( $value['long'] ), 'type' => 'hidden', 'class' => '_map_geolocation_long', 'id' => '_map_geolocation_long' - ) ); ?> + ) ), $allowed_html ); ?> - input( array( - 'name' => $field_type->_name( '[elevation]' ), - 'value' => $value['elevation'], + input( array( + 'name' => esc_attr( $field_type->_name( '[elevation]' ) ), + 'value' => esc_attr( $value['elevation'] ), 'type' => 'hidden', 'class' => '_map_geolocation_elevation', 'id' => '_map_geolocation_elevation' - ) ); ?> + ) ), $allowed_html ); ?> api_url = trailingslashit( $_api_url ); - $this->api_data = $_api_data; - $this->plugin_file = $_plugin_file; - $this->name = plugin_basename( $_plugin_file ); - $this->slug = basename( $_plugin_file, '.php' ); - $this->version = $_api_data['version']; - $this->wp_override = isset( $_api_data['wp_override'] ) ? (bool) $_api_data['wp_override'] : false; - $this->beta = ! empty( $this->api_data['beta'] ) ? true : false; - - $edd_plugin_data[ $this->slug ] = $this->api_data; - - /** - * Fires after the $edd_plugin_data is setup. - * - * @since x.x.x - * - * @param array $edd_plugin_data Array of EDD SL plugin data. - */ - do_action( 'post_edd_sl_plugin_updater_setup', $edd_plugin_data ); - - // Set up hooks. - $this->init(); - - } - - /** - * Set up WordPress filters to hook into WP's update process. - * - * @uses add_filter() - * - * @return void - */ - public function init() { - - add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) ); - add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 ); - add_action( 'after_plugin_row', array( $this, 'show_update_notification' ), 10, 2 ); - add_action( 'admin_init', array( $this, 'show_changelog' ) ); - - } - - /** - * Check for Updates at the defined API endpoint and modify the update array. - * - * This function dives into the update API just when WordPress creates its update array, - * then adds a custom API call and injects the custom plugin data retrieved from the API. - * It is reassembled from parts of the native WordPress plugin update code. - * See wp-includes/update.php line 121 for the original wp_update_plugins() function. - * - * @uses api_request() - * - * @param array $_transient_data Update array build by WordPress. - * @return array Modified update array with custom plugin data. - */ - public function check_update( $_transient_data ) { - - global $pagenow; - - if ( ! is_object( $_transient_data ) ) { - $_transient_data = new stdClass(); - } - - if ( ! empty( $_transient_data->response ) && ! empty( $_transient_data->response[ $this->name ] ) && false === $this->wp_override ) { - return $_transient_data; - } - - $current = $this->get_repo_api_data(); - if ( false !== $current && is_object( $current ) && isset( $current->new_version ) ) { - if ( version_compare( $this->version, $current->new_version, '<' ) ) { - $_transient_data->response[ $this->name ] = $current; - } else { - // Populating the no_update information is required to support auto-updates in WordPress 5.5. - $_transient_data->no_update[ $this->name ] = $current; - } - } - $_transient_data->last_checked = time(); - $_transient_data->checked[ $this->name ] = $this->version; - - return $_transient_data; - } - - /** - * Get repo API data from store. - * Save to cache. - * - * @return \stdClass - */ - public function get_repo_api_data() { - $version_info = $this->get_cached_version_info(); - - if ( false === $version_info ) { - $version_info = $this->api_request( - 'plugin_latest_version', - array( - 'slug' => $this->slug, - 'beta' => $this->beta, - ) - ); - if ( ! $version_info ) { - return false; - } - - // This is required for your plugin to support auto-updates in WordPress 5.5. - $version_info->plugin = $this->name; - $version_info->id = $this->name; - - $this->set_version_info_cache( $version_info ); - } - - return $version_info; - } - - /** - * Show the update notification on multisite subsites. - * - * @param string $file - * @param array $plugin - */ - public function show_update_notification( $file, $plugin ) { - - // Return early if in the network admin, or if this is not a multisite install. - if ( is_network_admin() || ! is_multisite() ) { - return; - } - - if ( ! current_user_can( 'update_plugins' ) ) { - return; - } - - if ( $this->name !== $file ) { - return; - } - - // Do not print any message if update does not exist. - $update_cache = get_site_transient( 'update_plugins' ); - - if ( ! isset( $update_cache->response[ $this->name ] ) ) { - if ( ! is_object( $update_cache ) ) { - $update_cache = new stdClass(); - } - $update_cache->response[ $this->name ] = $this->get_repo_api_data(); - } - - // Return early if this plugin isn't in the transient->response or if the site is running the current or newer version of the plugin. - if ( empty( $update_cache->response[ $this->name ] ) || version_compare( $this->version, $update_cache->response[ $this->name ]->new_version, '>=' ) ) { - return; - } - - printf( - '', - $this->slug, - $file, - in_array( $this->name, $this->get_active_plugins(), true ) ? 'active' : 'inactive' - ); - - echo ''; - echo '

'; - - $changelog_link = ''; - if ( ! empty( $update_cache->response[ $this->name ]->sections->changelog ) ) { - $changelog_link = add_query_arg( - array( - 'edd_sl_action' => 'view_plugin_changelog', - 'plugin' => urlencode( $this->name ), - 'slug' => urlencode( $this->slug ), - 'TB_iframe' => 'true', - 'width' => 77, - 'height' => 911, - ), - self_admin_url( 'index.php' ) - ); - } - $update_link = add_query_arg( - array( - 'action' => 'upgrade-plugin', - 'plugin' => urlencode( $this->name ), - ), - self_admin_url( 'update.php' ) - ); - - printf( - /* translators: the plugin name. */ - esc_html__( 'There is a new version of %1$s available.', 'easy-digital-downloads' ), - esc_html( $plugin['Name'] ) - ); - - if ( empty( $update_cache->response[ $this->name ]->package ) && ! empty( $changelog_link ) ) { - printf( - /* translators: 1. opening anchor tag, do not translate 2. the new plugin version 3. closing anchor tag, do not translate. */ - __( ' %1$sView version %2$s details%3$s.', 'easy-digital-downloads' ), - '', - esc_html( $update_cache->response[ $this->name ]->new_version ), - '' - ); - } elseif ( ! empty( $changelog_link ) ) { - printf( - __( ' %1$sView version %2$s details%3$s or %4$supdate now%5$s.', 'easy-digital-downloads' ), - '', - esc_html( $update_cache->response[ $this->name ]->new_version ), - '', - '', - '' - ); - } else { - printf( - ' %1$s%2$s%3$s', - '', - esc_html__( 'Update now.', 'easy-digital-downloads' ), - '' - ); - } - - do_action( "in_plugin_update_message-{$file}", $plugin, $plugin ); - - echo '

'; - } - - /** - * Gets the plugins active in a multisite network. - * - * @return array - */ - private function get_active_plugins() { - $active_plugins = (array) get_option( 'active_plugins' ); - $active_network_plugins = (array) get_site_option( 'active_sitewide_plugins' ); - - return array_merge( $active_plugins, array_keys( $active_network_plugins ) ); - } - - /** - * Updates information on the "View version x.x details" page with custom data. - * - * @uses api_request() - * - * @param mixed $_data - * @param string $_action - * @param object $_args - * @return object $_data - */ - public function plugins_api_filter( $_data, $_action = '', $_args = null ) { - - if ( 'plugin_information' !== $_action ) { - - return $_data; - - } - - if ( ! isset( $_args->slug ) || ( $_args->slug !== $this->slug ) ) { - - return $_data; - - } - - $to_send = array( - 'slug' => $this->slug, - 'is_ssl' => is_ssl(), - 'fields' => array( - 'banners' => array(), - 'reviews' => false, - 'icons' => array(), - ), - ); - - // Get the transient where we store the api request for this plugin for 24 hours - $edd_api_request_transient = $this->get_cached_version_info(); - - //If we have no transient-saved value, run the API, set a fresh transient with the API value, and return that value too right now. - if ( empty( $edd_api_request_transient ) ) { - - $api_response = $this->api_request( 'plugin_information', $to_send ); - - // Expires in 3 hours - $this->set_version_info_cache( $api_response ); - - if ( false !== $api_response ) { - $_data = $api_response; - } - } else { - $_data = $edd_api_request_transient; - } - - // Convert sections into an associative array, since we're getting an object, but Core expects an array. - if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) { - $_data->sections = $this->convert_object_to_array( $_data->sections ); - } - - // Convert banners into an associative array, since we're getting an object, but Core expects an array. - if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) { - $_data->banners = $this->convert_object_to_array( $_data->banners ); - } - - // Convert icons into an associative array, since we're getting an object, but Core expects an array. - if ( isset( $_data->icons ) && ! is_array( $_data->icons ) ) { - $_data->icons = $this->convert_object_to_array( $_data->icons ); - } - - // Convert contributors into an associative array, since we're getting an object, but Core expects an array. - if ( isset( $_data->contributors ) && ! is_array( $_data->contributors ) ) { - $_data->contributors = $this->convert_object_to_array( $_data->contributors ); - } - - if ( ! isset( $_data->plugin ) ) { - $_data->plugin = $this->name; - } - - return $_data; - } - - /** - * Convert some objects to arrays when injecting data into the update API - * - * Some data like sections, banners, and icons are expected to be an associative array, however due to the JSON - * decoding, they are objects. This method allows us to pass in the object and return an associative array. - * - * @since 3.6.5 - * - * @param stdClass $data - * - * @return array - */ - private function convert_object_to_array( $data ) { - if ( ! is_array( $data ) && ! is_object( $data ) ) { - return array(); - } - $new_data = array(); - foreach ( $data as $key => $value ) { - $new_data[ $key ] = is_object( $value ) ? $this->convert_object_to_array( $value ) : $value; - } - - return $new_data; - } - - /** - * Disable SSL verification in order to prevent download update failures - * - * @param array $args - * @param string $url - * @return object $array - */ - public function http_request_args( $args, $url ) { - - if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) { - $args['sslverify'] = $this->verify_ssl(); - } - return $args; - - } - - /** - * Calls the API and, if successfull, returns the object delivered by the API. - * - * @uses get_bloginfo() - * @uses wp_remote_post() - * @uses is_wp_error() - * - * @param string $_action The requested action. - * @param array $_data Parameters for the API action. - * @return false|object - */ - private function api_request( $_action, $_data ) { - - global $edd_plugin_url_available; - - // Do a quick status check on this domain if we haven't already checked it. - $store_hash = md5( $this->api_url ); - if ( ! is_array( $edd_plugin_url_available ) || ! isset( $edd_plugin_url_available[ $store_hash ] ) ) { - $test_url_parts = wp_parse_url( $this->api_url ); - - $scheme = ! empty( $test_url_parts['scheme'] ) ? $test_url_parts['scheme'] : 'http'; - $host = ! empty( $test_url_parts['host'] ) ? $test_url_parts['host'] : ''; - $port = ! empty( $test_url_parts['port'] ) ? ':' . $test_url_parts['port'] : ''; - - if ( empty( $host ) ) { - $edd_plugin_url_available[ $store_hash ] = false; - } else { - $test_url = $scheme . '://' . $host . $port; - $response = wp_remote_get( - $test_url, - array( - 'timeout' => $this->health_check_timeout, - 'sslverify' => $this->verify_ssl(), - ) - ); - $edd_plugin_url_available[ $store_hash ] = is_wp_error( $response ) ? false : true; - } - } - - if ( false === $edd_plugin_url_available[ $store_hash ] ) { - return false; - } - - $data = array_merge( $this->api_data, $_data ); - - if ( $data['slug'] !== $this->slug ) { - return; - } - - // Don't allow a plugin to ping itself - if ( trailingslashit( home_url() ) === $this->api_url ) { - return false; - } - - return $this->get_version_from_remote(); - } - - /** - * If available, show the changelog for sites in a multisite install. - */ - public function show_changelog() { - - if ( empty( $_REQUEST['edd_sl_action'] ) || 'view_plugin_changelog' !== $_REQUEST['edd_sl_action'] ) { - return; - } - - if ( empty( $_REQUEST['plugin'] ) ) { - return; - } - - if ( empty( $_REQUEST['slug'] ) || $this->slug !== $_REQUEST['slug'] ) { - return; - } - - if ( ! current_user_can( 'update_plugins' ) ) { - wp_die( esc_html__( 'You do not have permission to install plugin updates', 'easy-digital-downloads' ), esc_html__( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) ); - } - - $version_info = $this->get_repo_api_data(); - if ( isset( $version_info->sections ) ) { - $sections = $this->convert_object_to_array( $version_info->sections ); - if ( ! empty( $sections['changelog'] ) ) { - echo '
' . wp_kses_post( $sections['changelog'] ) . '
'; - } - } - - exit; - } - - /** - * Gets the current version information from the remote site. - * - * @return array|false - */ - private function get_version_from_remote() { - $api_params = array( - 'edd_action' => 'get_version', - 'license' => ! empty( $this->api_data['license'] ) ? $this->api_data['license'] : '', - 'item_name' => isset( $this->api_data['item_name'] ) ? $this->api_data['item_name'] : false, - 'item_id' => isset( $this->api_data['item_id'] ) ? $this->api_data['item_id'] : false, - 'version' => isset( $this->api_data['version'] ) ? $this->api_data['version'] : false, - 'slug' => $this->slug, - 'author' => $this->api_data['author'], - 'url' => home_url(), - 'beta' => $this->beta, - 'php_version' => phpversion(), - 'wp_version' => get_bloginfo( 'version' ), - ); - - /** - * Filters the parameters sent in the API request. - * - * @param array $api_params The array of data sent in the request. - * @param array $this->api_data The array of data set up in the class constructor. - * @param string $this->plugin_file The full path and filename of the file. - */ - $api_params = apply_filters( 'edd_sl_plugin_updater_api_params', $api_params, $this->api_data, $this->plugin_file ); - - $request = wp_remote_post( - $this->api_url, - array( - 'timeout' => 15, - 'sslverify' => $this->verify_ssl(), - 'body' => $api_params, - ) - ); - - if ( is_wp_error( $request ) ) { - return false; - } - - $request = json_decode( wp_remote_retrieve_body( $request ) ); - - if ( $request && isset( $request->sections ) ) { - $request->sections = maybe_unserialize( $request->sections ); - } else { - $request = false; - } - - if ( $request && isset( $request->banners ) ) { - $request->banners = maybe_unserialize( $request->banners ); - } - - if ( $request && isset( $request->icons ) ) { - $request->icons = maybe_unserialize( $request->icons ); - } - - if ( ! empty( $request->sections ) ) { - foreach ( $request->sections as $key => $section ) { - $request->$key = (array) $section; - } - } - - return $request; - } - - /** - * Get the version info from the cache, if it exists. - * - * @param string $cache_key - * @return object - */ - public function get_cached_version_info( $cache_key = '' ) { - - if ( empty( $cache_key ) ) { - $cache_key = $this->get_cache_key(); - } - - $cache = get_option( $cache_key ); - - // Cache is expired - if ( empty( $cache['timeout'] ) || time() > $cache['timeout'] ) { - return false; - } - - // We need to turn the icons into an array, thanks to WP Core forcing these into an object at some point. - $cache['value'] = json_decode( $cache['value'] ); - if ( ! empty( $cache['value']->icons ) ) { - $cache['value']->icons = (array) $cache['value']->icons; - } - - return $cache['value']; - - } - - /** - * Adds the plugin version information to the database. - * - * @param string $value - * @param string $cache_key - */ - public function set_version_info_cache( $value = '', $cache_key = '' ) { - - if ( empty( $cache_key ) ) { - $cache_key = $this->get_cache_key(); - } - - $data = array( - 'timeout' => strtotime( '+3 hours', time() ), - 'value' => wp_json_encode( $value ), - ); - - update_option( $cache_key, $data, 'no' ); - - // Delete the duplicate option - delete_option( 'edd_api_request_' . md5( serialize( $this->slug . $this->api_data['license'] . $this->beta ) ) ); - } - - /** - * Returns if the SSL of the store should be verified. - * - * @since 1.6.13 - * @return bool - */ - private function verify_ssl() { - return (bool) apply_filters( 'edd_sl_api_request_verify_ssl', true, $this ); - } - - /** - * Gets the unique key (option name) for a plugin. - * - * @since 1.9.0 - * @return string - */ - private function get_cache_key() { - $string = $this->slug . $this->api_data['license'] . $this->beta; - - return 'edd_sl_' . md5( serialize( $string ) ); - } - -} \ No newline at end of file diff --git a/includes/admin/class-wpsight-admin-color-scheme.php b/includes/admin/class-wpsight-admin-color-scheme.php index 99f0375..21a5945 100644 --- a/includes/admin/class-wpsight-admin-color-scheme.php +++ b/includes/admin/class-wpsight-admin-color-scheme.php @@ -79,63 +79,63 @@ public function get_color_scheme_css() { echo ''; diff --git a/includes/admin/class-wpsight-admin-page-about.php b/includes/admin/class-wpsight-admin-page-about.php index 21f4833..526d562 100644 --- a/includes/admin/class-wpsight-admin-page-about.php +++ b/includes/admin/class-wpsight-admin-page-about.php @@ -26,119 +26,488 @@ public function output() { ?> -
- -
-
-
-
-
-
-
-
- +
+
- + + -
-

-

-
- -
- -
- -
- -
-
- -
-
- -
- -

- - - - - - - - - - - - - - -
ImprovedSanitized input fields and data
ImprovedModifications to the Newsletter Panel in WPCasa Settings
UpdatedUpdated CMB2 to 2.9.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ImprovedComplete revamp of the WPCasa Admin UI
ImprovedAdded XX new Currencies and Symbols
AddedItalian Translation
AddedCroatian Translation
AddedDutch Translation
AddedRussian Translation
AddedRomanian Translation
AddedSlovak Translation
FixedTypo in rental periods
FixedDefault order for listing type and location in search form
FixedReference conditional tag to correspondending query
FixedDouble 'edit_listings' capability
FixedMissing textdomain in WPSight_Admin->listings_custom_views
UpdatedPortoguese Translation
+
+ +
+ +
+

+

+
+ +
+ +
+ +
+ +
+ +
-
- +
+ +
+ +

+ + + + + +
+ +
+

Version: 1.2.11

+ + + + + + + + + + + + + + + + + + + + + + + + + +
New Added upgrade notice on WordPress plugin page
TweakUpdated plugin header with file-level PHPDoc DocBlock
TweakEnsure compatibility with WordPress 6.5
FixListing Map settings didn't save new value
FixIn some cases, toggling the Listing Map link did not work
FixRemoved unwanted extra character after description on listing single page
+
+ +
+


Version: 1.2.10.1

+ + + + + +
FixSearch form stopped working for some non-WPCasa themes
+
+
+

Version: 1.2.10

+ + + + + + + + + + + + + +
FixImproved title escaping for compatibility with WPCasa Listing Labels
FixLoad WPCasa CSS on all pages, not just on the single listing pages
TweakMinimization of all CSS to improve the loading speed of the page
+
+
+


Version: 1.2.9.2

+ + + + + +
FixImproved html escaping on listing page for compatibility with WPCasa Listing Labels
+


Version: 1.2.9.1

+ + + + + +
FixAdditional classes for listings were no longer taken into account
+
+ +
+ + + +
+ + + +
+

Version: 1.2.9

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TweakOptimized code base
TweakFixed guideline violation
TweakBumped required WordPress version to 6.2
TweakImproved speed of database query to get listings
TweakFixed listing filter with wpsight_exclude_unavailable stopped working
TweakImproved WPCasa About page
TweakRemoved server info panel in favor of Site Health tools
FixIssue of not assigning default value after activation in checkbox
FixApply and separate listing map default
UpdateUpdated CMB2 to 2.10.1
+
+ +
+

Version: 1.2.8

+ + + + + +
TweakOptimized code base
+
+
+

Version: 1.2.7

+ + + + + + + + + + + + + +
TweakSanitized input fields and data
TweakModifications to the Newsletter Panel in WPCasa Settings
UpdateUpdated CMB2 to 2.9.0
+
+ + +
+ +

+ + + Version 1.2.8 - 2021/10/28 +
+
+ + + + + + +
TweakOptimized code base
+ +
+
+ + Version 1.2.7 - 2021/10/28 +
+
+ + + + + + + + + + + + + + +
TweakSanitized input fields and data
TweakModifications to the Newsletter Panel in WPCasa Settings
UpdateUpdated CMB2 to 2.9.0
+ +
+
+ + Version 1.2.6 - 2021/07/20 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NewAdded German Formal Translation
NewAdded filter wpsight_listing_text_not_available to customize the informal text when a listing is not available
TweakImproved embedment of previously integrated functionality from WPCasa Listings Map and WPCasa Admin Map UI
TweakData for Javascript gets now provided through wp_add_inline_script instead of wp_localize_script
TweakImproved data escaping
UpdateUpdated swiper.js to 6.7.5
+ +
+
+ + Version 1.2.5 - 2021/02/09 +
+
+ + + + + + + + + + +
TweakEnsure compatibility with latest version of WordPress
FixFixed admin license page issue
+ +
+
+ + Version 1.2.4 - 2020/05/26 +
+
+ + + + + + +
FixFixed licenses activation
+ +
+
+ + Version 1.2.3 - 2020/04/01 +
+
+ + + + + + +
TweakAdd ability to disable listing map displaying
+ +
+
+ + Version 1.2.2 - 2020/03/31 +
+
+ + + + + + +
FixFixed reinitialize map coordinates in some cases when dev mode is true
+ +
+
+ + Version 1.2.1 - 2020/03/23 +
+
+ + + + + + +
FixFixed map functionality after deleting WPCasa Listing Map plugin
+ +
+
+ + Version 1.2.0 - 2020/03/20 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NewComplete revamp of the WPCasa Admin UI
NewIntegration of WPCasa Admin Map UI
NewIntegration of WPCasa Listings Map
NewAbility to restore settings to default
NewAbility to delete all data
NewAdded recommends items
TweakImproved license algorithm
TweakUpdated file/folder structure
TweakImproved map searching algorithm
TweakMultiple plugin activation
TweakTested up to WordPress 5.3.2
FixFixed bulk listing edit
UpdateUpdated CMB2 to 2.6.0
+ +
+
+ + +
+ +
+ + +
-

+

- -

-

-

+

-

+

@@ -49,7 +50,7 @@ public function output() { ?> $license_data = $this->update_and_get_license_data( $license ); $option_key = $license['id']; $option_value = isset( $licenses[ $option_key ] ) ? $licenses[ $option_key ] : false; - $license_status = $license_data->license; + $license_status = isset( $license_data->license ) ? $license_data->license : false; ?>
@@ -59,21 +60,22 @@ public function output() { ?> - () - '; - echo ''; + () + '; + /* translators: %s: is the license expire date */ + echo ''; } elseif( $license_status == 'expired' ) { - echo ''; - echo ''; + echo ''; + echo ''; } elseif( $license_status == 'inactive' || $license_status == 'site_inactive' ) { - echo ''; - echo ''; + echo ''; + echo ''; } elseif( $license_status == 'item_name_mismatch' ) { - echo ''; - echo ''; + echo ''; + echo ''; } else { echo ''; - echo ''; + echo ''; } ?> @@ -81,18 +83,18 @@ public function output() { ?>
- + - + - + - + - - + + diff --git a/includes/admin/class-wpsight-admin-page-recommends.php b/includes/admin/class-wpsight-admin-page-recommends.php index eb368e7..bbe0c72 100644 --- a/includes/admin/class-wpsight-admin-page-recommends.php +++ b/includes/admin/class-wpsight-admin-page-recommends.php @@ -11,16 +11,14 @@ class WPSight_Recommendations { /** - * Handles output of the reports page in admin. + * Handles output of the recommendations page in admin. */ - public function output() - - { - - ?> + public function output() { ?>
-

+

@@ -49,8 +47,7 @@ public function output()
- id, array( 'toplevel_page_wpsight-settings' ) ) ) { $classes .= ' wpsight-settings-page '; - } elseif( in_array( $screen->id, array( 'wpcasa_page_wpsight-addons', 'wpcasa_page_wpsight-themes', 'wpcasa_page_wpsight-licenses', 'wpcasa_page_wpsight-recommends' ) ) ) { + } elseif( in_array( $screen->id, array( 'wpcasa_page_wpsight-addons', 'wpcasa_page_wpsight-themes', 'wpcasa_page_wpsight-licenses', 'wpcasa_page_wpsight-recommendations' ) ) ) { $classes .= ' wpsight-extras-page '; } elseif( in_array( $screen->id, array( 'edit-' . $post_type, $post_type ) ) ) { $classes .= ' wpsight-post-type-page '; @@ -133,6 +133,7 @@ public function reset_settings() { } // TODO: delete till wpcasa 1.5 public function migrate_data() { + check_admin_referer( 'migrate', 'migrate_data' ); // $args = array( diff --git a/includes/admin/class-wpsight-admin-page-themes.php b/includes/admin/class-wpsight-admin-page-themes.php index 8fa31e3..8c92356 100644 --- a/includes/admin/class-wpsight-admin-page-themes.php +++ b/includes/admin/class-wpsight-admin-page-themes.php @@ -52,7 +52,9 @@ public function output() { } ?>
-

+

cpt = new WPSight_Admin_CPT(); $this->agents = new WPSight_Admin_Agents(); - $this->settings_page = new WPSight_Admin_Settings(); $this->license_page = new WPSight_Admin_Licenses(); - $this->color_scheme = new WPSight_Admin_Color_Scheme(); - $this->helpers = new WPSight_Admin_Helpers(); - add_action( 'admin_menu', array( $this, 'admin_menu' ), 12 ); - add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) ); - - add_action( 'admin_notices', array( $this, 'notice_setup' ) ); - - add_filter( 'views_upload', array( $this, 'media_custom_views' ) ); - add_filter( 'views_edit-listing', array( $this, 'listings_custom_views' ) ); - add_filter( 'views_edit-property', array( $this, 'listings_custom_views' ) ); - add_filter( 'manage_users_columns', array( $this, 'manage_users_columns' ) ); - add_action( 'manage_users_custom_column', array( $this, 'manage_users_custom_column' ), 10, 3 ); + // Actions & Filers + + add_action( 'admin_menu', [ $this, 'admin_menu' ], 12 ); + add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_scripts' ] ); - add_filter( 'install_plugins_tabs', array( $this, 'add_addon_tab' ) ); - add_action( 'install_plugins_wpcasa_addons', array( $this, 'addons_page' ), 10, 1 ); -// add_action( 'install_plugins_wpcasa_recommends', array( $this, 'recommends_page' ), 10, 1 ); + add_action( 'admin_notices', [ $this, 'notice_setup' ] ); -// add_filter( 'install_themes_tabs', array( $this, 'add_theme_tab' ) ); -// add_action( 'install_themes_wpcasa_themes', array( $this, 'themes_page' ), 10, 1 ); + add_filter( 'views_upload', [ $this, 'media_custom_views' ] ); + add_filter( 'views_edit-listing', [ $this, 'listings_custom_views' ] ); + add_filter( 'views_edit-property', [ $this, 'listings_custom_views' ] ); + add_filter( 'manage_users_columns', [ $this, 'manage_users_columns' ] ); + add_action( 'manage_users_custom_column', [ $this, 'manage_users_custom_column' ], 10, 3 ); + + add_filter( 'install_plugins_tabs', [ $this, 'add_addon_tab' ] ); + add_action( 'install_plugins_wpcasa_addons', [ $this, 'addons_page' ] ); + add_action( 'install_themes_wpcasa_themes', [ $this, 'themes_pag ' ] ); + add_action( 'install_plugins_wpcasa_recommendations', [ $this, 'recommends_page' ] ); - } + } /** * admin_enqueue_scripts() @@ -81,28 +77,28 @@ public function admin_enqueue_scripts() { if ( in_array( $screen->id, array( 'plugins' ) ) ) wp_enqueue_script( 'jquery-plugins-admin', WPSIGHT_PLUGIN_URL . '/assets/js/wpsight-plugins-admin.js', array( 'jquery' ), WPSIGHT_VERSION, true ); - wp_enqueue_style( 'wpsight-admin-swiper', WPSIGHT_PLUGIN_URL . '/vendor/swiper/swiper-bundle' . $suffix . '.css', array( 'cmb2-styles' ) ); - wp_enqueue_script( 'wpsight-admin-swiper', WPSIGHT_PLUGIN_URL . '/vendor/swiper/swiper-bundle' . $suffix . '.js', array( 'jquery' ), WPSIGHT_VERSION, true ); + wp_enqueue_style( 'wpsight-admin-swiper', WPSIGHT_PLUGIN_URL . '/vendor/swiper/swiper-bundle' . $suffix . '.css', array( 'cmb2-styles' ), '6.7.5' ); + wp_enqueue_script( 'wpsight-admin-swiper', WPSIGHT_PLUGIN_URL . '/vendor/swiper/swiper-bundle' . $suffix . '.js', array( 'jquery' ), '6.7.5', true ); - wp_enqueue_style( 'wpsight-font', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-font' . $suffix . '.css', array() ); + wp_enqueue_style( 'wpsight-font', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-font' . $suffix . '.css', null, WPSIGHT_VERSION ); - if ( in_array( $screen->id, array( 'edit-' . $post_type, $post_type, 'toplevel_page_wpsight-settings', 'wpcasa_page_wpsight-addons', 'wpcasa_page_wpsight-themes', 'wpcasa_page_wpsight-licenses', 'wpcasa_page_wpsight-recommendations' ) ) || $screen->id == 'plugin-install' && isset( $_GET['tab'] ) && $_GET['tab'] == 'wpcasa_addons' ) { + if ( in_array( $screen->id, array( 'edit-' . $post_type, $post_type, 'toplevel_page_wpsight-settings', 'wpcasa_page_wpsight-addons', 'wpcasa_page_wpsight-themes', 'wpcasa_page_wpsight-licenses', 'wpcasa_page_wpsight-recommendations', 'wpcasa_page_wpsight-about' ) ) || $screen->id == 'plugin-install' && isset( $_GET['tab'] ) && $_GET['tab'] == 'wpcasa_addons' ) { - wp_register_script( 'jquery-tiptip', WPSIGHT_PLUGIN_URL . '/assets/js/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), WPSIGHT_VERSION, true ); + wp_register_script( 'jquery-tiptip', WPSIGHT_PLUGIN_URL . '/assets/js/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), '1.3', true ); - wp_enqueue_style( 'wpsight-admin-ui-framework', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-ui-framework' . $suffix . '.css', array( 'cmb2-styles' ) ); - wp_enqueue_style( 'wpsight-admin', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin' . $suffix . '.css', array( 'wpsight-admin-ui-framework', 'cmb2-styles' ) ); + wp_enqueue_style( 'wpsight-admin-ui-framework', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-ui-framework' . $suffix . '.css', array( 'cmb2-styles' ), WPSIGHT_VERSION ); + wp_enqueue_style( 'wpsight-admin', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin' . $suffix . '.css', array( 'wpsight-admin-ui-framework', 'cmb2-styles' ), WPSIGHT_VERSION ); wp_enqueue_script( 'wpsight_admin_js', WPSIGHT_PLUGIN_URL . '/assets/js/wpsight-admin' . $suffix . '.js', array( 'jquery', 'jquery-tiptip', 'jquery-ui-datepicker' ), WPSIGHT_VERSION, true ); - wp_add_inline_script( 'wpsight_admin_js', 'const WPCASA_SETTINGS = ' . json_encode( array( + wp_add_inline_script( 'wpsight_admin_js', 'const WPCASA_SETTINGS = ' . wp_json_encode( array( 'name' => $this->settings_page->settings_name ) ), 'before' ); } if ( $screen->id == 'wpcasa_page_wpsight-about' ) - wp_enqueue_style( 'wpsight-admin-page-about', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-page-about' . $suffix . '.css' ); + wp_enqueue_style( 'wpsight-admin-page-about', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-admin-page-about' . $suffix . '.css', null, WPSIGHT_VERSION ); if ( in_array( $screen->id, array( 'profile', 'user-edit' ) ) ) wp_enqueue_media(); @@ -124,24 +120,22 @@ public function admin_enqueue_scripts() { */ public function admin_menu() { - add_menu_page( WPSIGHT_NAME, WPSIGHT_NAME, 'manage_options', 'wpsight-settings', array( $this->settings_page, 'output' ), 'dashicons-marker' ); + add_menu_page( WPSIGHT_NAME, WPSIGHT_NAME, 'manage_options', 'wpsight-settings', [ $this->settings_page, 'output' ], 'dashicons-marker' ); - add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Settings', 'wpcasa' ), __( 'Settings', 'wpcasa' ) , 'manage_options', 'wpsight-settings', array( $this->settings_page, 'output' ) ); + add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Settings', 'wpcasa' ), __( 'Settings', 'wpcasa' ) , 'manage_options', 'wpsight-settings', [ $this->settings_page, 'output' ] ); if ( apply_filters( 'wpsight_show_addons_page', true ) ) - add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Add-Ons', 'wpcasa' ), __( 'Add-Ons', 'wpcasa' ) , 'manage_options', 'wpsight-addons', array( $this, 'addons_page' ) ); - -// if ( apply_filters( 'wpsight_show_recommend_page', true ) ) -// add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Recommendations', 'wpcasa' ), __( 'Recommendations', 'wpcasa' ) , 'manage_options', 'wpsight-recommendations', array( $this, 'recommends_page' ) ); + add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Add-Ons', 'wpcasa' ), __( 'Add-Ons', 'wpcasa' ) , 'manage_options', 'wpsight-addons', [ $this, 'addons_page' ] ); if ( apply_filters( 'wpsight_show_themes_page', true ) ) - add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Themes', 'wpcasa' ), __( 'Themes', 'wpcasa' ) , 'manage_options', 'wpsight-themes', array( $this, 'themes_page' ) ); + add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Themes', 'wpcasa' ), __( 'Themes', 'wpcasa' ) , 'manage_options', 'wpsight-themes', [ $this, 'themes_page' ] ); if ( apply_filters( 'wpsight_show_licenses_page', true ) ) - add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Licenses', 'wpcasa' ), __( 'Licenses', 'wpcasa' ) , 'manage_options', 'wpsight-licenses', array( $this->license_page, 'output' ) ); + add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'Licenses', 'wpcasa' ), __( 'Licenses', 'wpcasa' ) , 'manage_options', 'wpsight-licenses', [ $this->license_page, 'output' ] ); if ( apply_filters( 'wpsight_show_about_page', true ) ) - add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'About', 'wpcasa' ), __( 'About', 'wpcasa' ) , 'manage_options', 'wpsight-about', array( $this, 'about_page' ) ); + add_submenu_page( 'wpsight-settings', WPSIGHT_NAME . ' ' . __( 'About', 'wpcasa' ), __( 'About', 'wpcasa' ) , 'manage_options', 'wpsight-about', [ $this, 'about_page' ] ); + } /** @@ -168,31 +162,6 @@ public function addons_page() { $addons->output(); } - /** - * recommends_page() - * - * Add WPSight recommends page to sub menu. - * - * @access public - * - * @since 1.0.0 - */ -// public function recommends_page() { -// $addons = include WPSIGHT_PLUGIN_DIR . '/includes/admin/class-wpsight-admin-page-recommends.php'; -// $addons->output(); -// } - - /** - * Adds a new tab to the install plugins page. - * - * @return void - */ - public function add_theme_tab( $tabs ) { - $tabs['wpcasa_themes'] = __( 'WPCasa ', 'wpcasa' ) . '' . __( 'Themes', 'wpcasa' ) . '' ; - return $tabs; - } - - /** * themes_page() * @@ -445,20 +414,9 @@ public static function options_listings() { 'type' => 'heading' ); - /** Toggle standard details */ - -// $options_listings['listing_details'] = array( -// 'name' => __( 'Listing Details', 'wpcasa' ), -// 'desc' => __( 'Please check the box to edit the listing details.', 'wpcasa' ), -// 'id' => 'listing_features', -// 'type' => 'checkbox', -// 'default' => '0' -// ); - /** Loop through standard details */ $i=1; - $position=150; foreach ( wpsight_details() as $detail_id => $value ) { @@ -476,9 +434,6 @@ public static function options_listings() { ) ); -// $i++; -// $position++; - } $options_listings['heading_rental_periods'] = array( @@ -488,16 +443,6 @@ public static function options_listings() { 'type' => 'heading' ); - /** Toggle rental periods */ - -// $options_listings['rental_periods'] = array( -// 'name' => __( 'Rental Periods', 'wpcasa' ), -// 'desc' => __( 'Please check the box to edit the rental periods.', 'wpcasa' ), -// 'id' => 'rental_periods', -// 'type' => 'checkbox', -// 'default' => '0' -// ); - /** Loop through rental periods */ $i=1; @@ -514,9 +459,6 @@ public static function options_listings() { 'default' => $value ); -// $i++; -// $position++; - } // filter options @@ -613,7 +555,7 @@ public static function options_maps() { $options_maps['heading_listings_map_api'] = array( 'name' => __( 'Map API', 'wpcasa' ), - 'desc' => __( '', 'wpcasa' ), + 'desc' => __( 'Here you can enter Map API', 'wpcasa' ), 'id' => 'heading_listings_map_api', 'type' => 'heading', 'position' => '490' @@ -621,6 +563,7 @@ public static function options_maps() { $options_maps['google_maps_api_key'] = array( 'name' => __( 'Google Maps API', 'wpcasa' ), + /* translators: %s: is the link to google maps */ 'desc' => sprintf( __( 'If necessary, please enter your Google Maps API key (register here).', 'wpcasa' ), 'https://developers.google.com/maps/documentation/javascript/get-api-key' ), 'id' => 'google_maps_api_key', 'type' => 'text', @@ -712,7 +655,7 @@ public static function media_custom_views( $views ) { $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE meta_value LIKE '%s' + WHERE meta_value LIKE %s ", $wp_query->query_vars['s'] ) ); if ( ! empty( $post_ids_meta ) && get_search_query() !== null ) { @@ -759,8 +702,8 @@ public static function listings_custom_views( $views ) { // Search custom fields for listing ID $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " - SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE meta_value LIKE '%s' + SELECT DISTINCT post_id FROM $wpdb->postmeta + WHERE meta_value LIKE %s ", $wp_query->query_vars['s'] ) ); if ( empty( $post_ids_meta ) ) @@ -912,7 +855,14 @@ public static function notice_setup() { $link = admin_url() . 'admin.php?page=wpsight-settings#settings-listings'; echo '
'; - echo '

' . sprintf( __( 'Welcome to WPCasa – You‘re almost ready. Now go ahead and setup your main listings page as this is required in order to properly list your properties.', 'wpcasa' ), $link ) . '

'; + echo '

' . + sprintf( + wp_kses( + /* translators: %s: is the link */ + __( 'Welcome to WPCasa – You‘re almost ready. Now go ahead and setup your main listings page as this is required in order to properly list your properties.', 'wpcasa' ), + array( 'strong' => array(), 'a' => array( 'href' => array() ) ) ) + , esc_url( $link ) ) . + '

'; echo '
'; } @@ -932,22 +882,28 @@ public static function notice_setup() { public static function recommendations() { $recommendations = [ - 'hubspot' => [ - 'title' => __( '', 'wpcasa' ), - 'description' => __( '', 'wpcasa' ), - 'image_url' => WPSIGHT_PLUGIN_URL . '/assets/img/wpcasa-recommendation-hubspot.jpg', - 'button_text' => __( '', 'wpcasa' ), - 'button_link' => 'https://wpcasa.com/hubspot?ref=wpcasa-admin-dashboard', - ], - 'premium' => [ - 'title' => __( '', 'wpcasa' ), - 'description' => __( '', 'wpcasa' ), - 'image_url' => WPSIGHT_PLUGIN_URL . '/assets/img/wpcasa-recommendation-premium.jpg', - 'button_text' => __( '', 'wpcasa' ), - 'button_link' => 'https://wpcasa.com?ref=wpcasa-admin-dashboard', - ], + 'shortpixel' => [ + 'title' => __( 'ShortPixel Image Compression', 'wpcasa' ), + 'description' => __( 'Here you can compress your images for free or create your personal ShortPixel account', 'wpcasa' ), + 'image_url' => WPSIGHT_PLUGIN_URL . '/assets/img/wpcasa-recommendation-shortpixel.jpg', + 'button_text' => __( 'ShortPixel', 'wpcasa' ), + 'button_link' => 'https://shortpixel.com/otp/af/95WCWLA889753', + ] + ]; + if( ! wpsight_is_premium()) { + + $recommendations['premium'] = [ + 'title' => __( 'Premium', 'wpcasa' ), + 'description' => __( 'Here you can upgrade to premium', 'wpcasa' ), + 'image_url' => WPSIGHT_PLUGIN_URL . '/assets/img/wpcasa-recommendation-premium.jpg', + 'button_text' => __( 'Premium', 'wpcasa' ), + 'button_link' => 'https://wpcasa.com?ref=wpcasa-admin-dashboard', + ]; + + } + $recommendations = apply_filters( 'wpsight_recommendations', $recommendations ); return $recommendations; @@ -956,6 +912,3 @@ public static function recommendations() { } - -if( ! class_exists( 'EDD_SL_Plugin_Updater' ) ) - include(dirname(__FILE__) . '/EDD_SL_Plugin_Updater.php'); \ No newline at end of file diff --git a/includes/admin/class-wpsight-agents.php b/includes/admin/class-wpsight-agents.php index b553e47..99ab778 100644 --- a/includes/admin/class-wpsight-agents.php +++ b/includes/admin/class-wpsight-agents.php @@ -37,6 +37,10 @@ public function __construct() { * @since 1.0.0 */ public function profile_agent_update_save( $user_id ) { + + if( ! isset( $_POST[ '_wpnonce' ] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST[ '_wpnonce' ] ) ), 'update-user_' . $user_id ) ) { + return; + } if ( ! current_user_can( 'listing_admin' ) && ! current_user_can( 'administrator' ) ) return false; @@ -54,7 +58,7 @@ public function profile_agent_update_save( $user_id ) { '_agent_name' => isset( $_POST['display_name'] ) ? sanitize_text_field( $_POST['display_name'] ) : '', '_agent_company' => isset( $_POST['company'] ) ? sanitize_text_field( $_POST['company'] ) : '', '_agent_phone' => isset( $_POST['phone'] ) ? sanitize_text_field( $_POST['phone'] ) : '', - '_agent_description' => isset( $_POST['description'] ) ? wp_kses_post( $_POST['description'] ) : '', + '_agent_description' => isset( $_POST['description'] ) ? sanitize_post( $_POST['description'] ) : '', '_agent_website' => isset( $_POST['url'] ) ? esc_url_raw( $_POST['url'] ) : '', '_agent_twitter' => isset( $_POST['twitter'] ) ? sanitize_text_field( $_POST['twitter'] ) : '', '_agent_facebook' => isset( $_POST['facebook'] ) ? sanitize_text_field( $_POST['facebook'] ) : '', @@ -154,13 +158,17 @@ function recount_attachments( $_counts ) { global $wpdb, $current_user; $and = wp_post_mime_type_where(''); //Default mime type //AND post_author = {$current_user->ID} - $count = $wpdb->get_results( "SELECT post_mime_type, COUNT( * ) AS num_posts FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_author = {$current_user->ID} $and GROUP BY post_mime_type", ARRAY_A ); + $count = $wpdb->get_results( + $wpdb->prepare( "SELECT post_mime_type, COUNT( * ) AS num_posts FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_author = %d %s GROUP BY post_mime_type", $current_user->ID, $and ), + ARRAY_A ); $counts = array(); foreach( (array) $count as $row ) $counts[ $row['post_mime_type'] ] = $row['num_posts']; - $counts['trash'] = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_author = {$current_user->ID} AND post_status = 'trash' $and" ); + $counts['trash'] = $wpdb->get_var( + $wpdb->prepare( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_author = %s AND post_status = 'trash' %s", $current_user->ID, $and ) + ); return $counts; diff --git a/includes/admin/class-wpsight-cpt.php b/includes/admin/class-wpsight-cpt.php index 71a0f3e..2d9b8ce 100644 --- a/includes/admin/class-wpsight-cpt.php +++ b/includes/admin/class-wpsight-cpt.php @@ -147,7 +147,7 @@ public function custom_columns( $column ) { // Display colored offer badge if ( $listing_offer ) - echo '' . esc_attr( wpsight_get_offer( $listing_offer ) ) . ''; + echo '' . esc_html( wpsight_get_offer( $listing_offer ) ) . ''; break; @@ -170,9 +170,9 @@ public function custom_columns( $column ) { // Display listing thumbnail (with edit link if not in trash) if ( $post->post_status !== 'trash' && current_user_can( 'edit_listing', $post->ID ) ) { - echo '' . wpsight_get_listing_thumbnail( $post->ID ) . ''; + echo '' . wp_kses( wpsight_get_listing_thumbnail( $post->ID ), wpsight_allowed_html_tags() ) . ''; } else { - echo wpsight_get_listing_thumbnail( $post->ID ); + echo wp_kses( wpsight_get_listing_thumbnail( $post->ID ), wpsight_allowed_html_tags() ); } echo '
'; @@ -182,9 +182,9 @@ public function custom_columns( $column ) { // Display listing title (with edit link if not in trash) if ( $post->post_status !== 'trash' && current_user_can( 'edit_listing', $post->ID ) ) { - echo '' . $post->post_title . ''; + echo '' . esc_html( $post->post_title ) . ''; } else { - echo $post->post_title; + echo esc_html( $post->post_title ); } if ( $post->post_status !== 'trash' && class_exists( 'WPSight_Featured_Listings' ) ) { @@ -192,12 +192,12 @@ public function custom_columns( $column ) { // Display sticky if( wpsight_is_listing_sticky() ) - echo ' ‐ ' . __( 'Sticky', 'wpcasa' ) . ''; + echo ' ‐ ' . esc_attr__( 'Sticky', 'wpcasa' ) . ''; // Display featured if( wpsight_is_listing_featured() ) - echo ' ‐ ' . __( 'Featured', 'wpcasa' ) . ''; + echo ' ‐ ' . esc_attr__( 'Featured', 'wpcasa' ) . ''; } @@ -212,7 +212,7 @@ public function custom_columns( $column ) { if( $type ) { echo '
'; - echo wpsight_get_listing_terms( 'listing-type', $post->ID, ', ', '', '', false ); + echo wp_kses( wpsight_get_listing_terms( 'listing-type', $post->ID, ', ', '', '', false ), wpsight_allowed_html_tags() ); echo '
'; } @@ -223,7 +223,7 @@ public function custom_columns( $column ) { if( $location ) { echo '
'; - echo wpsight_get_listing_terms( 'location', $post->ID, ' › ', '', '', false ); + echo wp_kses( wpsight_get_listing_terms( 'location', $post->ID, ' › ', '', '', false ), wpsight_allowed_html_tags() ); echo '
'; } @@ -232,7 +232,7 @@ public function custom_columns( $column ) { // Display text if item not available if( wpsight_is_listing_not_available() ) - echo '' . __( 'Item is currently not available', 'wpcasa' ) . ''; + echo '' . esc_html__( 'Item is currently not available', 'wpcasa' ) . ''; // Display listing title actions (edit, view) @@ -264,21 +264,21 @@ public function custom_columns( $column ) { $admin_actions_listing_title = apply_filters( 'wpsight_admin_actions_listing_title', $admin_actions_listing_title, $post ); foreach ( $admin_actions_listing_title as $action ) { - printf( ' %4$s', $action['action'], esc_url( $action['url'] ), esc_attr( $action['name'] ), esc_html( $action['name'] ), isset( $action['target'] ) ? esc_html( $action['target'] ) : false ); + printf( ' %4$s', esc_attr( $action['action'] ), esc_url( $action['url'] ), esc_attr( $action['name'] ), esc_html( $action['name'] ), isset( $action['target'] ) ? esc_html( $action['target'] ) : false ); } echo '
'; // Display more info when excerpt list mode - if( isset( $_REQUEST['mode'] ) && $_REQUEST['mode'] == 'excerpt' ) { + if( isset( $_REQUEST['mode'] ) && 'excerpt' == sanitize_text_field( $_REQUEST['mode'] ) ) { echo '
'; - echo '

' . wpsight_get_listing_summary() . '

'; + echo '

' . wp_kses( wpsight_get_listing_summary(), wpsight_allowed_html_tags() ) . '

'; echo '
'; echo '
'; - echo '

' . wp_trim_excerpt() . '

'; + echo '

' . wp_kses_post( wp_trim_excerpt() ) . '

'; echo '
'; } @@ -290,19 +290,20 @@ public function custom_columns( $column ) { case "listing_status" : // Display listing status (e.g. pending, active) with colored dot - echo ' ' . wpsight_get_status( $post->post_status ) . ''; + echo ' ' . esc_html( wpsight_get_status( $post->post_status ) ) . ''; break; case "listing_posted" : // Display listing publish date - echo '' . date_i18n( $datef, strtotime( $post->post_date ) ) . ''; + echo '' . esc_html( date_i18n( $datef, strtotime( $post->post_date ) ) ) . ''; - $user_name = current_user_can( 'edit_users' ) ? '' . get_the_author() . '' : get_the_author(); + $user_name = current_user_can( 'edit_users' ) ? '' . esc_html( get_the_author() ) . '' : esc_html( get_the_author() ); // Display listing agent - echo '' . ( empty( $post->post_author ) ? __( 'by a guest', 'wpcasa' ) : sprintf( __( 'by %s', 'wpcasa' ), esc_html( $user_name ) ) ) . ''; + // Translators: %s is listing agent name + echo '' . ( empty( $post->post_author ) ? esc_html__( 'by a guest', 'wpcasa' ) : sprintf( esc_html__( 'by %s', 'wpcasa' ), wp_kses( $user_name, array( 'a' => array( 'href' => array() ) ) ) ) ) . ''; break; @@ -329,7 +330,7 @@ public function custom_columns( $column ) { // Display action buttons - echo '
'; + echo '
'; $admin_actions = array(); @@ -338,7 +339,7 @@ public function custom_columns( $column ) { $admin_actions['approve'] = array( 'action' => 'approve', 'name' => wpsight_is_listing_pending( $post->ID ) ? __( 'Approve', 'wpcasa' ) : __( 'Unapprove', 'wpcasa' ), - 'url' => wp_nonce_url( add_query_arg( 'approve_listing', $post->ID ), 'approve_listing' ), + 'url' => wp_nonce_url( add_query_arg( 'approve_listing', $post->ID ), 'approve_listing' ), 'cap' => 'publish_listings', 'priority' => 10 ); @@ -346,7 +347,7 @@ public function custom_columns( $column ) { $admin_actions['unavailable'] = array( 'action' => 'unavailable', 'name' => wpsight_is_listing_not_available( $post->ID ) ? __( 'Mark available', 'wpcasa' ) : __( 'Mark unavailable', 'wpcasa' ), - 'url' => wp_nonce_url( add_query_arg( 'toggle_unavailable', $post->ID ), 'toggle_unavailable' ), + 'url' => wp_nonce_url( add_query_arg( 'toggle_unavailable', $post->ID ), 'toggle_unavailable' ), 'cap' => 'publish_listings', 'priority' => 20 ); @@ -384,7 +385,14 @@ public function custom_columns( $column ) { if( current_user_can( $action['cap'], $post->ID ) ) { - printf( ' %4$s', $action['action'], esc_url( $action['url'] ), esc_attr( $action['name'] ), esc_html( $action['name'] ), isset( $action['target'] ) ? esc_html( $action['target'] ) : false ); + printf( + ' %4$s', + esc_attr( $action['action'] ), + isset( $action['url'] ) ? esc_url( $action['url'] ) : '', + isset( $action['name'] ) ? esc_attr( $action['name'] ) : '', + isset( $action['name'] ) ? esc_html( $action['name'] ) : '', + isset( $action['target'] ) ? esc_attr( $action['target'] ) : false + ); $i++; @@ -395,7 +403,8 @@ public function custom_columns( $column ) { // If no other action is displayed, show view button if( 0 == $i && $post->post_status == 'publish' ) - printf( ' %4$s', 'view', esc_url( get_permalink( $post->ID ) ), esc_attr( __( 'View', 'wpcasa' ) ), esc_html( __( 'View', 'wpcasa' ) ), '_blank' ); + // translator: %1$s: view, %2$s: link, %3$s: View, %4$s: View, %5$s: target + printf( ' %4$s', 'view', esc_url( get_permalink( $post->ID ) ), esc_attr( __( 'View', 'wpcasa' ) ), esc_html( __( 'View', 'wpcasa' ) ), '_blank' ); echo '
'; @@ -483,11 +492,11 @@ public function add_bulk_actions() { @@ -647,10 +656,10 @@ public function approve_listing() { // Get listing to approve from $_GET, check nonce and if current user can - if ( ! empty( $_GET['approve_listing'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'approve_listing' ) && current_user_can( 'edit_post', $_GET['approve_listing'] ) ) { + if ( ! empty( $_GET['approve_listing'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ), 'approve_listing' ) && current_user_can( 'edit_post', sanitize_text_field( $_GET['approve_listing'] ) ) ) { // Get post ID - $post_id = absint( $_GET['approve_listing'] ); + $post_id = absint( sanitize_text_field( $_GET['approve_listing'] ) ); // Get post type $post_type = wpsight_post_type(); @@ -700,16 +709,13 @@ public function approved_notice() { if ( $pagenow == 'edit.php' && $post_type == wpsight_post_type() && ! empty( $_REQUEST['approved_listings'] ) ) { - // Get listings to approve from $_REQUEST - $approved_listings = $_REQUEST['approved_listings']; - + // Get listings to approve from $_REQUEST and sanitze early + $approved_listings = is_array( $_REQUEST['approved_listings'] ) ? array_map( 'absint', $_REQUEST['approved_listings'] ) : sanitize_text_field( $_REQUEST['approved_listings'] ); + // Check if we have multiple (array) or a single listing if ( is_array( $approved_listings ) ) { - // Make sure we have positive integers - $approved_listings = array_map( 'absint', $approved_listings ); - $titles_approved = array(); $titles_unapproved = array(); @@ -733,22 +739,49 @@ public function approved_notice() { // Display update message with titles of approved listings - if( $titles_approved ) - echo '

' . sprintf( __( '%s have been approved', 'wpcasa' ), '"' . implode( '", "', $titles_approved ) . '"' ) . '

'; + if( ! empty( $titles_approved ) ) { + $approved_properties_list = '"' . implode( '", "', $titles_approved ) . '"'; + + echo '

' . + sprintf( + // Translators: %s is approved listing names + esc_html__( '%s have been approved', 'wpcasa' ), + esc_html( $approved_properties_list ) ) . + '

'; + } // Display update message with titles of unapproved listings - if( $titles_unapproved ) - echo '

' . sprintf( __( '%s are now pending approval', 'wpcasa' ), '"' . implode( '", "', $titles_unapproved ) . '"' ) . '

'; + if( ! empty( $titles_unapproved ) ) { + $unapproved_properties_list = '"' . implode( '", "', $titles_approved ) . '"'; + echo '

' . + sprintf( + // Translators: %s is unapproved listing names + esc_html__( '%s are now pending approval', 'wpcasa' ), + esc_html( $unapproved_properties_list ) ) . + '

'; + } } else { // Display update message with title of single listing if( ! wpsight_is_listing_pending( $approved_listings ) ) { - echo '

' . sprintf( __( '%s has been approved', 'wpcasa' ), '"' . get_the_title( $approved_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is approved listing name + esc_html__( '%s has been approved', 'wpcasa' ), + '"' . esc_html( get_the_title( $approved_listings ) ) . '"', + ) . + '

'; } else { - echo '

' . sprintf( __( '%s is now pending approval', 'wpcasa' ), '"' . get_the_title( $approved_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is unapproved listing name + esc_html__( '%s is now pending approval', 'wpcasa' ), + '"' . esc_html( get_the_title( $approved_listings ) ) . '"', + ) . + '

'; } } // endif is_array( $approved_listings ) @@ -775,13 +808,12 @@ public function approved_notice() { * @since 1.0.0 */ public function toggle_sticky() { - - // Get listing to mark sticky from $_GET, check nonce and if current user can - - if ( ! empty( $_GET['toggle_sticky'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'toggle_sticky' ) && current_user_can( 'edit_post', $_GET['toggle_sticky'] ) ) { - - // Get post ID - $post_id = absint( $_GET['toggle_sticky'] ); + + // Get listing to mark sticky from $_GET, check nonce and if current user can + if ( ! empty( $_GET['toggle_sticky'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ), 'toggle_sticky' ) && current_user_can( 'edit_post', sanitize_text_field( $_GET['toggle_sticky'] ) ) ) { + + // Get post ID + $post_id = absint( sanitize_text_field( $_GET['toggle_sticky'] ) ); // Get post type $post_type = wpsight_post_type(); @@ -820,15 +852,12 @@ public function marked_sticky_notice() { if ( $pagenow == 'edit.php' && $post_type == wpsight_post_type() && ! empty( $_REQUEST['listings_marked_sticky'] ) ) { // Get listings to mark from $_REQUEST - $marked_listings = $_REQUEST['listings_marked_sticky']; + $marked_listings = is_array( $_REQUEST[ 'listings_marked_sticky' ] ) ? array_map( 'absint', $_REQUEST[ 'listings_marked_sticky' ] ) : sanitize_text_field( $_REQUEST[ 'listings_marked_sticky' ] ); // Check if we have multiple (array) or a single listing if ( is_array( $marked_listings ) ) { - // Make sure we have positive integers - $marked_listings = array_map( 'absint', $marked_listings ); - $titles_sticky = array(); $titles_unsticky = array(); @@ -852,22 +881,48 @@ public function marked_sticky_notice() { // Display update message with titles of listings marked sticky - if( $titles_sticky ) - echo '

' . sprintf( __( '%s are now sticky', 'wpcasa' ), '"' . implode( '", "', $titles_sticky ) . '"' ) . '

'; + if( $titles_sticky ) { + echo '

' . + sprintf( + // Translators: %s is sticky listings name + esc_html__( '%s are now sticky', 'wpcasa' ), + '"' . esc_html( implode( '", "', $titles_sticky ) ) . '"', + ) . + '

'; + } // Display update message with titles of unmarked listings - if( $titles_unsticky ) - echo '

' . sprintf( __( '%s are no longer sticky', 'wpcasa' ), '"' . implode( '", "', $titles_unsticky ) . '"' ) . '

'; + if( $titles_unsticky ) { + echo '

' . + sprintf( + // Translators: %s is unsticky listings name + wp_kses( __( '%s are no longer sticky', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( implode( '", "', $titles_unsticky ) ) . '"' + ) . + '

'; + } } else { - + // Display update message with title of single listing if( wpsight_is_listing_sticky( $marked_listings ) ) { - echo '

' . sprintf( __( '%s is now sticky', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is sticky listing name + wp_kses( __( '%s is now sticky', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"', + ) . + '

'; } else { - echo '

' . sprintf( __( '%s is no longer sticky', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is unsticky listing name + esc_html__( '%s is no longer sticky', 'wpcasa' ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"' + ) . + '

'; } } // endif is_array( $marked_listings ) @@ -897,10 +952,10 @@ public function toggle_featured() { // Get listing to mark featured from $_GET, check nonce and if current user can - if ( ! empty( $_GET['toggle_featured'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'toggle_featured' ) && current_user_can( 'edit_post', $_GET['toggle_featured'] ) ) { + if ( ! empty( $_GET['toggle_featured'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ), 'toggle_featured' ) && current_user_can( 'edit_post', sanitize_text_field( $_GET['toggle_featured'] ) ) ) { // Get post ID - $post_id = absint( $_GET['toggle_featured'] ); + $post_id = absint( sanitize_text_field( $_GET['toggle_featured'] ) ); // Get post type $post_type = wpsight_post_type(); @@ -939,15 +994,12 @@ public function marked_featured_notice() { if ( $pagenow == 'edit.php' && $post_type == wpsight_post_type() && ! empty( $_REQUEST['listings_marked_featured'] ) ) { // Get listings to mark from $_REQUEST - $marked_listings = $_REQUEST['listings_marked_featured']; + $marked_listings = is_array( $_REQUEST['listings_marked_featured'] ) ? array_map( 'absint', $_REQUEST['listings_marked_featured'] ) : sanitize_text_field( $_REQUEST['listings_marked_featured'] ); // Check if we have multiple (array) or a single listing if ( is_array( $marked_listings ) ) { - // Make sure we have positive integers - $marked_listings = array_map( 'absint', $marked_listings ); - $titles_featured = array(); $titles_unfeatured = array(); @@ -971,22 +1023,45 @@ public function marked_featured_notice() { // Display update message with titles of listings marked featured - if( $titles_featured ) - echo '

' . sprintf( __( '%s are now featured', 'wpcasa' ), '"' . implode( '", "', $titles_featured ) . '"' ) . '

'; + if( $titles_featured ) { + echo '

' . + sprintf( + // Translators: %s is featured listings name + esc_html__( '%s are now featured', 'wpcasa' ), + '"' . esc_html( implode( '", "', $titles_featured ) ) . '"', + + ) . '

'; + } // Display update message with titles of unmarked listings - if( $titles_unfeatured ) - echo '

' . sprintf( __( '%s are no longer featured', 'wpcasa' ), '"' . implode( '", "', $titles_unfeatured ) . '"' ) . '

'; + if( $titles_unfeatured ) { + echo '

' . + sprintf( + // Translators: %s is unfeatured listings name + esc_html__( '%s are no longer featured', 'wpcasa' ), + '"' . esc_html( implode( '", "', $titles_unfeatured ) ) . '"', + ) . '

'; + } } else { // Display update message with title of single listing if( wpsight_is_listing_featured( $marked_listings ) ) { - echo '

' . sprintf( __( '%s is now featured', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is featured listing name + wp_kses( __( '%s is now featured', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"' + ) . '

'; } else { - echo '

' . sprintf( __( '%s is no longer featured', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is unfeatured listing name + wp_kses( __( '%s is no longer featured', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"' + ) . '

'; } } // endif is_array( $marked_listings ) @@ -1016,10 +1091,10 @@ public function toggle_unavailable() { // Get listing to mark unavailable from $_GET, check nonce and if current user can - if ( ! empty( $_GET['toggle_unavailable'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'toggle_unavailable' ) && current_user_can( 'edit_post', $_GET['toggle_unavailable'] ) ) { + if ( ! empty( $_GET['toggle_unavailable'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ), 'toggle_unavailable' ) && current_user_can( 'edit_post', sanitize_text_field( $_GET['toggle_unavailable'] ) ) ) { // Get post ID - $post_id = absint( $_GET['toggle_unavailable'] ); + $post_id = absint( sanitize_text_field( $_GET['toggle_unavailable'] ) ); // Get post type $post_type = wpsight_post_type(); @@ -1058,7 +1133,7 @@ public function marked_unavailable_notice() { if ( $pagenow == 'edit.php' && $post_type == wpsight_post_type() && ! empty( $_REQUEST['listings_marked_unavailable'] ) ) { // Get listings to mark from $_REQUEST - $marked_listings = $_REQUEST['listings_marked_unavailable']; + $marked_listings = is_array( $_REQUEST['listings_marked_unavailable'] ) ? array_map( 'absint', $_REQUEST['listings_marked_unavailable'] ) : sanitize_text_field( $_REQUEST['listings_marked_unavailable'] ); // Check if we have multiple (array) or a single listing @@ -1090,22 +1165,44 @@ public function marked_unavailable_notice() { // Display update message with titles of listings marked not available - if( $titles_not_available ) - echo '

' . sprintf( __( '%s are no longer available', 'wpcasa' ), '"' . implode( '", "', $titles_not_available ) . '"' ) . '

'; + if( $titles_not_available ) { + echo '

' . + sprintf( + // Translators: %s is not available listings name + esc_html__( '%s are no longer available', 'wpcasa' ), + '"' . esc_html( implode( '", "', $titles_not_available ) ) . '"' + ) . '

'; + } // Display update message with titles of listings marked available - if( $titles_available ) - echo '

' . sprintf( __( '%s are now available', 'wpcasa' ), '"' . implode( '", "', $titles_available ) . '"' ) . '

'; + if( $titles_available ) { + echo '

' . + sprintf( + // Translators: %s is available listings name + esc_html__( '%s are now available', 'wpcasa' ), + '"' . esc_html( implode( '", "', $titles_available ) ) . '"' + ) . '

'; + } } else { // Display update message with title of single listing if( wpsight_is_listing_not_available( $marked_listings ) ) { - echo '

' . sprintf( __( '%s is no longer available', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is not available listing name + wp_kses( __( '%s is no longer available', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"' + ) . '

'; } else { - echo '

' . sprintf( __( '%s is now available', 'wpcasa' ), '"' . get_the_title( $marked_listings ) . '"' ) . '

'; + echo '

' . + sprintf( + // Translators: %s is available listing name + wp_kses( __( '%s is now available', 'wpcasa' ), wpsight_allowed_html_tags() ), + '"' . esc_html( get_the_title( $marked_listings ) ) . '"' + ) . '

'; } } // endif is_array( $marked_listings ) @@ -1129,18 +1226,47 @@ public function post_updated_messages( $messages ) { $messages[ $post_type ] = array( 0 => '', - 1 => sprintf( __( '%s updated. View', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, esc_url( get_permalink( $post_ID ) ) ), - 2 => __( 'Custom field updated.', 'wpcasa' ), - 3 => __( 'Custom field deleted.', 'wpcasa' ), - 4 => sprintf( __( '%s updated.', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name ), - 5 => isset( $_GET['revision'] ) ? sprintf( __( '%s restored to revision from %s', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, - 6 => sprintf( __( '%s published. View', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, esc_url( get_permalink( $post_ID ) ) ), - 7 => sprintf( __( '%s saved.', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name ), - 8 => sprintf( __( '%s submitted. Preview', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) ), - 9 => sprintf( __( '%s scheduled for: %1$s. Preview', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, - date_i18n( __( 'M j, Y @ G:i', 'wpcasa' ), strtotime( $post->post_date ) ), esc_url( get_permalink( $post_ID ) ) ), - 10 => sprintf( __( '%s draft updated. Preview', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) ), - ); + 1 => sprintf( + // Translators: %1$s is listing name, %2$s is listing link + wp_kses( __( '%1$s updated. View', 'wpcasa' ), array( 'a' => array( 'href' => array() ) ) ), + $wp_post_types[ $post_type ]->labels->singular_name, + esc_url( get_permalink( $post_ID ) ) + ), + 2 => esc_html__( 'Custom field updated.', 'wpcasa' ), + 3 => esc_html__( 'Custom field deleted.', 'wpcasa' ), + // Translators: %s is listing name + 4 => sprintf( esc_html__( '%s updated.', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name ), + // Translators: %1$s is listing name, %2$s is revision name + 5 => isset( $_GET['revision'] ) ? sprintf( esc_html__( '%1$s restored to revision from %2$s', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name, wp_post_revision_title( (int) sanitize_text_field( $_GET['revision'] ), false ) ) : false, + 6 => sprintf( + // Translators: %1$s is listing name, %2$s is listing link + wp_kses( __( '%1$s published. View', 'wpcasa' ), array( 'a' => array( 'href' => array() ) ) ), + $wp_post_types[ $post_type ]->labels->singular_name, + esc_url( get_permalink( $post_ID ) ) + ), + // Translators: %s is listing name + 7 => sprintf( esc_html__( '%s saved.', 'wpcasa' ), $wp_post_types[ $post_type ]->labels->singular_name ), + 8 => sprintf( wp_kses( + // Translators: %1$s is listing name, %2$s is schedule time, %3$s is schedule time + __( '%1$s submitted. Preview', 'wpcasa' ), array( 'a' => array( 'href' => array(), 'target' => array() ) ) ), + $wp_post_types[ $post_type ]->labels->singular_name, + esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) + ), + 9 => sprintf( + wp_kses( + // Translators: %1$s is listing name, %2$s is schedule time, %3$s is listing link + __( '%1$s scheduled for: %2$s. Preview', 'wpcasa' ), array( 'strong' => array(), 'a'=> array( 'href' => array(), 'target'=> array() ) ) ), + $wp_post_types[ $post_type ]->labels->singular_name, + date_i18n( __( 'M j, Y @ G:i', 'wpcasa' ), strtotime( $post->post_date ) ), + esc_url( get_permalink( $post_ID ) ) + ), + 10 => sprintf( + wp_kses( + // Translators: %1$s is listing name, %2$s is listing link + __( '%1$s draft updated. Preview', 'wpcasa' ), array( 'a' => array( 'href' => array(), 'target' => array() ) ) ), + $wp_post_types[ $post_type ]->labels->singular_name, + esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ), + ) ); return $messages; } @@ -1167,10 +1293,15 @@ public function bulk_updated_messages( $messages ) { $post_type = wpsight_post_type(); $messages[ $post_type ] = array( + // Translators: %s is single/multiple listing name 'updated' => _n( '%s listing updated.', '%s listings updated.', $bulk_counts['updated'], 'wpcasa' ), + // Translators: %s is single/multiple listing name 'locked' => _n( '%s listing not updated, somebody is editing it.', '%s listings not updated, somebody is editing them.', $bulk_counts['locked'], 'wpcasa' ), + // Translators: %s is single/multiple listing name 'deleted' => _n( '%s listing permanently deleted.', '%s listings permanently deleted.', $bulk_counts['deleted'], 'wpcasa' ), + // Translators: %s is single/multiple listing name 'trashed' => _n( '%s listing moved to the Trash.', '%s listings moved to the Trash.', $bulk_counts['trashed'], 'wpcasa' ), + // Translators: %s is single/multiple listing name 'untrashed' => _n( '%s listing restored from the Trash.', '%s listings restored from the Trash.', $bulk_counts['untrashed'], 'wpcasa' ), ); @@ -1228,12 +1359,12 @@ public function parse_query_listing_offers( $query ) { if ( $pagenow == 'edit.php' ) { - if( isset( $_GET['wpsight-offer'] ) && $_GET['wpsight-offer'] != '' && $_GET['wpsight-offer'] != 'not-available' ) { + if( isset( $_GET['wpsight-offer'] ) && sanitize_text_field( $_GET['wpsight-offer'] ) != '' && sanitize_text_field( $_GET['wpsight-offer'] ) != 'not-available' ) { $query->query_vars['meta_key'] = '_price_offer'; $query->query_vars['meta_value'] = sanitize_text_field( $_GET['wpsight-offer'] ); } - if( isset( $_GET['wpsight-offer'] ) && $_GET['wpsight-offer'] == 'not-available' ) { + if( isset( $_GET['wpsight-offer'] ) && sanitize_text_field( $_GET['wpsight-offer'] ) == 'not-available' ) { $query->query_vars['meta_key'] = '_listing_not_available'; $query->query_vars['meta_value'] = '1'; } @@ -1262,14 +1393,14 @@ function restrict_listing_offers() { $offers = wpsight_offers(); ?> get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE meta_value LIKE '%s' + WHERE meta_value LIKE %s AND ( meta_key = '_listing_id' OR meta_key = '_property_id' ) - ", $query->query_vars['s'] ) ); + ", '%' . $query->query_vars['s'] . '%' ) ); if( ! empty( $post_ids_meta ) ) { unset( $query->query_vars['s'] ); $query->query_vars['post__in'] = $post_ids_meta; - do_action( 'parse_request_listing_id' ); } } @@ -1414,14 +1544,13 @@ public function parse_request_listing_id_media( $query ) { $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE meta_value LIKE '%s' + WHERE meta_value LIKE %s AND ( meta_key = '_listing_id' OR meta_key = '_property_id' ) - ", $query->query_vars['s'] ) ); + ", '%' . $query->query_vars['s'] . '%s' ) ); if( ! empty( $post_ids_meta ) ) { unset( $query->query_vars['s'] ); $query->query_vars['post_parent'] = $post_ids_meta[0]; - do_action( 'parse_request_listing_id' ); } } diff --git a/includes/admin/views/option-checkbox.php b/includes/admin/views/option-checkbox.php index c7dd259..3eca497 100644 --- a/includes/admin/views/option-checkbox.php +++ b/includes/admin/views/option-checkbox.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -12,14 +14,14 @@ } $value = wpsight_get_option( $option['id'] ); - if( !isset( $value ) && isset( $option['default'] ) ) $value = $option['default']; + if( is_null( $value ) && isset( $option['default'] ) ) $value = $option['default']; ?> -
+
- /> - + /> +
diff --git a/includes/admin/views/option-heading.php b/includes/admin/views/option-heading.php index 6590cfe..bf01f72 100644 --- a/includes/admin/views/option-heading.php +++ b/includes/admin/views/option-heading.php @@ -1,12 +1,14 @@ -

- +

+ diff --git a/includes/admin/views/option-measurement.php b/includes/admin/views/option-measurement.php index 78fa89d..f28bd47 100644 --- a/includes/admin/views/option-measurement.php +++ b/includes/admin/views/option-measurement.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -19,7 +21,7 @@ ?>
- /> + />
@@ -31,8 +33,8 @@ ?> - /> - + /> + diff --git a/includes/admin/views/option-multicheck.php b/includes/admin/views/option-multicheck.php index 02933ca..e545e26 100644 --- a/includes/admin/views/option-multicheck.php +++ b/includes/admin/views/option-multicheck.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -9,7 +11,7 @@ if( !isset( $value ) && isset( $option['default'] ) ) $value = $option['default']; ?> -
+
- /> - + /> +
diff --git a/includes/admin/views/option-number.php b/includes/admin/views/option-number.php index d55d6a5..6b22e15 100644 --- a/includes/admin/views/option-number.php +++ b/includes/admin/views/option-number.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -17,8 +19,8 @@ $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
- /> +
+ />
diff --git a/includes/admin/views/option-pageheading.php b/includes/admin/views/option-pageheading.php index 33ebbb8..b7c7d94 100644 --- a/includes/admin/views/option-pageheading.php +++ b/includes/admin/views/option-pageheading.php @@ -1,4 +1,6 @@
- + -

- +

+
- +
diff --git a/includes/admin/views/option-pages.php b/includes/admin/views/option-pages.php index 78fa859..e5ddec8 100644 --- a/includes/admin/views/option-pages.php +++ b/includes/admin/views/option-pages.php @@ -1,4 +1,6 @@ 'asc', 'sort_column' => 'post_title', @@ -31,9 +33,9 @@ if( !isset( $value ) && isset( $option['default'] ) ) $value = $option['default']; ?> -
- > + $page ) echo ''; ?> diff --git a/includes/admin/views/option-password.php b/includes/admin/views/option-password.php index d55d6a5..6b22e15 100644 --- a/includes/admin/views/option-password.php +++ b/includes/admin/views/option-password.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -17,8 +19,8 @@ $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
- /> +
+ />
diff --git a/includes/admin/views/option-radio.php b/includes/admin/views/option-radio.php index 655bd73..81330a5 100644 --- a/includes/admin/views/option-radio.php +++ b/includes/admin/views/option-radio.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -18,7 +20,7 @@ $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
+
- /> - + /> + diff --git a/includes/admin/views/option-range.php b/includes/admin/views/option-range.php index f6444de..f7d26e1 100644 --- a/includes/admin/views/option-range.php +++ b/includes/admin/views/option-range.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -21,8 +23,8 @@ $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
- /> +
+ /> 0
diff --git a/includes/admin/views/option-select.php b/includes/admin/views/option-select.php index 52475a1..1722a96 100644 --- a/includes/admin/views/option-select.php +++ b/includes/admin/views/option-select.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -17,8 +19,8 @@ if( !isset( $value ) && isset( $option['default'] ) ) $value = $option['default']; ?> -
- > $name ) echo ''; ?> diff --git a/includes/admin/views/option-text.php b/includes/admin/views/option-text.php index 0315993..7cc2731 100644 --- a/includes/admin/views/option-text.php +++ b/includes/admin/views/option-text.php @@ -1,4 +1,6 @@ settings_name . '[' . $option['id'] . ']' : ''; @@ -12,13 +14,13 @@ } $value = wpsight_get_option( $option['id'] ); - if( !isset( $value ) && isset( $option['default'] ) ) $value = $option['default']; + if( empty( $value ) && isset( $option['default'] ) ) $value = $option['default']; $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
- /> +
+ />
diff --git a/includes/admin/views/option-textarea.php b/includes/admin/views/option-textarea.php index ef58b76..e8b718e 100644 --- a/includes/admin/views/option-textarea.php +++ b/includes/admin/views/option-textarea.php @@ -1,5 +1,7 @@ settings_name . '[' . $option['id'] . ']' : ''; $option_css = sanitize_html_class( $this->settings_name . '_' . $option['id'] ); @@ -17,8 +19,8 @@ $placeholder = isset( $option['placeholder'] ) ? 'placeholder="' . $option['placeholder'] . '"' : ''; ?> -
- +
+
diff --git a/includes/admin/views/page-tools.php b/includes/admin/views/page-tools.php index b3ad375..bd07510 100644 --- a/includes/admin/views/page-tools.php +++ b/includes/admin/views/page-tools.php @@ -1,3 +1,4 @@ +
$message ) { - if ( filter_input( INPUT_GET, $key ) === 'success' ) { + if ( filter_input( INPUT_GET, $key, FILTER_SANITIZE_ENCODED ) === 'success' ) { flush_rewrite_rules(); - echo '

' . $message . '

'; ?> + echo '

' . esc_html( $message ) . '

'; ?> -

- - +

+ -
- +
@@ -57,14 +58,14 @@ - -

+ +

- + @@ -102,15 +103,15 @@ - -

+ +

- + diff --git a/includes/admin/views/panel-account.php b/includes/admin/views/panel-account.php index b95601d..963c953 100644 --- a/includes/admin/views/panel-account.php +++ b/includes/admin/views/panel-account.php @@ -1,8 +1,10 @@ -

+ + +

-

- +

+ -

- +

+ \ No newline at end of file diff --git a/includes/admin/views/panel-addons.php b/includes/admin/views/panel-addons.php index 56fd832..a8de61c 100644 --- a/includes/admin/views/panel-addons.php +++ b/includes/admin/views/panel-addons.php @@ -1,9 +1,11 @@ -

+ + +

- - - + + +
@@ -12,10 +14,10 @@ - - - - + + + + @@ -24,13 +26,13 @@ $p ) { ?> - - + + - - + + @@ -47,7 +49,7 @@ $p ) { if ( strpos( esc_html( $p['Name'] ), 'WPCasa' ) !== false ) { ?> -
  • +
  • @@ -61,24 +63,24 @@
    • - +
    • - +
    • - +
    • - - - + + +
    diff --git a/includes/admin/views/panel-documentation.php b/includes/admin/views/panel-documentation.php index 1cb9f9b..089112c 100644 --- a/includes/admin/views/panel-documentation.php +++ b/includes/admin/views/panel-documentation.php @@ -1,3 +1,5 @@ -

    -

    - \ No newline at end of file + + +

    +

    + \ No newline at end of file diff --git a/includes/admin/views/panel-newsletter.php b/includes/admin/views/panel-newsletter.php index 858a081..f26fc0e 100644 --- a/includes/admin/views/panel-newsletter.php +++ b/includes/admin/views/panel-newsletter.php @@ -1,8 +1,5 @@ - - -

    -

    - + + +

    +

    + \ No newline at end of file diff --git a/includes/admin/views/panel-promo-products.php b/includes/admin/views/panel-promo-products.php index ff4e2f5..f5cea4a 100644 --- a/includes/admin/views/panel-promo-products.php +++ b/includes/admin/views/panel-promo-products.php @@ -1,34 +1,36 @@ -
    + + + + +
    1) echo 'swiper'; ?>> -
    +
    1) echo 'swiper-container'; ?>>
    - $value ) { - - $class = ''; + $value ) { + + if ( ( esc_html( $value['title'] ) != "" ) || ( esc_html( $value['description'] ) != "" ) ) + $class = 'swiper-slide swiper-slide-overlay'; ?> - if ( ( esc_html( $value['title'] ) != "" ) || ( esc_html( $value['description'] ) != "" ) ) - $class = 'swiper-slide swiper-slide-overlay'; ?> + + <?php echo esc_html( $value['title'] ); ?> + + - - -
    - - - -

    - -

    -
    -
    - +
    -
    -
    + 1 ) { ?> +
    +
    -
    +
    +
    diff --git a/includes/admin/views/panel-promo-services.php b/includes/admin/views/panel-promo-services.php index 6c50d12..2586081 100644 --- a/includes/admin/views/panel-promo-services.php +++ b/includes/admin/views/panel-promo-services.php @@ -1,6 +1,8 @@ + +
    - - + +
    \ No newline at end of file diff --git a/includes/admin/views/panel-server-info.php b/includes/admin/views/panel-server-info.php new file mode 100644 index 0000000..953beec --- /dev/null +++ b/includes/admin/views/panel-server-info.php @@ -0,0 +1,43 @@ + + +

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :M
    +
    + + diff --git a/includes/admin/views/panel-support.php b/includes/admin/views/panel-support.php index 90c9c59..9e331cd 100644 --- a/includes/admin/views/panel-support.php +++ b/includes/admin/views/panel-support.php @@ -1,8 +1,10 @@ -

    + -

    +

    + +

    - + - + \ No newline at end of file diff --git a/includes/admin/views/panel-theme.php b/includes/admin/views/panel-theme.php index f43e18b..2f5f017 100644 --- a/includes/admin/views/panel-theme.php +++ b/includes/admin/views/panel-theme.php @@ -1,4 +1,6 @@ -

    + + +

    '; + echo ''; ?>
    @@ -33,35 +35,31 @@

    get( 'Description' ) ); ?>

    - + - + - +
    :: get( 'Author' ) ); ?>
    :: get( 'Version' ) ); ?>
    :: + get( 'Author' ) == 'WPSight' ) { - echo '' . __( 'Yes', 'wpcasa' ) . ''; + if ( $theme->get( 'Author' ) == 'WPSight' || current_theme_supports( 'wpcasa' ) ) { + echo ''; } else { - echo '' . __( 'No', 'wpcasa' ) . ''; + echo ''; } ?> -' . __( 'Yes', 'wpcasa' ) . ''; -// } else { -// echo '' . __( 'No', 'wpcasa' ) . ''; -// } ?>

    - - + +

    diff --git a/includes/admin/views/panels.php b/includes/admin/views/panels.php index a5eb6ab..9cbe8d1 100644 --- a/includes/admin/views/panels.php +++ b/includes/admin/views/panels.php @@ -1,3 +1,5 @@ + +
    @@ -45,11 +47,9 @@
    - -
    - -
    - +
    + +
    @@ -57,10 +57,6 @@
    -
    - -
    - diff --git a/includes/admin/views/settings-form.php b/includes/admin/views/settings-form.php index 29be119..c311c8f 100644 --- a/includes/admin/views/settings-form.php +++ b/includes/admin/views/settings-form.php @@ -1,3 +1,5 @@ + + @@ -10,7 +12,7 @@ foreach ( $settings as $key => $section ) { - echo '
    '; ?> + echo '
    '; ?>
    @@ -29,9 +31,47 @@ $option_type = isset( $option['type'] ) ? $option['type'] : ''; $class = isset( $option['class'] ) ? ' ' . $option['class'] : ''; + $compare_class = ''; + + if ( isset( $option['show_if'] ) ) { + $dependable_option_id = isset( $option['show_if']['id'] ) ? $option['show_if']['id'] : null; + $comparable_value = isset( $option['show_if']['value'] ) ? $option['show_if']['value'] : null; + $comparision_operator = isset( $option['show_if']['compare'] ) ? $option['show_if']['compare'] : '=='; + + if ( $dependable_option_id ) { + $dependable_option_value = wpsight_get_option( $dependable_option_id ); + if ( ! empty( $comparision_operator ) ) { + switch ( $comparision_operator ) { + case '==' : + $compare_result = $comparable_value == $dependable_option_value; + $compare_class = $compare_result ? '' : 'hidden'; + ?> + + - + - -

    + +

    -
    +
    diff --git a/includes/admin/views/settings.php b/includes/admin/views/settings.php index 8070ca2..9221b34 100644 --- a/includes/admin/views/settings.php +++ b/includes/admin/views/settings.php @@ -1,6 +1,8 @@ + +

    ' . __( 'Settings saved.', 'wpcasa' ) . '

    '; + echo '

    ' . esc_html__( 'Settings saved.', 'wpcasa' ) . '

    '; } ?> diff --git a/includes/admin/views/sidebar.php b/includes/admin/views/sidebar.php index 8ac5762..4cedba7 100644 --- a/includes/admin/views/sidebar.php +++ b/includes/admin/views/sidebar.php @@ -1,18 +1,20 @@ + +
    \ No newline at end of file diff --git a/includes/class-wpsight-agents.php b/includes/class-wpsight-agents.php index ae4b825..f03296c 100644 --- a/includes/class-wpsight-agents.php +++ b/includes/class-wpsight-agents.php @@ -146,11 +146,18 @@ public static function get_listing_agent_image( $post = null, $size = array( 75, // Get attachment ID $attachment_id = wpsight_get_attachment_id_by_url( $agent_image_url ); - // Get attachment URL for specific size - $attachment = wp_get_attachment_image_src( $attachment_id, $size ); + if ( $attachment_id ) { - // Build HTML image tag - $agent_image = '' . wpsight_get_listing_agent_name( $post ) . ''; + $attachment = wp_get_attachment_image_src( $attachment_id, $size ); + + // Build HTML image tag + $agent_image = '' . wpsight_get_listing_agent_name( $post ) . ''; + } else { + // Build HTML image tag + $agent_image = '' . wpsight_get_listing_agent_name( $post ) . ''; + } + + // Get attachment URL for specific size } @@ -769,7 +776,7 @@ public static function get_user_posts_by_type( $user_id = false, $post_type = 'p $query = "SELECT ID FROM $wpdb->posts $where"; // Get post IDs - $post_ids = $wpdb->get_col( $query ); + $post_ids = $wpdb->get_col( $wpdb->prepare( "%s", $query ) ); return apply_filters( 'wpsight_get_user_posts_by_type', $post_ids, $user_id ); diff --git a/includes/class-wpsight-general.php b/includes/class-wpsight-general.php index e91107c..a240da0 100644 --- a/includes/class-wpsight-general.php +++ b/includes/class-wpsight-general.php @@ -165,7 +165,7 @@ public static function check_standard_details( $standard_details ) { foreach ( $standard_details as $detail => $value ) { - $standard_details_option = (array) wpsight_get_option( $detail ); + $standard_details_option = (array) wpsight_get_option( $detail, $value ); if ( ! empty( $standard_details_option ) ) { $standard_details[ $detail ]['label'] = $standard_details_option['label']; @@ -534,6 +534,7 @@ public static function statuses() { 'exclude_from_search' => true, 'show_in_admin_all_list' => false, 'show_in_admin_status_list' => false, + // Translators: %s is listing name 'label_count' => _n_noop( 'Preview (%s)', 'Preview (%s)', 'wpcasa' ) ), 'pending_payment' => array( @@ -543,6 +544,7 @@ public static function statuses() { 'exclude_from_search' => true, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, + // Translators: %s is listing name which payment is pending 'label_count' => _n_noop( 'Pending Payment (%s)', 'Pending Payment (%s)', 'wpcasa' ) ), 'trash' => array( @@ -809,7 +811,7 @@ public static function get_currency( $currency = '' ) { * @since 1.0.0 */ public static function currency( $currency = '' ) { - echo wpsight_get_currency( $currency ); + echo esc_html( wpsight_get_currency( $currency ) ); } /** diff --git a/includes/class-wpsight-geocode.php b/includes/class-wpsight-geocode.php index 5d8c1fb..12977bd 100644 --- a/includes/class-wpsight-geocode.php +++ b/includes/class-wpsight-geocode.php @@ -191,13 +191,13 @@ public static function get_location_data( $raw_address ) { $transient_name = 'geocode_' . md5( $raw_address ); $geocoded_address = get_transient( $transient_name ); - $jm_geocode_over_query_limit = get_transient( 'jm_geocode_over_query_limit' ); + $wpsight_geocode_over_query_limit = get_transient( 'wpsight_geocode_over_query_limit' ); $api_key = wpsight_get_option( 'google_maps_api_key' ); // Query limit reached - don't geocode for a while - if ( ! $api_key && $jm_geocode_over_query_limit && false === $geocoded_address ) + if ( ! $api_key && $wpsight_geocode_over_query_limit && false === $geocoded_address ) return false; try { @@ -237,7 +237,7 @@ public static function get_location_data( $raw_address ) { break; case 'OVER_QUERY_LIMIT' : - set_transient( 'jm_geocode_over_query_limit', 1, HOUR_IN_SECONDS ); + set_transient( 'wpsight_geocode_over_query_limit', 1, HOUR_IN_SECONDS ); throw new Exception( __( "Query limit reached", 'wpcasa' ) ); break; diff --git a/includes/class-wpsight-helpers.php b/includes/class-wpsight-helpers.php index e8b188d..c8d9964 100644 --- a/includes/class-wpsight-helpers.php +++ b/includes/class-wpsight-helpers.php @@ -548,7 +548,7 @@ public static function generate_css( $selector, $style, $mod_name, $prefix = '', $output = "\n\t" . sprintf( '%s { %s:%s; }', $selector, $style, $prefix . $mod . $postfix ) . "\n"; if ( $echo ) - echo $output; + echo esc_attr( $output ); } return $output; @@ -722,7 +722,7 @@ public static function get_the_term_list_links( $taxonomy, $data, $term_before = public static function get_attachment_id_by_url( $url ) { global $wpdb; - $attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid='%s';", $url ) ); + $attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid=%s;", $url ) ); return isset( $attachment[0] ) ? $attachment[0] : false; @@ -744,7 +744,7 @@ public static function get_attachment_id_by_url( $url ) { public static function get_attachment_by_url( $url, $size = 'thumbnail' ) { global $wpdb; - $attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid='%s';", $url ) ); + $attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid=%s;", $url ) ); $image = wp_get_attachment_image_src( $attachment[0], $size ); diff --git a/includes/class-wpsight-listings.php b/includes/class-wpsight-listings.php index e92b80d..ba03510 100644 --- a/includes/class-wpsight-listings.php +++ b/includes/class-wpsight-listings.php @@ -1,1560 +1,1547 @@ have_posts() ) { - - // Get template before loop - wpsight_get_template( 'listings-before.php', $args, $template_path ); - - // Loop through listings - - while ( $wpsight_query->have_posts() ) { - - // Setup listing data - $wpsight_query->the_post(); - - // Get listing loop template - wpsight_get_template( 'listing-archive.php', $args, $template_path ); - - } - - // Get template after loop - wpsight_get_template( 'listings-after.php', $args, $template_path ); - - } else { - - // Get template for no listings - wpsight_get_template( 'listings-no.php', $args, $template_path ); - - } - - wp_reset_query(); - - } - - /** - * get_listings() - * - * Return listings WP_Query - * - * @param array $args Array of query arguments - * @uses get_query_var() - * @uses wpsight_listing_query_vars() - * @uses wp_parse_args() - * @uses wpsight_post_type() - * @uses is_user_logged_in() - * @uses wpsight_details() - * @uses wpsight_get_query_var_by_detail() - * @uses wpsight_taxonomies() - * @uses wpsight_get_search_field() - * @return object $result WP_Query object - * - * @since 1.0.0 - */ - public static function get_listings( $args = array() ) { - global $wpdb; - - $defaults = array( - 'p' => '', - 'post__in' => '', - 'offset' => '', - 'post_status' => '', - 'posts_per_page' => get_query_var( 'nr' ) ? get_query_var( 'nr' ) : get_option( 'posts_per_page' ), - 'orderby' => get_query_var( 'orderby' ) ? get_query_var( 'orderby' ) : 'date', - 'order' => get_query_var( 'order' ) ? get_query_var( 'order' ) : 'DESC', - 'author' => '', - 'tax_query' => array(), - 'meta_query' => array(), - 'ignore_sticky_posts' => 1, - 'show_panel' => true, - 'show_paging' => true - ); - - // Add custom vars to $defaults - $defaults = array_merge( $defaults, wpsight_listing_query_vars() ); - - // Get args from WP_Query object - - if ( is_object( $args ) && isset( $args->query_vars ) ) - $args = $args->query_vars; - - // Merge $defaults with $args - $args = wp_parse_args( $args, $defaults ); - - // Make sure paging works - - if ( get_query_var( 'paged' ) ) { - $paged = get_query_var( 'paged' ); - } elseif ( get_query_var( 'page' ) ) { - $paged = get_query_var( 'page' ); - } else { - $paged = 1; - } - - if ( isset( $args['paged'] ) ) - $paged = absint( $args['paged'] ); - - if( false === $args['show_paging'] ) - $paged = 1; + /** + * listings() + * + * Output formatted listing query + * + * @param array $args Array of query arguments + * @param string $template_path Template path for wpsight_get_template() + * @uses wpsight_get_listings() + * @uses wpsight_get_template() + * @uses wpsight_get_template_part() + * @uses wp_reset_query() + * + * @since 1.0.0 + */ + public static function listings( $args = array(), $template_path = '' ) { + global $wpsight_query; + + // Get listings query + $wpsight_query = wpsight_get_listings( $args ); + + if ( $wpsight_query->have_posts() ) { + + // Get template before loop + wpsight_get_template( 'listings-before.php', $args, $template_path ); + + // Loop through listings + + while ( $wpsight_query->have_posts() ) { + + // Setup listing data + $wpsight_query->the_post(); + + // Get listing loop template + wpsight_get_template( 'listing-archive.php', $args, $template_path ); + + } + + // Get template after loop + wpsight_get_template( 'listings-after.php', $args, $template_path ); + + } else { + + // Get template for no listings + wpsight_get_template( 'listings-no.php', $args, $template_path ); + + } + + wp_reset_query(); + + } + + /** + * get_listings() + * + * Return listings WP_Query + * + * @param array $args Array of query arguments + * @uses get_query_var() + * @uses wpsight_listing_query_vars() + * @uses wp_parse_args() + * @uses wpsight_post_type() + * @uses is_user_logged_in() + * @uses wpsight_details() + * @uses wpsight_get_query_var_by_detail() + * @uses wpsight_taxonomies() + * @uses wpsight_get_search_field() + * @return object $result WP_Query object + * + * @since 1.0.0 + */ + public static function get_listings( $args = array() ) { + global $wpdb; + + $defaults = array( + 'p' => '', + 'post__in' => '', + 'offset' => '', + 'post_status' => '', + 'posts_per_page' => get_query_var( 'nr' ) ? get_query_var( 'nr' ) : get_option( 'posts_per_page' ), + 'orderby' => get_query_var( 'orderby' ) ? get_query_var( 'orderby' ) : 'date', + 'order' => get_query_var( 'order' ) ? get_query_var( 'order' ) : 'DESC', + 'author' => '', + 'tax_query' => array(), + 'meta_query' => array(), + 'ignore_sticky_posts' => 1, + 'show_panel' => true, + 'show_paging' => true + ); - // Make sure nr arg works too - if ( ! empty( $args['nr'] ) ) - $args['posts_per_page'] = intval( $args['nr'] ); - - // Make sure offset is intval or empty - $args['offset'] = ! empty( $args['offset'] ) ? absint( $args['offset'] ) : ''; - - $query_args = array( - 'p' => absint( $args['p'] ), - 'post__in' => $args['post__in'], - 'post_type' => wpsight_post_type(), - 'ignore_sticky_posts' => $args['ignore_sticky_posts'], - 'offset' => $args['offset'], - 'posts_per_page' => intval( $args['posts_per_page'] ), - 'orderby' => $args['orderby'], - 'order' => $args['order'], - 'tax_query' => $args['tax_query'], - 'meta_query' => $args['meta_query'], - 'paged' => $paged, - 'author' => $args['author'], - 'post_status' => $args['post_status'] - ); - - // Set post_status - - if ( empty( $args['post_status'] ) || ! is_user_logged_in() ) { - - // When emtpy or unlogged user, set publish - - $query_args['post_status'] = 'publish'; - - } else { - - $query_args['post_status'] = $args['post_status']; - - // When comma-separated, explode to array - - if ( ! is_array( $args['post_status'] ) && strpos( $args['post_status'], ',' ) ) - $query_args['post_status'] = explode( ',', $args['post_status'] ); - - } - - // Check if orderby price - - if ( $args['orderby'] == 'price' ) { - $query_args['meta_query']['price'] = array( - 'key' => '_price', - 'type' => 'numeric', - 'compare' => 'EXISTS' - ); - $query_args['orderby'] = array( 'price' => $query_args['order'] ); - - } - - // Set meta query for offer (sale, rent) - - if ( ! empty( $args['offer'] ) ) { - - if ( ! array( $args['offer'] ) && strpos( $args['offer'], ',' ) ) - $args['offer'] = explode( ',', $args['offer'] ); - - if ( is_array( $args['offer'] ) ) { + // Add custom vars to $defaults + $defaults = array_merge( $defaults, wpsight_listing_query_vars() ); + + // Get args from WP_Query object - $query_args['meta_query']['offer'] = array( - 'key' => '_price_offer', - 'value' => $args['offer'], - 'compare' => 'IN' - ); + if ( is_object( $args ) && isset( $args->query_vars ) ) + $args = $args->query_vars; - } else { + // Merge $defaults with $args + $args = wp_parse_args( $args, $defaults ); - $query_args['meta_query']['offer'] = array( - 'key' => '_price_offer', - 'value' => $args['offer'], - 'compare' => '=' - ); + // Make sure paging works - } + if ( get_query_var( 'paged' ) ) { + $paged = get_query_var( 'paged' ); + } elseif ( get_query_var( 'page' ) ) { + $paged = get_query_var( 'page' ); + } else { + $paged = 1; + } - } - - // Set meta query for availability - - if ( ! empty( $args['availability'] ) && $args['availability'] != 'all' ) { - - if( $args['availability'] == 'unavailable' ) - $args['availability'] = 1; - elseif( $args['availability'] == 'available' ) - $args['availability'] = 0; - - $query_args['meta_query']['availability'] = array( - 'key' => '_listing_not_available', - 'value' => $args['availability'], - 'compare' => '=' - ); - - } - - // Set meta query for min (minimum price) + if ( isset( $args['paged'] ) ) + $paged = absint( $args['paged'] ); + + if( false === $args['show_paging'] ) + $paged = 1; + + // Make sure nr arg works too + if ( ! empty( $args['nr'] ) ) + $args['posts_per_page'] = intval( $args['nr'] ); + + // Make sure offset is intval or empty + $args['offset'] = ! empty( $args['offset'] ) ? absint( $args['offset'] ) : ''; + + $query_args = array( + 'p' => absint( $args['p'] ), + 'post__in' => $args['post__in'], + 'post_type' => wpsight_post_type(), + 'ignore_sticky_posts' => $args['ignore_sticky_posts'], + 'offset' => $args['offset'], + 'posts_per_page' => intval( $args['posts_per_page'] ), + 'orderby' => $args['orderby'], + 'order' => $args['order'], + 'tax_query' => $args['tax_query'], + 'meta_query' => $args['meta_query'], + 'paged' => $paged, + 'author' => $args['author'], + 'post_status' => $args['post_status'] + ); + + // Set post_status + + if ( empty( $args['post_status'] ) || ! is_user_logged_in() ) { + + // When emtpy or unlogged user, set publish + + $query_args['post_status'] = 'publish'; + + } else { + + $query_args['post_status'] = $args['post_status']; + + // When comma-separated, explode to array + + if ( ! is_array( $args['post_status'] ) && strpos( $args['post_status'], ',' ) ) + $query_args['post_status'] = explode( ',', $args['post_status'] ); + + } + + // Check if orderby price + + if ( $args['orderby'] == 'price' ) { + $query_args['meta_query']['price'] = array( + 'key' => '_price', + 'type' => 'numeric', + 'compare' => 'EXISTS' + ); + $query_args['orderby'] = array( 'price' => $query_args['order'] ); + + } + + // Set meta query for offer (sale, rent) + + if ( ! empty( $args['offer'] ) ) { + + if ( ! array( $args['offer'] ) && strpos( $args['offer'], ',' ) ) + $args['offer'] = explode( ',', $args['offer'] ); - if ( ! empty( $args['min'] ) ) { + if ( is_array( $args['offer'] ) ) { - $query_args['meta_query']['min'] = array( - 'key' => '_price', - 'value' => preg_replace( '/\D/', '', $args['min'] ), - 'compare' => '>=', - 'type' => 'numeric' - ); + $query_args['meta_query']['offer'] = array( + 'key' => '_price_offer', + 'value' => $args['offer'], + 'compare' => 'IN' + ); - } + } else { - // Set meta query for max (maximum price) + $query_args['meta_query']['offer'] = array( + 'key' => '_price_offer', + 'value' => $args['offer'], + 'compare' => '=' + ); - if ( ! empty( $args['max'] ) ) { + } - $query_args['meta_query']['max'] = array( - 'key' => '_price', - 'value' => preg_replace( '/\D/', '', $args['max'] ), - 'compare' => '<=', - 'type' => 'numeric' - ); + } - } + // Set meta query for availability + + if ( ! empty( $args['availability'] ) && $args['availability'] != 'all' ) { - // Set meta queries for listing details + if( $args['availability'] == 'unavailable' ) + $args['availability'] = 1; + elseif( $args['availability'] == 'available' ) + $args['availability'] = 0; - foreach ( wpsight_details() as $k => $v ) { + $query_args['meta_query']['availability'] = array( + 'key' => '_listing_not_available', + 'value' => $args['availability'], + 'compare' => '=' + ); - $detail_var = wpsight_get_query_var_by_detail( $k ); + } - if ( ! empty( $args[$detail_var] ) ) { + // Set meta query for min (minimum price) - $compare = $v['data_compare']; + if ( ! empty( $args['min'] ) ) { - if ( strpos( $args[$detail_var], ',' ) ) { - $args[$detail_var] = explode( ',', $args[$detail_var] ); - $compare = 'IN'; - } elseif ( strpos( $args[$detail_var], '|' ) ) { - $args[$detail_var] = explode( '|', $args[$detail_var] ); - $compare = 'AND'; - } + $query_args['meta_query']['min'] = array( + 'key' => '_price', + 'value' => preg_replace( '/\D/', '', $args['min'] ), + 'compare' => '>=', + 'type' => 'numeric' + ); - $query_args['meta_query'][$detail_var] = array( - 'key' => '_' . $v['id'], - 'value' => $args[$detail_var], - 'compare' => $compare, - 'type' => $v['data_type'] - ); + } - } + // Set meta query for max (maximum price) - } + if ( ! empty( $args['max'] ) ) { - // Remove meta_query if empty + $query_args['meta_query']['max'] = array( + 'key' => '_price', + 'value' => preg_replace( '/\D/', '', $args['max'] ), + 'compare' => '<=', + 'type' => 'numeric' + ); - if ( empty( $query_args['meta_query'] ) ) - unset( $query_args['meta_query'] ); + } - // Set tax query for listing taxonomies + // Set meta queries for listing details - foreach ( wpsight_taxonomies( 'names' ) as $k ) { + foreach ( wpsight_details() as $k => $v ) { - if ( ! empty( $args[$k] ) ) { + $detail_var = wpsight_get_query_var_by_detail( $k ); - // Set operator - $operator = 'IN'; + if ( ! empty( $args[$detail_var] ) ) { - // Get search field - $search_field = wpsight_get_search_field( $k ); + $compare = $v['data_compare']; - // Get search field operator - $search_field_operator = isset( $search_field['data']['operator'] ) ? $search_field['data']['operator'] : false; + if ( strpos( $args[$detail_var], ',' ) ) { + $args[$detail_var] = explode( ',', $args[$detail_var] ); + $compare = 'IN'; + } elseif ( strpos( $args[$detail_var], '|' ) ) { + $args[$detail_var] = explode( '|', $args[$detail_var] ); + $compare = 'AND'; + } - if ( $search_field_operator == 'AND' ) - $operator = 'AND'; + $query_args['meta_query'][$detail_var] = array( + 'key' => '_' . $v['id'], + 'value' => $args[$detail_var], + 'compare' => $compare, + 'type' => $v['data_type'] + ); - // If multiple $_GET terms, implode comma + } - if ( is_array( $args[$k] ) ) - $args[$k] = implode( ',', $args[$k] ); + } - // Check URL for multiple terms + // Remove meta_query if empty - if ( strpos( $args[$k], ',' ) ) { - $args[$k] = explode( ',', $args[$k] ); - } elseif ( strpos( $args[$k], '|' ) ) { - $args[$k] = explode( '|', $args[$k] ); - $operator = 'AND'; - } + if ( empty( $query_args['meta_query'] ) ) + unset( $query_args['meta_query'] ); - if ( ! empty( $args[$k] ) ) { + // Set tax query for listing taxonomies - $query_args['tax_query'][$k] = array( - 'taxonomy' => $k, - 'field' => 'slug', - 'terms' => $args[$k], - 'operator' => $operator - ); + foreach ( wpsight_taxonomies( 'names' ) as $k ) { - } + if ( ! empty( $args[$k] ) ) { - } + // Set operator + $operator = 'IN'; - } + // Get search field + $search_field = wpsight_get_search_field( $k ); - // Remove tax_query if empty + // Get search field operator + $search_field_operator = isset( $search_field['data']['operator'] ) ? $search_field['data']['operator'] : false; - if ( empty( $query_args['tax_query'] ) ) - unset( $query_args['tax_query'] ); + if ( $search_field_operator == 'AND' ) + $operator = 'AND'; - // Set post__in for keyword search + // If multiple $_GET terms, implode comma - if ( $args['keyword'] ) { + if ( is_array( $args[$k] ) ) + $args[$k] = implode( ',', $args[$k] ); - // Trim and explode keywords - $keywords = array_map( 'trim', explode( ',', $args['keyword'] ) ); + // Check URL for multiple terms - // Setup SQL + if ( strpos( $args[$k], ',' ) ) { + $args[$k] = explode( ',', $args[$k] ); + } elseif ( strpos( $args[$k], '|' ) ) { + $args[$k] = explode( '|', $args[$k] ); + $operator = 'AND'; + } - $posts_keywords_sql = array(); - $postmeta_keywords_sql = array(); + if ( ! empty( $args[$k] ) ) { - // Loop through keywords and create SQL snippets + $query_args['tax_query'][$k] = array( + 'taxonomy' => $k, + 'field' => 'slug', + 'terms' => $args[$k], + 'operator' => $operator + ); - foreach ( $keywords as $keyword ) { + } - // Create post meta SQL - $postmeta_keywords_sql[] = " meta_value LIKE '%" . esc_sql( $keyword ) . "%' "; + } - // Create post title and content SQL - $posts_keywords_sql[] = " post_title LIKE '%" . esc_sql( $keyword ) . "%' OR post_content LIKE '%" . esc_sql( $keyword ) . "%' "; + } - } + // Remove tax_query if empty - // Get post IDs from post meta search + if ( empty( $query_args['tax_query'] ) ) + unset( $query_args['tax_query'] ); - $post_ids = $wpdb->get_col( " - SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE " . implode( ' OR ', $postmeta_keywords_sql ) . " - " ); + // Set post__in for keyword search - // Merge with post IDs from post title and content search + if ( $args['keyword'] ) { - $post_ids = array_merge( $post_ids, $wpdb->get_col( " - SELECT ID FROM {$wpdb->posts} - WHERE ( " . implode( ' OR ', $posts_keywords_sql ) . " ) - AND post_type = '" . esc_sql( wpsight_post_type() ) . "' - AND post_status = '" . esc_sql( $query_args['post_status'] ) . "' - " ), array( 0 ) ); + // Trim and explode keywords + $keywords = array_map( 'trim', explode( ',', $args['keyword'] ) ); - /* array( 0 ) is set to return no result when no keyword was found */ + // Prepare keywords for REGEXP search + $keywords = implode( '|', array_map( 'sanitize_text_field', $keywords ) ); - } + // Get post IDs from post meta search + $post_ids = $wpdb->get_col( $wpdb->prepare('SELECT DISTINCT post_id FROM %i WHERE meta_value REGEXP %s', $wpdb->postmeta, $keywords ) ); - // Set post__in with post IDs + // Merge with post IDs from post title and content search + $post_ids = array_unique( + array_merge( $post_ids, + $wpdb->get_col( + $wpdb->prepare( 'SELECT ID FROM %i WHERE ( post_title REGEXP %s OR post_content REGEXP %s ) AND post_type = %s AND post_status = %s', + $wpdb->posts, + $keywords, + $keywords, + esc_sql( wpsight_post_type() ), + esc_sql( $query_args[ 'post_status' ] ) + ) ), array( 0 ) ) + /* array( 0 ) is added to return no result when no keyword was found */ + ); - if ( ! empty( $post_ids ) ) - $query_args['post__in'] = $post_ids; + } - // Set post__not_in for unavailable (sold, rented etc.) listings + // Check filter to exclude unavailable listings from listings list + if ( apply_filters('wpsight_exclude_unavailable', false ) ) { - $exclude_unavailable = $wpdb->get_col( $wpdb->prepare( " + // Set post__not_in for unavailable (sold, rented etc.) listings + $exclude_unavailable = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE ( meta_key = '%s' OR meta_key = '%s' ) - AND ( meta_value = '%s' OR meta_value = '%s' ) + WHERE ( meta_key = %s OR meta_key = %s ) + AND ( meta_value = %s OR meta_value = %s ) ", '_price_sold_rented', '_listing_not_available', '1', 'on' ) ); - if ( ! empty( $exclude_unavailable ) && apply_filters( 'wpsight_exclude_unavailable', false ) == true ) - $query_args['post__not_in'] = $exclude_unavailable; + if( ! empty( $exclude_unavailable ) ) { + + // remove exclude posts from post ids list + $post_ids = array_diff( $post_ids, $exclude_unavailable ); + + } - // Remove tax_query if empty + } - if ( empty( $query_args['post__not_in'] ) ) - unset( $query_args['post__not_in'] ); + // Set post__in with post IDs + if ( ! empty( $post_ids ) ) + $query_args['post__in'] = $post_ids; - // Filter args - $query_args = apply_filters( 'wpsight_get_listings_query_args', $query_args, $args ); + // Filter args + $query_args = apply_filters( 'wpsight_get_listings_query_args', $query_args, $args ); - do_action( 'wpsight_get_listings_before', $query_args, $args ); + do_action( 'wpsight_get_listings_before', $query_args, $args ); - $result = new WP_Query( $query_args ); + $result = new WP_Query( $query_args ); - do_action( 'wpsight_get_listings_after', $query_args, $args ); + do_action( 'wpsight_get_listings_after', $query_args, $args ); - // Reset query - wp_reset_query(); + // Reset query + wp_reset_query(); - return apply_filters( 'wpsight_get_listings', $result, $query_args, $args ); + return apply_filters( 'wpsight_get_listings', $result, $query_args, $args ); - } + } - /** - * listing() - * - * Output formatted single listing or - * archive teaser if $full is (bool) false. - * - * @param integer|object $listing_id Post or listing ID or WP_Post object - * @param bool $full Set true to show entire listing or false to show archive teaser - * @uses wpsight_get_listing() - * @uses setup_postdata() - * @uses wpsight_get_template() - * @uses wpsight_get_template_part() - * @uses wp_reset_postdata() - * - * @since 1.0.0 - */ - public static function listing( $listing_id = null, $full = true ) { - global $listing; - - // check for single listing output + /** + * listing() + * + * Output formatted single listing or + * archive teaser if $full is (bool) false. + * + * @param integer|object $listing_id Post or listing ID or WP_Post object + * @param bool $full Set true to show entire listing or false to show archive teaser + * @uses wpsight_get_listing() + * @uses setup_postdata() + * @uses wpsight_get_template() + * @uses wpsight_get_template_part() + * @uses wp_reset_postdata() + * + * @since 1.0.0 + */ + public static function listing( $listing_id = null, $full = true ) { + global $listing; + + // check for single listing output if ( apply_filters('wpsight_listing_single_output', true) != true ) - return; - - $listing = wpsight_get_listing( $listing_id ); - - // Show listing if found - if ( $listing ) { - - // Set up post data for required listing - setup_postdata( $GLOBALS['post'] =& $listing ); - - if ( $full === true ) { - - // Get template before single - wpsight_get_template( 'listing-single-before.php' ); - - // Get listing single template - wpsight_get_template_part( 'listing', 'single' ); - - // Get template after single - wpsight_get_template( 'listing-single-after.php' ); - - } else { - - // Get listing archive template - wpsight_get_template_part( 'listing', 'archive' ); - } - - // Reset post data - wp_reset_postdata(); - - } else { - // Get template for no listings - wpsight_get_template_part( 'listing', 'no' ); - } - - } - - /** - * listing_teaser() - * - * Output formatted single listing teaser. - * - * @param integer|object $listing_id Post or listing ID or WP_Post object - * @uses wpsight_get_listing() - * @uses setup_postdata() - * @uses wpsight_get_template() - * @uses wpsight_get_template_part() - * @uses wp_reset_postdata() - * - * @since 1.0.0 - */ - public static function listing_teaser( $listing_id = null ) { - global $listing; - - $listing = wpsight_get_listing( $listing_id ); - - // Show listing if found - if ( $listing ) { - - // Set up post data for required listing - setup_postdata( $GLOBALS['post'] =& $listing ); - - // Get listing teaser template - wpsight_get_template_part( 'listing', 'teaser' ); - - // Reset post data - wp_reset_postdata(); - - } else { - // Get template for no listings - wpsight_get_template_part( 'listing', 'no' ); - } - - } - - /** - * listing_teasers() - * - * Output list of listing teasers. - * - * @param array $args Array of query arguments - * @param string $template_path Template path for wpsight_get_template() - * @uses get_query_var() - * @uses wpsight_get_listings() - * @uses wpsight_get_template() - * @uses wpsight_listing_teaser() - * @uses wp_reset_query() - * - * @since 1.0.0 - */ - public static function listing_teasers( $args = array(), $template_path = '' ) { - global $wpsight_query; - - // Make sure paging works - - if ( get_query_var( 'paged' ) ) { - $paged = get_query_var( 'paged' ); - } elseif ( get_query_var( 'page' ) ) { - $paged = get_query_var( 'page' ); - } else { - $paged = 1; - } - - if( false === $args['show_paging'] ) - $paged = 1; - - // Make sure other listing queries don't set paged - $args = array_merge( array( 'paged' => $paged ), $args ); - - // Get listings query - $wpsight_query = wpsight_get_listings( $args ); - - if ( $wpsight_query->have_posts() ) { - - // Get template before loop - wpsight_get_template( 'listing-teasers-before.php', $args, $template_path ); - - // Loop through listings - - while ( $wpsight_query->have_posts() ) { - - // Setup listing data - $wpsight_query->the_post(); - - // Get listing teaser loop template - wpsight_get_template( 'listing-teaser.php', $args, $template_path ); - - } - - // Get template after loop - wpsight_get_template( 'listing-teasers-after.php', $args, $template_path ); - - } else { - // Get template for no listings - wpsight_get_template( 'listings-no.php', $args, $template_path ); - } - - // Reset query - wp_reset_query(); - - } - - /** - * get_listing() - * - * Return single listing post object. - * - * @param string|object $post Post or listing ID or WP_Post object - * @uses wpsight_post_type() - * @uses get_post() - * @uses wp_reset_query() - * @return object WP_Post object - * - * @since 1.0.0 - */ - public static function get_listing( $post = null ) { - global $wpdb; - - if ( ! is_object( $post ) ) { - - // Search custom fields for listing ID - - $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " + return; + + $listing = wpsight_get_listing( $listing_id ); + + // Show listing if found + if ( $listing ) { + + // Set up post data for required listing + setup_postdata( $GLOBALS['post'] =& $listing ); + + if ( $full === true ) { + + // Get template before single + wpsight_get_template( 'listing-single-before.php' ); + + // Get listing single template + wpsight_get_template_part( 'listing', 'single' ); + + // Get template after single + wpsight_get_template( 'listing-single-after.php' ); + + } else { + + // Get listing archive template + wpsight_get_template_part( 'listing', 'archive' ); + } + + // Reset post data + wp_reset_postdata(); + + } else { + // Get template for no listings + wpsight_get_template_part( 'listing', 'no' ); + } + + } + + /** + * listing_teaser() + * + * Output formatted single listing teaser. + * + * @param integer|object $listing_id Post or listing ID or WP_Post object + * @uses wpsight_get_listing() + * @uses setup_postdata() + * @uses wpsight_get_template() + * @uses wpsight_get_template_part() + * @uses wp_reset_postdata() + * + * @since 1.0.0 + */ + public static function listing_teaser( $listing_id = null ) { + global $listing; + + $listing = wpsight_get_listing( $listing_id ); + + // Show listing if found + if ( $listing ) { + + // Set up post data for required listing + setup_postdata( $GLOBALS['post'] =& $listing ); + + // Get listing teaser template + wpsight_get_template_part( 'listing', 'teaser' ); + + // Reset post data + wp_reset_postdata(); + + } else { + // Get template for no listings + wpsight_get_template_part( 'listing', 'no' ); + } + + } + + /** + * listing_teasers() + * + * Output list of listing teasers. + * + * @param array $args Array of query arguments + * @param string $template_path Template path for wpsight_get_template() + * @uses get_query_var() + * @uses wpsight_get_listings() + * @uses wpsight_get_template() + * @uses wpsight_listing_teaser() + * @uses wp_reset_query() + * + * @since 1.0.0 + */ + public static function listing_teasers( $args = array(), $template_path = '' ) { + global $wpsight_query; + + // Make sure paging works + + if ( get_query_var( 'paged' ) ) { + $paged = get_query_var( 'paged' ); + } elseif ( get_query_var( 'page' ) ) { + $paged = get_query_var( 'page' ); + } else { + $paged = 1; + } + + if( false === $args['show_paging'] ) + $paged = 1; + + // Make sure other listing queries don't set paged + $args = array_merge( array( 'paged' => $paged ), $args ); + + // Get listings query + $wpsight_query = wpsight_get_listings( $args ); + + if ( $wpsight_query->have_posts() ) { + + // Get template before loop + wpsight_get_template( 'listing-teasers-before.php', $args, $template_path ); + + // Loop through listings + + while ( $wpsight_query->have_posts() ) { + + // Setup listing data + $wpsight_query->the_post(); + + // Get listing teaser loop template + wpsight_get_template( 'listing-teaser.php', $args, $template_path ); + + } + + // Get template after loop + wpsight_get_template( 'listing-teasers-after.php', $args, $template_path ); + + } else { + // Get template for no listings + wpsight_get_template( 'listings-no.php', $args, $template_path ); + } + + // Reset query + wp_reset_query(); + + } + + /** + * get_listing() + * + * Return single listing post object. + * + * @param string|object $post Post or listing ID or WP_Post object + * @uses wpsight_post_type() + * @uses get_post() + * @uses wp_reset_query() + * @return object WP_Post object + * + * @since 1.0.0 + */ + public static function get_listing( $post = null ) { + global $wpdb; + + if ( ! is_object( $post ) ) { + + // Search custom fields for listing ID + + $post_ids_meta = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT post_id FROM {$wpdb->postmeta} - WHERE meta_value LIKE '%s' + WHERE meta_value LIKE %s AND ( meta_key = '_listing_id' OR meta_key = '_property_id' ) ", $post ) ); - if ( ! empty( $post_ids_meta ) ) { + if ( ! empty( $post_ids_meta ) ) { + + $query = new WP_Query( array( 'post_type' => wpsight_post_type(), 'post__in' => $post_ids_meta ) ); + + $post = $query->posts[0]; + + wp_reset_query(); + + } else { + + $post = get_post( absint( $post ) ); + + if ( get_post_type( $post ) != wpsight_post_type() ) + $post = false; + + } + + } + + return apply_filters( 'wpsight_get_listing', $post ); + + } + + /** + * get_listing_price_raw() + * + * Return listings price without formatting. + * + * @param integer $post_id Post ID + * @uses get_the_ID() + * @uses get_post_meta() + * @return string Listing price meta value + * + * @since 1.0.0 + */ + public static function get_listing_price_raw( $post_id = '' ) { + + // Use global post ID if not defined + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Get listing price + $price_raw = get_post_meta( $post_id, '_price', true ); + + if ( empty( $price_raw ) ) + $price_raw = false; + + // Return listing price + return apply_filters( 'get_listing_price_raw', $price_raw, $post_id ); + + } - $query = new WP_Query( array( 'post_type' => wpsight_post_type(), 'post__in' => $post_ids_meta ) ); - - $post = $query->posts[0]; - - wp_reset_query(); - - } else { - - $post = get_post( absint( $post ) ); - - if ( get_post_type( $post ) != wpsight_post_type() ) - $post = false; - - } - - } - - return apply_filters( 'wpsight_get_listing', $post ); - - } - - /** - * get_listing_price_raw() - * - * Return listings price without formatting. - * - * @param integer $post_id Post ID - * @uses get_the_ID() - * @uses get_post_meta() - * @return string Listing price meta value - * - * @since 1.0.0 - */ - public static function get_listing_price_raw( $post_id = '' ) { - - // Use global post ID if not defined - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Get listing price - $price_raw = get_post_meta( $post_id, '_price', true ); - - if ( empty( $price_raw ) ) - $price_raw = false; - - // Return listing price - return apply_filters( 'get_listing_price_raw', $price_raw, $post_id ); - - } - - /** - * get_listing_offer() - * - * Return listings offer (e.g. sale, rent). - * - * @param integer $post_id Post ID - * @param bool $label Optionally return offer key - * @uses get_the_ID() - * @uses get_post_meta() - * @uses wpsight_offers() - * @return string Offer label or key - * - * @since 1.0.0 - */ - public static function get_listing_offer( $post_id = '', $label = true ) { - - // Use global post ID if not defined - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Get listing offer - $offer = get_post_meta( $post_id, '_price_offer', true ); - - if ( ! empty( $offer ) ) { - - // Return label if desired - - if ( $label === true ) { - // Get all offers - $offers = wpsight_offers(); - // Set offer label - $offer = $offers[ $offer ]; - } - - } else { - $offer = false; - } - - // Return offer key or label - return apply_filters( 'wpsight_get_listing_offer', $offer, $post_id, $label ); - - } - - /** - * get_listing_period() - * - * Return listings rental period. - * - * @param integer $post_id Post ID - * @param bool $label Optionally return period key - * @uses get_the_ID() - * @uses get_post_meta() - * @uses wpsight_rental_periods() - * @return string Period label or key - * - * @since 1.0.0 - */ - public static function get_listing_period( $post_id = '', $label = true ) { - - // Use global post ID if not defined - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Get listing offer - $period = get_post_meta( $post_id, '_price_period', true ); - - if ( ! empty( $period ) ) { - - // Return label if desired - - if ( $label === true ) { - // Get all periods - $periods = wpsight_rental_periods(); - // Set period label - $period = $periods[ $period ]; - } - - } else { - $period = false; - } - - // Return period key or label - return apply_filters( 'wpsight_get_listing_period', $period, $post_id, $label ); - - } - - /** - * get_listing_detail() - * - * Return specific detail value of a listing. - * - * @param string $detail wpsight_details() key - * @param integer $post_id Post ID - * @uses wpsight_get_option() - * @uses get_the_ID() - * @uses get_post_meta() - * @uses wpsight_get_detail() - * @return string|false Listing detail value or false if empty - * - * @since 1.0.0 - */ - public static function get_listing_detail( $detail, $post_id = '' ) { - - if ( empty( $detail ) ) - return; - - // Check if label is settings is empty - - $option = wpsight_get_option( $detail ); - - if( empty( $option['label'] ) ) - return; - - // Use global post ID if not defined - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Optionally remove underscore - - $pos = strpos( $detail, '_' ); - - if ( $pos !== false && $pos == 0 ) - $detail = substr_replace( $detail, '', $pos, strlen( '_' ) ); - - // Get listing detail value - $listing_detail = get_post_meta( $post_id, '_' . $detail, true ); - - if ( $listing_detail ) { - - // Check if value is data key - $detail_get = wpsight_get_detail( $detail ); - if ( ! empty( $detail_get['data'] ) ) - $listing_detail = $detail_get['data'][$listing_detail]; - - } else { - $listing_detail = false; - } - - return apply_filters( 'wpsight_get_listing_detail', $listing_detail, $detail, $post_id ); - - } - - /** - * get_listing_details() - * - * Return listings details. - * - * @param integer $post_id Post ID - * @param array $details Array of details (keys from wpsight_details()) - * @param string|bool $formatted CSS class for container or false to return array - * @uses get_the_ID() - * @uses get_post_custom() - * @uses wpsight_details() - * @uses wpsight_get_listing_detail() - * @uses wpsight_dashes() - * @uses wpsight_get_detail() - * @uses wpsight_get_measurement() - * @uses sanitize_html_class() - * @return string|array Formatted details or unformatted array - * - * @since 1.0.0 - */ - public static function get_listing_details( $post_id = '', $details = false, $formatted = 'wpsight-listing-details' ) { + /** + * get_listing_offer() + * + * Return listings offer (e.g. sale, rent). + * + * @param integer $post_id Post ID + * @param bool $label Optionally return offer key + * @uses get_the_ID() + * @uses get_post_meta() + * @uses wpsight_offers() + * @return string Offer label or key + * + * @since 1.0.0 + */ + public static function get_listing_offer( $post_id = '', $label = true ) { - if ( ! $post_id ) - $post_id = get_the_ID(); + // Use global post ID if not defined - // Get post meta data - $post_meta = get_post_custom( $post_id ); + if ( ! $post_id ) + $post_id = get_the_ID(); - // Get standard listing details - $standard_details = wpsight_details(); + // Get listing offer + $offer = get_post_meta( $post_id, '_price_offer', true ); - // Set default details + if ( ! empty( $offer ) ) { - if ( $details === false || ! is_array( $details ) ) - $details = array_keys( $standard_details ); + // Return label if desired - // Loop through details + if ( $label === true ) { + // Get all offers + $offers = wpsight_offers(); + // Set offer label + $offer = $offers[ $offer ]; + } - $listing_details = ''; + } else { + $offer = false; + } - // Set formatted details + // Return offer key or label + return apply_filters( 'wpsight_get_listing_offer', $offer, $post_id, $label ); - if ( $formatted !== false ) { + } - foreach ( $details as $detail ) { + /** + * get_listing_period() + * + * Return listings rental period. + * + * @param integer $post_id Post ID + * @param bool $label Optionally return period key + * @uses get_the_ID() + * @uses get_post_meta() + * @uses wpsight_rental_periods() + * @return string Period label or key + * + * @since 1.0.0 + */ + public static function get_listing_period( $post_id = '', $label = true ) { + + // Use global post ID if not defined + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Get listing offer + $period = get_post_meta( $post_id, '_price_period', true ); + + if ( ! empty( $period ) ) { + + // Return label if desired + + if ( $label === true ) { + // Get all periods + $periods = wpsight_rental_periods(); + // Set period label + $period = $periods[ $period ]; + } + + } else { + $period = false; + } - if ( wpsight_get_listing_detail( $detail, $post_id ) ) { + // Return period key or label + return apply_filters( 'wpsight_get_listing_period', $period, $post_id, $label ); - $listing_details .= ''; + } - $listing_details .= '' . wpsight_get_detail( $detail, 'label' ) . ' '; - $listing_details .= '' . wpsight_get_listing_detail( $detail, $post_id ); + /** + * get_listing_detail() + * + * Return specific detail value of a listing. + * + * @param string $detail wpsight_details() key + * @param integer $post_id Post ID + * @uses wpsight_get_option() + * @uses get_the_ID() + * @uses get_post_meta() + * @uses wpsight_get_detail() + * @return string|false Listing detail value or false if empty + * + * @since 1.0.0 + */ + public static function get_listing_detail( $detail, $post_id = '' ) { - if ( wpsight_get_detail( $detail, 'unit' ) ) - $listing_details .= ' ' . wpsight_get_measurement( wpsight_get_detail( $detail, 'unit' ) ); - - $listing_details .= ''; + if ( empty( $detail ) ) + return; - $listing_details .= '' . "\n"; + // Check if label is settings is empty - } + $option = wpsight_get_option( $detail ); - } + if( empty( $option['label'] ) ) + return; - if ( $listing_details ) - $listing_details = '
    ' . $listing_details . '
    '; + // Use global post ID if not defined - // Set array of unformatted details + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Optionally remove underscore + + $pos = strpos( $detail, '_' ); + + if ( $pos !== false && $pos == 0 ) + $detail = substr_replace( $detail, '', $pos, strlen( '_' ) ); + + // Get listing detail value + $listing_detail = get_post_meta( $post_id, '_' . $detail, true ); + + if ( $listing_detail ) { + + // Check if value is data key + $detail_get = wpsight_get_detail( $detail ); + if ( ! empty( $detail_get['data'] ) ) + $listing_detail = $detail_get['data'][$listing_detail]; + + } else { + $listing_detail = false; + } + + return apply_filters( 'wpsight_get_listing_detail', $listing_detail, $detail, $post_id ); + + } + + /** + * get_listing_details() + * + * Return listings details. + * + * @param integer $post_id Post ID + * @param array $details Array of details (keys from wpsight_details()) + * @param string|bool $formatted CSS class for container or false to return array + * @uses get_the_ID() + * @uses get_post_custom() + * @uses wpsight_details() + * @uses wpsight_get_listing_detail() + * @uses wpsight_dashes() + * @uses wpsight_get_detail() + * @uses wpsight_get_measurement() + * @uses sanitize_html_class() + * @return string|array Formatted details or unformatted array + * + * @since 1.0.0 + */ + public static function get_listing_details( $post_id = '', $details = false, $formatted = 'wpsight-listing-details' ) { + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Get post meta data + $post_meta = get_post_custom( $post_id ); + + // Get standard listing details + $standard_details = wpsight_details(); + + // Set default details + + if ( $details === false || ! is_array( $details ) ) + $details = array_keys( $standard_details ); + + // Loop through details + + $listing_details = ''; + + // Set formatted details + + if ( $formatted !== false ) { + + foreach ( $details as $detail ) { + + if ( wpsight_get_listing_detail( $detail, $post_id ) ) { + + $listing_details .= ''; + + $listing_details .= '' . wpsight_get_detail( $detail, 'label' ) . ' '; + $listing_details .= '' . wpsight_get_listing_detail( $detail, $post_id ); + + if ( wpsight_get_detail( $detail, 'unit' ) ) + $listing_details .= ' ' . wpsight_get_measurement( wpsight_get_detail( $detail, 'unit' ) ); + + $listing_details .= ''; + + $listing_details .= '' . "\n"; + + } + + } + + if ( $listing_details ) + $listing_details = '
    ' . wp_kses( $listing_details, wpsight_get_listing_details_html() ) . '
    '; + + // Set array of unformatted details + + } else { - } else { - $listing_details = array(); - foreach ( $details as $detail ) { - - $listing_details[$detail] = array( - 'label' => wpsight_get_detail( $detail, 'label' ), - 'unit' => wpsight_get_detail( $detail, 'unit' ), - 'value' => wpsight_get_listing_detail( $detail ) - ); - - } - - } - - return apply_filters( 'wpsight_get_listing_details', $listing_details, $post_id, $details, $formatted ); - - } - - /** - * get_listing_summary() - * - * Return specific set of listings details. - * - * @param integer $post_id Post ID - * @param array $details Array of details (keys from wpsight_details()) - * @param bool $formatted Function returns array if false - * @uses wpsight_get_listing_details() - * @return string|array Formatted details or unformatted array - * - * @since 1.0.0 - */ - public static function get_listing_summary( $post_id = '', $details = false, $formatted = 'wpsight-listing-summary' ) { - - // Define set of details - - if ( $details === false || ! is_array( $details ) ) - $details = array( 'details_1', 'details_2', 'details_3' ); - - $listing_summary = wpsight_get_listing_details( $post_id, $details, $formatted ); - - return apply_filters( 'wpsight_get_listing_summary', $listing_summary, $post_id, $details, $formatted ); - - } - - /** - * get_listing_id() - * - * Return listing ID. By default the listing ID - * is a prefix with the post ID. The listing ID - * can manually be changed in the listing details - * meta box and is saved as custom post meta '_listing_id'. - * - * @param integer $post_id Post ID - * @param string $prefix Lising ID prefix - * @uses get_the_ID() - * @uses get_post_meta() - * @uses wpsight_get_option() - * @return string|bool Listing ID or false if no post ID available - * - * @since 1.0.0 - */ - public static function get_listing_id( $post_id = '', $prefix = '' ) { - - // Check if custom post ID - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Check if custom or global post ID - - if ( ! $post_id ) - return false; - - // Check if post meta listing ID available - $listing_id = get_post_meta( $post_id, '_listing_id', true ); - - if( empty( $listing_id ) ) { - - // Get listing ID prefix - - if( empty( $prefix ) ) - $prefix = wpsight_get_option( 'listing_id' ); - - // Combine post ID with prefix - $listing_id = $prefix . $post_id; - - } + foreach ( $details as $detail ) { + + $listing_details[$detail] = array( + 'label' => wpsight_get_detail( $detail, 'label' ), + 'unit' => wpsight_get_detail( $detail, 'unit' ), + 'value' => wpsight_get_listing_detail( $detail ) + ); + + } + + } + + return apply_filters( 'wpsight_get_listing_details', $listing_details, $post_id, $details, $formatted ); + + } + + /** + * get_listing_summary() + * + * Return specific set of listings details. + * + * @param integer $post_id Post ID + * @param array $details Array of details (keys from wpsight_details()) + * @param bool $formatted Function returns array if false + * @uses wpsight_get_listing_details() + * @return string|array Formatted details or unformatted array + * + * @since 1.0.0 + */ + public static function get_listing_summary( $post_id = '', $details = false, $formatted = 'wpsight-listing-summary' ) { + + // Define set of details + + if ( $details === false || ! is_array( $details ) ) + $details = array( 'details_1', 'details_2', 'details_3' ); + + $listing_summary = wpsight_get_listing_details( $post_id, $details, $formatted ); + + return apply_filters( 'wpsight_get_listing_summary', $listing_summary, $post_id, $details, $formatted ); + + } + + /** + * get_listing_id() + * + * Return listing ID. By default the listing ID + * is a prefix with the post ID. The listing ID + * can manually be changed in the listing details + * meta box and is saved as custom post meta '_listing_id'. + * + * @param integer $post_id Post ID + * @param string $prefix Lising ID prefix + * @uses get_the_ID() + * @uses get_post_meta() + * @uses wpsight_get_option() + * @return string|bool Listing ID or false if no post ID available + * + * @since 1.0.0 + */ + public static function get_listing_id( $post_id = '', $prefix = '' ) { + + // Check if custom post ID + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Check if custom or global post ID + + if ( ! $post_id ) + return false; + + // Check if post meta listing ID available + $listing_id = get_post_meta( $post_id, '_listing_id', true ); + + if( empty( $listing_id ) ) { + + // Get listing ID prefix - // Return default listing ID - return apply_filters( 'wpsight_get_listing_id', $listing_id ); + if( empty( $prefix ) ) + $prefix = wpsight_get_option( 'listing_id' ); - } + // Combine post ID with prefix + $listing_id = $prefix . $post_id; - /** - * get_listing_price() - * - * Returns formatted listing price with - * with currency and rental period. - * - * @param integer $post_id Post ID (defaults to get_the_ID()) - * @param bool $args['number_format'] Apply number_format() or not - * @param bool $args['show_currency'] Show currency or not - * @param bool $args['show_period'] Show rental period or not - * @param bool $args['show_request'] Show 'price on request' or not - * @uses get_the_ID() - * @uses get_post_custom() - * @uses wpsight_get_option() - * @uses wpsight_get_currency() - * @uses wpsight_get_currency_abbr() - * @uses wpsight_get_rental_period() - * @return string|bool Formatted listing price or false - * - * @since 1.0.0 - */ - public static function get_listing_price( $post_id = '', $before = '', $after = '', $args = array() ) { + } - // Check if custom post ID + // Return default listing ID + return apply_filters( 'wpsight_get_listing_id', $listing_id ); - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Check if custom or global post ID + } - if ( ! $post_id ) - return false; + /** + * get_listing_price() + * + * Returns formatted listing price with + * with currency and rental period. + * + * @param integer $post_id Post ID (defaults to get_the_ID()) + * @param bool $args['number_format'] Apply number_format() or not + * @param bool $args['show_currency'] Show currency or not + * @param bool $args['show_period'] Show rental period or not + * @param bool $args['show_request'] Show 'price on request' or not + * @uses get_the_ID() + * @uses get_post_custom() + * @uses wpsight_get_option() + * @uses wpsight_get_currency() + * @uses wpsight_get_currency_abbr() + * @uses wpsight_get_rental_period() + * @return string|bool Formatted listing price or false + * + * @since 1.0.0 + */ + public static function get_listing_price( $post_id = '', $before = '', $after = '', $args = array() ) { - // Set listing price labels + // Check if custom post ID - $listing_price_labels = array( - 'sold' => __( 'Sold', 'wpcasa' ), - 'rented' => __( 'Rented', 'wpcasa' ), - 'request' => __( 'Price on request', 'wpcasa' ) - ); + if ( ! $post_id ) + $post_id = get_the_ID(); - $listing_price_labels = apply_filters( 'wpsight_get_listing_price_labels', $listing_price_labels ); + // Check if custom or global post ID - // Set listing price args + if ( ! $post_id ) + return false; - $defauts = array( - 'number_format' => true, - 'show_currency' => true, - 'show_period' => true, - 'show_request' => true - ); - - $args = wp_parse_args( $args, $defauts ); + // Set listing price labels - // Get price info + $listing_price_labels = array( + 'sold' => __( 'Sold', 'wpcasa' ), + 'rented' => __( 'Rented', 'wpcasa' ), + 'request' => __( 'Price on request', 'wpcasa' ) + ); - $listing_price = self::get_listing_price_raw( $post_id ); - $listing_offer = self::get_listing_offer( $post_id, false ); - $listing_period = self::get_listing_period( $post_id, false ); + $listing_price_labels = apply_filters( 'wpsight_get_listing_price_labels', $listing_price_labels ); - // Return false if no price + // Set listing price args - if ( empty( $listing_price ) ) { + $defauts = array( + 'number_format' => true, + 'show_currency' => true, + 'show_period' => true, + 'show_request' => true + ); - if ( $args['show_request'] !== false ) { - $listing_price = '' . $listing_price_labels['request'] . ''; - } else { - return false; - } + $args = wp_parse_args( $args, $defauts ); - } else { + // Get price info - if ( $args['number_format'] == true ) { + $listing_price = self::get_listing_price_raw( $post_id ); + $listing_offer = self::get_listing_offer( $post_id, false ); + $listing_period = self::get_listing_period( $post_id, false ); - $listing_price_arr = false; + // Return false if no price - // Remove white spaces - $listing_price = preg_replace( '/\s+/', '', $listing_price ); + if ( empty( $listing_price ) ) { - if ( strpos( $listing_price, ',' ) ) - $listing_price_arr = explode( ',', $listing_price ); + if ( $args['show_request'] !== false ) { + $listing_price = '' . $listing_price_labels['request'] . ''; + } else { + return false; + } - if ( strpos( $listing_price, '.' ) ) - $listing_price_arr = explode( '.', $listing_price ); + } else { - if ( is_array( $listing_price_arr ) ) - $listing_price = $listing_price_arr[0]; + if ( $args['number_format'] == true ) { - // remove dots and commas + $listing_price_arr = false; - $listing_price = str_replace( '.', '', $listing_price ); - $listing_price = str_replace( ',', '', $listing_price ); + // Remove white spaces + $listing_price = preg_replace( '/\s+/', '', $listing_price ); - if ( is_numeric( $listing_price ) ) { + if ( strpos( $listing_price, ',' ) ) + $listing_price_arr = explode( ',', $listing_price ); - // Get thousands separator - $listing_price_format = wpsight_get_option( 'currency_separator', true ); + if ( strpos( $listing_price, '.' ) ) + $listing_price_arr = explode( '.', $listing_price ); - // Add thousands separators + if ( is_array( $listing_price_arr ) ) + $listing_price = $listing_price_arr[0]; - if ( $listing_price_format == 'dot' ) { - $listing_price = number_format( $listing_price, 0, ',', '.' ); - if ( is_array( $listing_price_arr ) ) - $listing_price .= ',' . $listing_price_arr[1]; - } else { - $listing_price = number_format( $listing_price, 0, '.', ',' ); - if ( is_array( $listing_price_arr ) ) - $listing_price .= '.' . $listing_price_arr[1]; - } + // remove dots and commas - } + $listing_price = str_replace( '.', '', $listing_price ); + $listing_price = str_replace( ',', '', $listing_price ); - } // endif $args['number_format'] + if ( is_numeric( $listing_price ) ) { - // Get currency symbol and place before or after value - $currency_symbol = wpsight_get_option( 'currency_symbol', true ); + // Get thousands separator + $listing_price_format = wpsight_get_option( 'currency_separator', true ); - $listing_price_symbol = ''; + // Add thousands separators + + if ( $listing_price_format == 'dot' ) { + $listing_price = number_format( $listing_price, 0, ',', '.' ); + if ( is_array( $listing_price_arr ) ) + $listing_price .= ',' . $listing_price_arr[1]; + } else { + $listing_price = number_format( $listing_price, 0, '.', ',' ); + if ( is_array( $listing_price_arr ) ) + $listing_price .= '.' . $listing_price_arr[1]; + } + + } + + } // endif $args['number_format'] + + // Get currency symbol and place before or after value + $currency_symbol = wpsight_get_option( 'currency_symbol', true ); + + $listing_price_symbol = ''; // Create price markup and place currency before or after value - if ( $args['show_currency'] == true && ( $currency_symbol == 'before' || $currency_symbol == 'before_space' ) ) { - - if ( $currency_symbol == 'before' ) { - $listing_price_symbol .= '' . wpsight_get_currency() . ''; - } elseif ( $currency_symbol == 'before_space' ) { - $listing_price_symbol .= '' . wpsight_get_currency() . ' '; - } - - } - + if ( $args['show_currency'] == true && ( $currency_symbol == 'before' || $currency_symbol == 'before_space' ) ) { + + if ( $currency_symbol == 'before' ) { + $listing_price_symbol .= '' . wpsight_get_currency() . ''; + } elseif ( $currency_symbol == 'before_space' ) { + $listing_price_symbol .= '' . wpsight_get_currency() . ' '; + } + + } + $listing_price_symbol .= '' . $listing_price . ''; - - if ( $args['show_currency'] == true && ( $currency_symbol == 'after' || $currency_symbol == 'after_space' ) ) { - - if ( $currency_symbol == 'after' ) { - $listing_price_symbol .= '' . wpsight_get_currency() . ''; - } elseif ( $currency_symbol == 'after_space' ) { - $listing_price_symbol .= ' ' . wpsight_get_currency() . ''; - } - - } - - // Add currency for microformat - $listing_price_symbol .= ''; - - // Merge price with markup and currency - $listing_price = $listing_price_symbol; - // Add period if listing is for rent and period is set + if ( $args['show_currency'] == true && ( $currency_symbol == 'after' || $currency_symbol == 'after_space' ) ) { + + if ( $currency_symbol == 'after' ) { + $listing_price_symbol .= '' . wpsight_get_currency() . ''; + } elseif ( $currency_symbol == 'after_space' ) { + $listing_price_symbol .= ' ' . wpsight_get_currency() . ''; + } + + } + + // Add currency for microformat + $listing_price_symbol .= ''; + + // Merge price with markup and currency + $listing_price = $listing_price_symbol; + + // Add period if listing is for rent and period is set + + if ( $args['show_period'] == true ) { - if ( $args['show_period'] == true ) { - - $listing_period = get_post_meta( $post_id, '_price_period', true ); + $listing_period = get_post_meta( $post_id, '_price_period', true ); - if ( $listing_offer == 'rent' && ! empty( $listing_period ) ) { + if ( $listing_offer == 'rent' && ! empty( $listing_period ) ) { - $listing_price = $listing_price . ' / ' . wpsight_get_rental_period( $listing_period ) . ''; + $listing_price = $listing_price . ' / ' . wpsight_get_rental_period( $listing_period ) . ''; - } + } - } // endif $show_period + } // endif $show_period - } + } - // Make before and after filtrable + // Make before and after filtrable - $before = apply_filters( 'wpsight_get_listing_price_before', $before, $post_id, $args ); - $after = apply_filters( 'wpsight_get_listing_price_after', $after, $post_id, $args ); + $before = apply_filters( 'wpsight_get_listing_price_before', $before, $post_id, $args ); + $after = apply_filters( 'wpsight_get_listing_price_after', $after, $post_id, $args ); - // Add before and after output if desired + // Add before and after output if desired - $listing_price_before = ! empty( $before ) ? '' . strip_tags( $before, '' ) . '' : ''; - $listing_price_after = ! empty( $after ) ? '' . strip_tags( $after, '' ) . '' : ''; + $listing_price_before = ! empty( $before ) ? '' . strip_tags( $before, '' ) . '' : ''; + $listing_price_after = ! empty( $after ) ? '' . strip_tags( $after, '' ) . '' : ''; - // Create final listing price markup - $listing_price = '
    ' . $listing_price_before . $listing_price . $listing_price_after . '
    '; + // Create final listing price markup + $listing_price = '
    ' . $listing_price_before . $listing_price . $listing_price_after . '
    '; - return apply_filters( 'wpsight_get_listing_price', $listing_price, $post_id, $before, $after, $args ); + return apply_filters( 'wpsight_get_listing_price', $listing_price, $post_id, $before, $after, $args ); - } + } - /** - * get_listing_terms() - * - * Returns listing terms of a specific - * taxonomy ordered by hierarchy. - * - * @param string $taxonomy Taxonomy of the terms to return (defaults to 'feature') - * @param integer $post_id Post ID (defaults to get_the_ID()) - * @param string $sep Separator between terms - * @param string $term_before Content before each term - * @param string $term_after Content after each term - * @param bool $linked Link terms to their archive pages or not - * @param bool $reverse Begin with lowest leven for hiearachical taxonomies - * @uses get_the_ID() - * @uses is_taxonomy_hierarchical() - * @uses wpsight_get_the_term_list() - * @return string|null List of terms or null if taxonomy does not exist - * - * @since 1.0.0 - */ - public static function get_listing_terms( $taxonomy = '', $post_id = '', $sep = '', $term_before = '', $term_after = '', $linked = true, $reverse = false ) { + /** + * get_listing_terms() + * + * Returns listing terms of a specific + * taxonomy ordered by hierarchy. + * + * @param string $taxonomy Taxonomy of the terms to return (defaults to 'feature') + * @param integer $post_id Post ID (defaults to get_the_ID()) + * @param string $sep Separator between terms + * @param string $term_before Content before each term + * @param string $term_after Content after each term + * @param bool $linked Link terms to their archive pages or not + * @param bool $reverse Begin with lowest leven for hiearachical taxonomies + * @uses get_the_ID() + * @uses is_taxonomy_hierarchical() + * @uses wpsight_get_the_term_list() + * @return string|null List of terms or null if taxonomy does not exist + * + * @since 1.0.0 + */ + public static function get_listing_terms( $taxonomy = '', $post_id = '', $sep = '', $term_before = '', $term_after = '', $linked = true, $reverse = false ) { - // Set default post ID + // Set default post ID - if ( ! $post_id ) - $post_id = get_the_ID(); + if ( ! $post_id ) + $post_id = get_the_ID(); - // Set default taxonomy + // Set default taxonomy - if ( empty( $taxonomy ) ) - $taxonomy = 'feature'; + if ( empty( $taxonomy ) ) + $taxonomy = 'feature'; - $term_list = wpsight_get_the_term_list( $post_id, $taxonomy, $sep, $term_before, $term_after, $linked, $reverse ); + $term_list = wpsight_get_the_term_list( $post_id, $taxonomy, $sep, $term_before, $term_after, $linked, $reverse ); - return apply_filters( 'wpsight_get_listing_terms', $term_list, $post_id, $taxonomy, $sep, $term_before, $term_after, $linked, $reverse ); + return apply_filters( 'wpsight_get_listing_terms', $term_list, $post_id, $taxonomy, $sep, $term_before, $term_after, $linked, $reverse ); - } + } - /** - * get_listing_thumbnail() - * - * Return a thumbnail of a specific listing. - * - * @param integer $post_id Post ID - * @param array $attr Array of attributes for the thumbnail (for get_the_post_thumbnail()) - * @param string|bool $formatted CSS class of image container div or false to return wp_get_attachment_image_src() - * @uses get_the_ID() - * @uses get_the_title() - * @uses wp_parse_args() - * @uses has_post_thumbnail() - * @uses get_the_post_thumbnail() - * @uses sanitize_html_class() - * @uses get_post_thumbnail_id() - * @uses wp_get_attachment_image_src() - * @return string|array HTML image tag with container div or array (see wp_get_attachment_image_src()) - * - * @since 1.0.0 - */ - public static function get_listing_thumbnail( $post_id = '', $size = 'thumbnail', $attr = '', $default = '', $formatted = 'wpsight-listing-thumbnail' ) { + /** + * get_listing_thumbnail() + * + * Return a thumbnail of a specific listing. + * + * @param integer $post_id Post ID + * @param array $attr Array of attributes for the thumbnail (for get_the_post_thumbnail()) + * @param string|bool $formatted CSS class of image container div or false to return wp_get_attachment_image_src() + * @uses get_the_ID() + * @uses get_the_title() + * @uses wp_parse_args() + * @uses has_post_thumbnail() + * @uses get_the_post_thumbnail() + * @uses sanitize_html_class() + * @uses get_post_thumbnail_id() + * @uses wp_get_attachment_image_src() + * @return string|array HTML image tag with container div or array (see wp_get_attachment_image_src()) + * + * @since 1.0.0 + */ + public static function get_listing_thumbnail( $post_id = '', $size = 'thumbnail', $attr = '', $default = '', $formatted = 'wpsight-listing-thumbnail' ) { - // Set default post ID + // Set default post ID - if ( ! $post_id ) - $post_id = get_the_ID(); + if ( ! $post_id ) + $post_id = get_the_ID(); - if ( $formatted !== false ) { + if ( $formatted !== false ) { - $default_attr = array( - 'alt' => the_title_attribute( array( 'post' => $post_id, 'echo' => false ) ), - 'title' => the_title_attribute( array( 'post' => $post_id, 'echo' => false ) ) - ); + $default_attr = array( + 'alt' => the_title_attribute( array( 'post' => $post_id, 'echo' => false ) ), + 'title' => the_title_attribute( array( 'post' => $post_id, 'echo' => false ) ) + ); - $attr = wp_parse_args( $attr, $default_attr ); + $attr = wp_parse_args( $attr, $default_attr ); - // Set default output (dashicon admin-home) - $default = ! empty( $default ) ? $default : ''; + // Set default output (dashicon admin-home) + $default = ! empty( $default ) ? $default : ''; - // Get featured image - $thumb = has_post_thumbnail( $post_id ) ? get_the_post_thumbnail( $post_id, $size, $attr ) : $default; + // Get featured image + $thumb = has_post_thumbnail( $post_id ) ? get_the_post_thumbnail( $post_id, $size, $attr ) : $default; - // Set overlay - - $overlay = apply_filters( 'wpsight_listing_thumbnail_overlay', '', $post_id, $size, $attr, $default, $formatted ); - $thumb_overlay = ! empty( $overlay ) ? wp_kses_post( $overlay ) : ''; - - $thumb = '
    ' . $thumb_overlay . $thumb . '
    '; - - } else { - - $thumb_id = has_post_thumbnail( $post_id ) ? get_post_thumbnail_id( $post_id ) : false; - - $thumb = $thumb_id ? wp_get_attachment_image_src( $thumb_id, $size ) : false; - - } - - return apply_filters( 'wpsight_get_listing_thumbnail', $thumb, $post_id, $size, $attr, $default, $formatted ); - - } - - /** - * get_listing_thumbnail_url() - * - * Return a thumbnail URL of a specific listing. - * - * @param integer $post_id Post ID - * @param string $size Size of the image (thumbnail, large etc.). Defaults to 'thumbnail'. - * @uses wpsight_get_listing_thumbnail() - * @return string URL of the thumbnail - * - * @since 1.0.0 - */ - public static function get_listing_thumbnail_url( $post_id = '', $size = 'thumbnail' ) { - - // Get attachment - $thumb = wpsight_get_listing_thumbnail( $post_id, $size, '', '', false ); + // Set overlay + + $overlay = apply_filters( 'wpsight_listing_thumbnail_overlay', '', $post_id, $size, $attr, $default, $formatted ); + $thumb_overlay = ! empty( $overlay ) ? wp_kses_post( $overlay ) : ''; + + $thumb = '
    ' . $thumb_overlay . $thumb . '
    '; + + } else { + + $thumb_id = has_post_thumbnail( $post_id ) ? get_post_thumbnail_id( $post_id ) : false; + + $thumb = $thumb_id ? wp_get_attachment_image_src( $thumb_id, $size ) : false; + + } + + return apply_filters( 'wpsight_get_listing_thumbnail', $thumb, $post_id, $size, $attr, $default, $formatted ); + + } + + /** + * get_listing_thumbnail_url() + * + * Return a thumbnail URL of a specific listing. + * + * @param integer $post_id Post ID + * @param string $size Size of the image (thumbnail, large etc.). Defaults to 'thumbnail'. + * @uses wpsight_get_listing_thumbnail() + * @return string URL of the thumbnail + * + * @since 1.0.0 + */ + public static function get_listing_thumbnail_url( $post_id = '', $size = 'thumbnail' ) { + + // Get attachment + $thumb = wpsight_get_listing_thumbnail( $post_id, $size, '', '', false ); - // Set false if no thumb - $result = $thumb ? $thumb[0] : false; + // Set false if no thumb + $result = $thumb ? $thumb[0] : false; - return apply_filters( 'wpsight_get_listing_thumbnail_url', $result ); - } + return apply_filters( 'wpsight_get_listing_thumbnail_url', $result ); + } - /** - * is_listing_sticky() - * - * Check if a specific listing is sticky - * (custom field '_listing_sticky'). - * - * @param integer $post_id Post ID of the corresponding listing (defaults to current post) - * @uses get_the_ID() - * @uses get_post_meta() - * @return bool $result True if _listing_sticky has value, else false - * - * @since 1.0.0 - */ - public static function is_listing_sticky( $post_id = '' ) { - - // Set default post ID - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Get custom post meta and set result - $result = get_post_meta( $post_id, '_listing_sticky', true ) ? true : false; + /** + * is_listing_sticky() + * + * Check if a specific listing is sticky + * (custom field '_listing_sticky'). + * + * @param integer $post_id Post ID of the corresponding listing (defaults to current post) + * @uses get_the_ID() + * @uses get_post_meta() + * @return bool $result True if _listing_sticky has value, else false + * + * @since 1.0.0 + */ + public static function is_listing_sticky( $post_id = '' ) { + + // Set default post ID + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Get custom post meta and set result + $result = get_post_meta( $post_id, '_listing_sticky', true ) ? true : false; - return apply_filters( 'wpsight_is_listing_sticky', $result, $post_id ); + return apply_filters( 'wpsight_is_listing_sticky', $result, $post_id ); - } + } - /** - * is_listing_featured() - * - * Check if a specific listing is featured - * (custom field '_listing_featured'). - * - * @param integer $post_id Post ID of the corresponding listing (defaults to current post) - * @uses get_the_ID() - * @uses get_post_meta() - * @return bool $result True if _listing_featured has value, else false - * - * @since 1.0.0 - */ - public static function is_listing_featured( $post_id = '' ) { + /** + * is_listing_featured() + * + * Check if a specific listing is featured + * (custom field '_listing_featured'). + * + * @param integer $post_id Post ID of the corresponding listing (defaults to current post) + * @uses get_the_ID() + * @uses get_post_meta() + * @return bool $result True if _listing_featured has value, else false + * + * @since 1.0.0 + */ + public static function is_listing_featured( $post_id = '' ) { - // Set default post ID + // Set default post ID - if ( ! $post_id ) - $post_id = get_the_ID(); + if ( ! $post_id ) + $post_id = get_the_ID(); - // Get custom post meta and set result - $result = get_post_meta( $post_id, '_listing_featured', true ) ? true : false; + // Get custom post meta and set result + $result = get_post_meta( $post_id, '_listing_featured', true ) ? true : false; - return apply_filters( 'wpsight_is_listing_featured', $result, $post_id ); + return apply_filters( 'wpsight_is_listing_featured', $result, $post_id ); - } + } - /** - * is_listing_not_available() - * - * Check if a specific listing item is no longer available - * (custom field '_listing_not_available'). - * - * @param integer $post_id Post ID of the corresponding listing (defaults to current post) - * @uses result() - * @uses get_post_meta() - * @uses update_post_meta() - * @uses delete_post_meta() - * @return bool $result True if _listing_not_available has value, else false - * - * @since 1.0.0 - */ - public static function is_listing_not_available( $post_id = '' ) { - - // Set default post ID - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Get old _price_sold_rented value - $sold_rented = get_post_meta( $post_id, '_price_sold_rented', true ); - - if ( ! empty( $sold_rented ) ) { - - // Update new field with old field value - update_post_meta( $post_id, '_listing_not_available', $sold_rented ); - - // Remove old field - delete_post_meta( $post_id, '_price_sold_rented' ); - - } - - // Get custom post meta and set result - $result = get_post_meta( $post_id, '_listing_not_available', true ) ? true : false; - - return apply_filters( 'wpsight_is_listing_not_available', $result, $post_id ); - - } - - /** - * is_listing_pending() - * - * Check if a specific listing has post - * status 'pending' or 'pending_payment'. - * - * @param integer $post_id Post ID of the corresponding listing - * @uses get_the_ID() - * @uses get_post_status() - * @return bool True if post status is 'pending' or 'pending_payment', else false - * - * @since 1.0.0 - */ - public static function is_listing_pending( $post_id = '' ) { - - // Set default post ID - - if ( ! $post_id ) - $post_id = get_the_ID(); - - $pending = array( 'pending', 'pending_payment' ); - - // Check listing status and set result - $result = in_array( get_post_status( $post_id ), $pending ) ? true : false; - - return apply_filters( 'wpsight_is_listing_pending', $result, $post_id ); - - } - - /** - * is_listing_expired() - * - * Check if a specific listing has post status 'expired' - * - * @param integer $post_id Post ID of the corresponding listing - * @uses get_the_ID() - * @uses get_post_status() - * @return bool True if post status is 'expired', else false - * - * @since 1.0.0 - */ - public static function is_listing_expired( $post_id = '' ) { - - // Set default post ID - - if ( ! $post_id ) - $post_id = get_the_ID(); - - // Check listing status and set result - $result = get_post_status( $post_id ) == 'expired' ? true : false; - - return apply_filters( 'wpsight_is_listing_expired', $result, $post_id ); - - } - - /** - * user_can_edit_listing() - * - * True if an the user can edit a listing. - * - * @param integer $post_id Post ID of specific listing - * @uses get_post() - * @uses is_user_logged_in() - * @uses current_user_can() - * @return bool - * - * @since 1.0.0 - */ - public static function user_can_edit_listing( $post_id ) { - - $can_edit = true; - $listing = get_post( $post_id ); - - if ( ! is_user_logged_in() ) { - $can_edit = false; - } elseif ( ! current_user_can( 'edit_listing', $post_id ) ) { - $can_edit = false; - } - - return apply_filters( 'wpsight_user_can_edit_listing', $can_edit, $post_id ); - } - - /** - * delete_listing_previews() - * - * Delete old expired listing previews if number of days - * have passed after last modification and status is preview. - * - * ##### FUNCTION CALLED BY CRON #### - * - * @param int $days Number of days after that previews are deleted - * @uses $wpdb->prepare() - * @uses $wpdb->get_col() - * @uses current_time() - * @uses strtotime() - * @uses date() - * @uses wp_trash_post() - * @return array|bool Array of post IDs, false if no previews deleted - * @see /includes/class-wpsight-post-types.php - * - * @since 1.0.0 - */ - public static function delete_listing_previews( $days = '' ) { - global $wpdb; - - // Set number of days - $max = ! empty( $days ) ? $days : apply_filters( 'wpsight_delete_listing_previews_days', 30 ); - - // Make sure $max is positive integer - $max = absint( $max ); - - // Get old listing previews - - $post_ids = $wpdb->get_col( $wpdb->prepare( " + /** + * is_listing_not_available() + * + * Check if a specific listing item is no longer available + * (custom field '_listing_not_available'). + * + * @param integer $post_id Post ID of the corresponding listing (defaults to current post) + * @uses result() + * @uses get_post_meta() + * @uses update_post_meta() + * @uses delete_post_meta() + * @return bool $result True if _listing_not_available has value, else false + * + * @since 1.0.0 + */ + public static function is_listing_not_available( $post_id = '' ) { + + // Set default post ID + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Get old _price_sold_rented value + $sold_rented = get_post_meta( $post_id, '_price_sold_rented', true ); + + if ( ! empty( $sold_rented ) ) { + + // Update new field with old field value + update_post_meta( $post_id, '_listing_not_available', $sold_rented ); + + // Remove old field + delete_post_meta( $post_id, '_price_sold_rented' ); + + } + + // Get custom post meta and set result + $result = get_post_meta( $post_id, '_listing_not_available', true ) ? true : false; + + return apply_filters( 'wpsight_is_listing_not_available', $result, $post_id ); + + } + + /** + * is_listing_pending() + * + * Check if a specific listing has post + * status 'pending' or 'pending_payment'. + * + * @param integer $post_id Post ID of the corresponding listing + * @uses get_the_ID() + * @uses get_post_status() + * @return bool True if post status is 'pending' or 'pending_payment', else false + * + * @since 1.0.0 + */ + public static function is_listing_pending( $post_id = '' ) { + + // Set default post ID + + if ( ! $post_id ) + $post_id = get_the_ID(); + + $pending = array( 'pending', 'pending_payment' ); + + // Check listing status and set result + $result = in_array( get_post_status( $post_id ), $pending ) ? true : false; + + return apply_filters( 'wpsight_is_listing_pending', $result, $post_id ); + + } + + /** + * is_listing_expired() + * + * Check if a specific listing has post status 'expired' + * + * @param integer $post_id Post ID of the corresponding listing + * @uses get_the_ID() + * @uses get_post_status() + * @return bool True if post status is 'expired', else false + * + * @since 1.0.0 + */ + public static function is_listing_expired( $post_id = '' ) { + + // Set default post ID + + if ( ! $post_id ) + $post_id = get_the_ID(); + + // Check listing status and set result + $result = get_post_status( $post_id ) == 'expired' ? true : false; + + return apply_filters( 'wpsight_is_listing_expired', $result, $post_id ); + + } + + /** + * user_can_edit_listing() + * + * True if an the user can edit a listing. + * + * @param integer $post_id Post ID of specific listing + * @uses get_post() + * @uses is_user_logged_in() + * @uses current_user_can() + * @return bool + * + * @since 1.0.0 + */ + public static function user_can_edit_listing( $post_id ) { + + $can_edit = true; + $listing = get_post( $post_id ); + + if ( ! is_user_logged_in() ) { + $can_edit = false; + } elseif ( ! current_user_can( 'edit_listing', $post_id ) ) { + $can_edit = false; + } + + return apply_filters( 'wpsight_user_can_edit_listing', $can_edit, $post_id ); + } + + /** + * delete_listing_previews() + * + * Delete old expired listing previews if number of days + * have passed after last modification and status is preview. + * + * ##### FUNCTION CALLED BY CRON #### + * + * @param int $days Number of days after that previews are deleted + * @uses $wpdb->prepare() + * @uses $wpdb->get_col() + * @uses current_time() + * @uses strtotime() + * @uses date() + * @uses wp_trash_post() + * @return array|bool Array of post IDs, false if no previews deleted + * @see /includes/class-wpsight-post-types.php + * + * @since 1.0.0 + */ + public static function delete_listing_previews( $days = '' ) { + global $wpdb; + + // Set number of days + $max = ! empty( $days ) ? $days : apply_filters( 'wpsight_delete_listing_previews_days', 30 ); + + // Make sure $max is positive integer + $max = absint( $max ); + + // Get old listing previews + + $post_ids = $wpdb->get_col( $wpdb->prepare( " SELECT posts.ID FROM {$wpdb->posts} as posts WHERE posts.post_type = 'listing' AND posts.post_modified < %s AND posts.post_status = 'preview' - ", date( 'Y-m-d', strtotime( '-' . $max . ' days', current_time( 'timestamp' ) ) ) ) ); - - if ( $post_ids ) { - - // If any, delete them all - - foreach ( $post_ids as $post_id ) - wp_delete_post( $post_id, true ); - - return $post_ids; - - } - - return false; - - } - - /** - * search_listing_id() - * - * Perform a search in various listings fields for given string - * - * @param string $search - * @uses wpsight_get_option() - * @uses wpsight_post_type() - * @uses WP_Query() - * @uses wp_list_pluck() - * @return mixed Array of post IDs, false if no previews deleted - * - * @since 1.0.0 - */ - public static function search_listing_id( $search ) { - - $prefix = wpsight_get_option( 'listing_id' ); - - // Built ID search query - - $id_args = array( - 'post_type' => wpsight_post_type(), - 'meta_query' => array( - 'relation' => 'OR', - array( - 'key' => '_listing_id', - 'value' => urlencode( $search ), - 'compare' => '=' - ), - array( - 'key' => '_property_id', - 'value' => urlencode( $search ), - 'compare' => '=' - ), - array( - 'key' => '_listing_id', - 'value' => $prefix . urlencode( $search ), - 'compare' => '=' - ), - array( - 'key' => '_property_id', - 'value' => $prefix . urlencode( $search ), - 'compare' => '=' - ) - ) - ); - - // Execute ID search query - $id_query = new WP_Query( $id_args ); - - if ( ! empty( $id_query->posts ) ) - return wp_list_pluck( $id_query->posts, 'ID' ); - - return false; - - } + ", gmdate( 'Y-m-d', strtotime( '-' . $max . ' days', current_time( 'timestamp' ) ) ) ) ); + + if ( $post_ids ) { + + // If any, delete them all + + foreach ( $post_ids as $post_id ) + wp_delete_post( $post_id, true ); + + return $post_ids; + + } + + return false; + + } + + /** + * search_listing_id() + * + * Perform a search in various listings fields for given string + * + * @param string $search + * @uses wpsight_get_option() + * @uses wpsight_post_type() + * @uses WP_Query() + * @uses wp_list_pluck() + * @return mixed Array of post IDs, false if no previews deleted + * + * @since 1.0.0 + */ + public static function search_listing_id( $search ) { + + $prefix = wpsight_get_option( 'listing_id' ); + + // Built ID search query + + $id_args = array( + 'post_type' => wpsight_post_type(), + 'meta_query' => array( + 'relation' => 'OR', + array( + 'key' => '_listing_id', + 'value' => urlencode( $search ), + 'compare' => '=' + ), + array( + 'key' => '_property_id', + 'value' => urlencode( $search ), + 'compare' => '=' + ), + array( + 'key' => '_listing_id', + 'value' => $prefix . urlencode( $search ), + 'compare' => '=' + ), + array( + 'key' => '_property_id', + 'value' => $prefix . urlencode( $search ), + 'compare' => '=' + ) + ) + ); + + // Execute ID search query + $id_query = new WP_Query( $id_args ); + + if ( ! empty( $id_query->posts ) ) + return wp_list_pluck( $id_query->posts, 'ID' ); + + return false; + + } } diff --git a/includes/class-wpsight-meta-boxes.php b/includes/class-wpsight-meta-boxes.php index 6e97056..926d664 100644 --- a/includes/class-wpsight-meta-boxes.php +++ b/includes/class-wpsight-meta-boxes.php @@ -90,7 +90,7 @@ public function admin_enqueue_scripts() { $post_type = wpsight_post_type(); if ( in_array( $screen->id, array( 'edit-' . $post_type, $post_type ) ) ) - wp_enqueue_style( 'wpsight-meta-boxes', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-meta-boxes' . $suffix . '.css' ); + wp_enqueue_style( 'wpsight-meta-boxes', WPSIGHT_PLUGIN_URL . '/assets/css/wpsight-meta-boxes' . $suffix . '.css', '', WPSIGHT_VERSION ); } diff --git a/includes/class-wpsight-post-types.php b/includes/class-wpsight-post-types.php index eb5f688..002b402 100644 --- a/includes/class-wpsight-post-types.php +++ b/includes/class-wpsight-post-types.php @@ -12,7 +12,7 @@ class WPSight_Post_Type_Listing { * Constructor */ public function __construct() { - + // Register listing post type add_action( 'init', array( $this, 'register_post_type_listing' ), 0 ); @@ -535,17 +535,17 @@ public function custom_statuses_submitdiv() { } ?>