=== Connections Business Directory === Contributors: shazahm1@hotmail.com Donate link: https://connections-pro.com/ Tags: address book, business directory, chamber of commerce business directory, church directory, company business directory, contact directory, custom business directory, directory, directory plugin, listings directory, local business directory, link directory, member directory, staff directory Requires at least: 4.5.3 Tested up to: 5.0 Requires PHP: 5.4 Stable tag: 8.32 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html An easy to use directory plugin to create an addressbook, business directory, member directory, staff directory or church directory. == Description == [Showcase](https://connections-pro.com/showcase/) | [Documentation](https://connections-pro.com/documentation/contents/) | [Support](https://connections-pro.com/support/) | [Templates](https://connections-pro.com/templates/) | [Extensions](https://connections-pro.com/extensions/) Quite simply, Connections Business Directory is one of the [best business directory plugins available](https://wordpress.org/support/plugin/connections/reviews/?filter=5) for WordPress. Its simplicity in design and function, vast array of unique features and versatility are the reasons more and more people are turning to Connections Business Directory for their directory needs. You can use Connections to create a simple address book, maintain a staff or member directory and run a business directory or link directory. Connections Business Directory was built bottom up to be as configurable as possible while providing the features you need. Read on to learn about some of the best features Connections Business Directory has to offer... = Features = * **Seamless integration** with WordPress. * **WordPress 5.0 compatible.** * Supports the WordPress Gutenberg editor with a new directory block. * Compatible with all themes including popular themes such as Avada, Divi, Enfold and OceanWP. * Compatible with most popular page builders such as Elementor, Beaver Builder, Brizy, Visual Composer, Fusion, SiteOrigin, etc... * **[Highly rated support.](https://wordpress.org/support/plugin/connections/reviews/?filter=5)** * [Continuously updated](https://wordpress.org/plugins/connections/#developers) bringing you new features for free. * Dashboard admin page where you can see at a glance today's anniversaries and birthdays as well as upcoming anniversaries and birthdays of members in your directory. * Multiple entry types from which to choose; such as individual, organization and family. The family entry type is unique to Connections. This entry type allows you to group individuals together as a family which makes Connections ideally suited for creating a church directory. * You control which entries are viewable to the public and which entries are private, viewable for logged in users only. You can even have entries set as unlisted so only admins can view them. * **[Repeatable fields](https://connections-pro.com/documentation/add-entry/#Repeatable_Fields)** for address, phone numbers, email, IM, social media, links and dates which allow you to add as much or as little as you need for each business in your business directory. * Hierarchical (nested) **category support**. Businesses and members in your business directory can be added to any number of categories. * Include a biographical text for an individual member or business description for each entry in your business directory using an easy to use rich text editor. * You can easily add a business logo or photo of the staff member for each entry in your business directory or staff directory. The photo and logo images are fully responsive with **HiDPI (Retina) display support**. * **Scalable,** manage directories which [contain hundreds of thousands of entries](https://wordpress.org/support/topic/scales-to-at-least-250000-entries). * **[CSV Export](https://connections-pro.com/documentation/tools/#Export)** of addresses, phone numbers, email addresses and dates. * **[CSV Import](https://connections-pro.com/documentation/tools/#Categories-2)** of **nested** categories. * **[Role capability support](https://connections-pro.com/documentation/roles/)**. * [Displaying your business directory on the frontend is as simple as putting a shortcode on a page.](https://connections-pro.com/documentation/install/#Step_4_Displaying_your_Directory) Don't let this simplicity fool you. The shortcode provides a large array of options that are just too numerous to list. To learn more, [go here](https://connections-pro.com/documentation/plugin/shortcodes/). * **SEO.** Every entry in your business directory outputs following the [hCard](http://microformats.org/wiki/hcard) spec. Soon to be updated to following Schema.org. * **[Extensible](https://connections-pro.com/extensions/)** and developer friendly. * Robust **templating support** with the [Template Customizer](https://connections-pro.com/2015/07/27/feature-preview-template-customizer/). Several basic templates are provided to get you started with you business directory with many more [premium templates available](https://connections-pro.com/templates/) to really make your business directory shine. = Extensible = Here are some great **free extensions** (with more on the way) that enhance your experience with Connections Business Directory: **Utility** * [Toolbar](https://wordpress.org/plugins/connections-toolbar/) :: Provides quick links to the admin pages from the admin bar. * [Login](https://wordpress.org/plugins/connections-business-directory-login/) :: Provides a simple to use login shortcode and widget. * [Anniversary and Birthday Emails](https://wordpress.org/plugins/connections-business-directory-anniversary-and-birthday-emails) :: Add the ability to automatically send a customizable email to entries on their anniversary or birthday. **Custom Fields** * [Business Open Hours](https://wordpress.org/plugins/connections-business-directory-hours/) :: Add the business open hours. * [Certifications](https://wordpress.org/plugins/connections-business-directory-certifications/) :: Create and assign certifications to individuals in your directory. * [Local Time](https://wordpress.org/plugins/connections-business-directory-local-time/) :: Add the business local time. * [Facilities](https://wordpress.org/plugins/connections-business-directory-facilities/) :: Add the business facilities. * [Income Level](https://wordpress.org/plugins/connections-business-directory-income-levels/) :: Add an income level. * [Education Level](https://wordpress.org/plugins/connections-business-directory-education-levels/) :: Add an education level. * [Languages](https://wordpress.org/plugins/connections-business-directory-languages/) :: Add languages spoken. * [Hobbies](https://wordpress.org/plugins/connections-business-directory-hobbies/) :: Add hobbies. **Misc** * [Face Detect](https://wordpress.org/plugins/connections-business-directory-face-detect/) :: Applies face detection before cropping an image. **[Premium Extensions](https://connections-pro.com/extensions/)** * [Authored](https://connections-pro.com/add-on/authored/) :: Displays a list of blog posts written by the entry on their profile page. * [Contact](https://connections-pro.com/add-on/contact/) :: Displays a contact form on the entry's profile page to allow your visitors to contact the entry without revealing their email address. * [CSV Import](https://connections-pro.com/add-on/csv-import/) :: Bulk import your data in to your directory. * [Custom Category Order](https://connections-pro.com/add-on/custom-category-order/) :: Order your categories exactly as you need them. * [Custom Entry Order](https://connections-pro.com/add-on/custom-entry-order/) :: Allows you to easily define the order that your business directory entries should be displayed. * [Enhanced Categories](https://connections-pro.com/add-on/enhanced-categories/) :: Adds many features to the categories. * [Form](https://connections-pro.com/add-on/form/) :: Allow site visitor to submit entries to your directory. Also provides frontend editing support. * [Link](https://connections-pro.com/add-on/link/) :: Links a WordPress user to an entry so that user can maintain their entry with or without moderation. * [ROT13 Encryption](https://connections-pro.com/add-on/rot13-email-encryption/) :: Protect email addresses from being harvested from your business directory by spam bots. * [SiteShot](https://connections-pro.com/add-on/siteshot/) :: Show a screen capture of the entry's website. * [Widget Pack](https://connections-pro.com/add-on/widget-pack/) :: A set of feature rich, versatile and highly configurable widgets that can be used to enhance your directory. **[Premium Templates](https://connections-pro.com/templates/)** Connections Business Directory comes with a couple templates to get you started which fully support the [Template Customizer](https://connections-pro.com/2015/07/27/feature-preview-template-customizer/). In addition to these free templates there are many premium templates available to take your business directory the level visually. * [Circled](https://connections-pro.com/add-on/circled/) :: A simple but bold template specifically designed for displaying small team or staff directory. * [cMap](https://connections-pro.com/add-on/cmap/) :: Our most popular go to template for a business directory and chamber of commerce business directory, featuring full Template Customizer support. * [Excerpt Plus](https://connections-pro.com/add-on/excerpt-plus/) :: Simple design which features a directory entry name, photo thumbnail and excerpt. * [Gridder](https://connections-pro.com/add-on/gridder/) :: Another simple but bold template which displays the directory in a grid layout. Perfect for displaying a small team or staff directory * [Slim Plus](https://connections-pro.com/add-on/slim-plus/) :: Specifically designed to take up as little space on the page as possible. * [Tile Plus](https://connections-pro.com/add-on/tile-plus/) :: This template was purposely designed to display the directory in a grid or column layout. = Developer Friendly = * Open development on [Github](https://github.com/Connections-Business-Directory/Connections). * Access to **180 action hooks** and over **300 filters** ... and counting. * Term API. * Custom Metabox and Fields API. * Template Engine and API. * Fragment Cache API. * Log API (stateless and stateful). * Admin Notices API. * Email API. * Settings API. Connections Business Directory has a very flexible template engine. The loading of template and CSS are context aware. This means you could create specific templates that load when a user visits a specific entry, category, postal code and more. Templates and CSS overriding is very granular and update safe. Check out these links for the details: * [Custom Core CSS](https://connections-pro.com/2014/05/04/quicktip-custom-css/) * [Custom CSS for Templates](https://connections-pro.com/2014/05/07/quicktip-custom-css-templates/) * [Custom Template Override File](https://connections-pro.com/2014/06/04/quicktip-custom-template-override-files/) = Languages = Connections Business Directory has been embraced around the world and has been translated by its users in the following languages. * Arabic [60% Complete] * Catalan [52% Complete] * Croatian (Croatia) [22% Complete] * Danish [31% Complete] * Danish (Denmark) [29% Complete] * Dutch (Netherlands) [49% Complete] * Finnish [78% Complete] * French (France) [90% Complete] * German (Germany) [86% Complete] * Greek (Greece) [69% Complete] * Hebrew (Israel) [61% Complete] * Hungarian (Hungry) [52% Complete] * Italian (Italy) [58% Complete] * Norwegian [13% Complete] * Persian (Iran) [52% Complete] * Polish (Poland) [52% Complete] * Portuguese (Brazil) [77% Complete] * Portuguese (Portugal) [24% Complete] * Romanian (Romania) [69% Complete] * Russian (Russia) [40% Complete] * Serbian (Latin) [2% Complete] * Spanish (Latin America) [49% Complete] * Spanish (Mexico) [99% Complete] * Spanish (Spain) [99% Complete] * Sweden (Swedish) [96% Complete] * Turkish (Turkey) [58% Complete] == Credits: == * Connection Business Directory was based off LBB, ["Little Black Book"](https://wordpress.org/extend/plugins/lbb-little-black-book/); which was based on [Addressbook](https://wordpress.org/extend/plugins/addressbook/), both of which can be found in the Plugin Directory. * vCard class is a modified version by [Troy Wolf](http://www.troywolf.com/articles/php/class_vcard/). * Update Notice in plugin admin inspired by Changelogger 1.2.8 by [Oliver Schlöbe](https://wordpress.org/extend/plugins/changelogger/). * Screen Options class by [Janis Elsts](http://w-shadow.com/blog/2010/06/29/adding-stuff-to-wordpress-screen-options/). * $.goMap() jQuery Google Maps Plugin by [Jevgenijs Shtrauss](http://www.pittss.lv/jquery/gomap/). * MarkerClustererPlus jQuery Google Maps Marker Clustering Plugin by [Gary Little](http://gmaps-utility-library-dev.googlecode.com/svn/tags/markerclusterer/). * Validation jQuery plugin by [Jörn Zaefferer](http://bassistance.de/jquery-plugins/jquery-plugin-validation/). * Chosen jQuery plugin by [Harvest](https://github.com/harvesthq/chosen/). * qTip jQuery plugin by [Craig Thompson](http://craigsworks.com/projects/qtip2/). * Email and URL validation methods by [Gizmo Digital Fusion](http://wpcodesnippets.info/blog/two-useful-php-validation-functions.html). * Social media icons by [WPZOOM.com](http://www.wpzoom.com/wpzoom/500-free-icons-wpzoom-social-networking-icon-set/); license [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/). * iTunes icon by [Paul Robert Lloyd](http://paulrobertlloyd.com/); license [Attribution-ShareAlike 2.0 UK: England & Wales (CC BY-SA 2.0)](http://creativecommons.org/licenses/by-sa/2.0/uk/). * Podcast icon by [schollidesign](http://findicons.com/icon/94188/podcast_new); license GNU/GPL. * CSS theme and image used for the jQuery UI Datepicker by [helenhousandi](https://github.com/helenhousandi/wp-admin-jquery-ui). == Screenshots == 1. The many possible faces of your business directory. Connections Business Directory supports templates. This screenshot showcases (left to right) [Excerpt Plus](https://connections-pro.com/add-on/excerpt-plus/), [Circled](https://connections-pro.com/add-on/circled/), [Gridder](https://connections-pro.com/add-on/gridder/), [Tile Plus](https://connections-pro.com/add-on/tile-plus/) and [Slim Plus](https://connections-pro.com/add-on/slim-plus/). 2. Another screenshot showcasing the different templates that can be used to style your business directory. Left to right; [Circled](https://connections-pro.com/add-on/circled/), [cMap](https://connections-pro.com/add-on/cmap/) and [Gridder](https://connections-pro.com/add-on/gridder/). 3. The [Dashboard admin page](https://connections-pro.com/documentation/dashboard/). A snapshot of important information about the business directory. 4. The [Manage admin page](https://connections-pro.com/documentation/manage/). Here you can manage all the entries within the address book. 5. The [Add New Entry admin page](https://connections-pro.com/documentation/add-entry/). From here you can add new entries to the addressbook. 6. The [Categories admin page](https://connections-pro.com/documentation/categories/). Add as many categories as you wish to the directory. Categories do support parent/child relationships. 7. The [Templates admin page](https://connections-pro.com/documentation/templates/). Here you choose which template that the business directory should use when displaying the directory. 8. The [Settings admin page](https://connections-pro.com/documentation/settings/) where you can configure the business directory options. 9. The [Role and Capabilities admin page](https://connections-pro.com/documentation/roles/). Here you can assign which roles have which capabilities in viewing and managing the directory. 10. The [Tools :: Export admin page](https://connections-pro.com/documentation/tools/#Export) contains many different CSV export tools to allow you to easily export the data from your business directory. 11. The [Tools :: Import admin page](https://connections-pro.com/documentation/tools/#Categories-2) allows you to quickly bulk import nested categories into your business directory. 12. In the event that you need support the [Tools :: System Information admin page](https://connections-pro.com/documentation/tools/#System_Information) contains all the information needs about your directory installation which can be easily and quickly shared. 13. Need to move the configuration of your business directory from one site to another? The [Tools : Settings Import/Export admin page](https://connections-pro.com/documentation/tools/#Settings_ImportExport) allows you to do it with zero fuss. This will even migrate the Template Customizer settings applied to template and any of the settings for the [premium extensions](https://connections-pro.com/extensions/). [Connections running on live websites can be found here.](https://connections-pro.com/showcase/) == Frequently Asked Questions == A comprehensive list of [FAQs can be found here.](https://connections-pro.com/faq/) = How do I install Connections? == [Installation instructions can be found here.](https://connections-pro.com/documentation/plugin/install/) Using the WordPress Plugin Search 1. Navigate to the `Add New` sub-page under the Plugins admin page. 2. Search for `connections business directory`. 3. The plugin should be listed first in the search results. 4. Click the `Install Now` link. 5. Lastly click the `Activate Plugin` link to activate the plugin. Uploading in WordPress Admin 1. [Download the plugin zip file](https://wordpress.org/plugins/connections/) and save it to your computer. 2. Navigate to the `Add New` sub-page under the Plugins admin page. 3. Click the `Upload` link. 4. Select Connections Business Directory zip file from where you saved the zip file on your computer. 5. Click the `Install Now` button. 6. Lastly click the `Activate Plugin` link to activate the plugin. Using FTP 1. [Download the plugin zip file](https://wordpress.org/plugins/connections/) and save it to your computer. 2. Extract the Connections Business Directory zip file. 3. Create a new directory named `connections` directory in the `../wp-content/plugins/` directory. 4. Upload the files from the folder extracted in Step 2. 4. Activate the plugin on the Plugins admin page. = How do I display the business directory on my site? = We have a [QuickStart](https://connections-pro.com/quickstart/) available that'll walk you thru the most basic setup. Basically all you need to do is, create a page, and add the `[connections]` shortcode and then start adding entries to your directory. = Will it work with my theme? = Connections Business Directory has been designed to work with any theme. = Is Connections Business Directory translation-ready? = Yes it is. Connections Business Directory comes with many user supplied translations. We use Transifex to manage translations. This service make it easy for us manage and easy for you to translate. To read more, see [this page](https://connections-pro.com/documentation/translation/). = Is Connections Business Directory compatible with WordPress Multisite? = Yes it is. However, do not Network activate Connections. Activate it on only the subsites that you wish to use Connections. = Is it possible to share entries with other sites within a WordPress Multisite installation? = Yes this is possible but there is a special setup required to do so. It is recommended this is done before added entries to your business directory. 1. Activate Connections Business Directory the primary site. 2. Add `define( 'CN_MULTISITE_ENABLED', FALSE );` to your `wp-config.php` file. **NOTE:** If you have added any entries to any of your subsites, that data will be lost as Connections will read the directory entry data from the primary site's database tables. 3. Activate Connections Business Directory on the subsites you wish to use Connections. = What are the requirements to run Connections? = * **WordPress version:** >= 4.4 * **PHP version:** >= 5.2.4 ( >= 7.0 is highly recommended) * **NOTE:** Upgrading from version 0.6.1 and newer only, is supported. Previous version must upgrade to 0.6.1 before upgrading to the current version. == Changelog == [Complete Changelog can be found here.](https://connections-pro.com/changelog/) = 8.32 11/30/2018 = * BREAKING CHANGE: Renamed the block namespace. If you used the Connections block in WP 5.0-rc1, you'll need to update the block. * FEATURE: Introduce the Upcoming List block for the WordPress 5.0 editor. * NEW: Introduce a `no_results` option to the `[upcoming_list]` shortcode so the no results message can be customized. * NEW: Introduce `cnDate::GetUpcoming()`. * TWEAK: No need to use the `editor_script` parameter in `register_block_type()` since is is enqueued in the `enqueue_block_editor_assets` hook. * TWEAK: Check for the `wp_set_script_translations()` function before registering blocks. It seems this function does not exist when using the Gutenberg plugin. So, lets not support the Gutenberg plugin and support only WP 5.0. * TWEAK: Update the anniversary and birthday template with more specific CSS so they do no conflict. * TWEAK: Rename the Directory block advanced settings field. * TWEAK: Add missing period to upcoming list heading. * TWEAK: Add a default heading to the upcoming list. * TWEAK: Remove unused code from upcoming list. * TWEAK: The `list_title` option for the `[upcoming_list]` shortcode should default to an empty string and not `null`. * TWEAK: Update the dark and light templates for Anniversaries and Birthdays so they support all registered date types. * BUG: Do not attach Chosen to the country field when the field is disabled. * DEV: Add some inline comments to describe the `register_block_type()` parameters since they are not outlined in the Gutenberg documentation. * DEV: Add inline comment for the `html` parameter for the `registerBlockType()` function. * DEV: Reorder the deconstructed `wp.i18n` methods. * DEV: Add classnames and lodash as dev dependencies to package.json. = 8.31 11/23/2018 = * NEW: WordPress 5.0 Support. * FEATURE: Gutenberg Block to which can be used to insert the directory into the page. * TWEAK: Update the attribution link to Leaflet. * TWEAK: Exclude the Leaflet CSS from Autoptimize. * TWEAK: The custom HTML elements for the map layers control should be hidden. * TWEAK: Remove unnecessary `is_admin()` check when registering CSS. * DEV: Update package.json with dev dependencies to support webpack. * DEV: Initial babel and webpack config. = 8.30.1 11/09/2018 = * BUG: Update map blocks minified JavaScript assets. = 8.30 11/08/2018 = * NEW: Introduce `cnOptions::getBaseGeoCoordinates()`. * TWEAK: Use current version for the Map Block JS script for cache busting. * TWEAK: Rename file which registers the settings options. * TWEAK: Default the `[cn-mapblock/]` shortcode map center to the user defined country/region. * BUG: Properly detect if section is a WP core settings section so it is not prefixed with the plugin ID. * OTHER: Begin work on modern settings API. * DEV: phpDoc correction. * DEV: Fix code alignment/flow. = 8.29 11/02/2018 = * NEW: Display the road map/satellite map options when displaying the Google Maps tiles. * NEW: Add support for the map layer control to the Connections Maps API. * NEW: Update the `[cm-mapblock]` shortcode to support the map layer control to toggle the display of layer groups. Display the road map/satellite map options when displaying the Google Maps tiles. * NEW: Add "Get Directions" button to map pin popup which opens a Google Maps Direction page. = 8.28.5 10/26/2018 = * TWEAK: Minor tweak to the Profile template to allow the bio to flow up on the detail view. * BUG: Correct bug with the exclude categories option when registering the Category metabox. = 8.28.4 10/16/2018 = * NEW: Include `\ForceUTF8\Encoding` library. * TWEAK: Now that date types can be customized and/or disabled, do not default to `birthday` when performing an upcoming query. Instead, return no results. * BUG: Escape email header log items so `<` and `>` will be displayed correctly when viewing them. = 8.28.3 10/09/2018 = * TWEAK: Add case for `update.php` for plugin check timeouts to prevent a plugin update being shown as available after being installed. * BUG: HTML data attributes need to be quoted. * BUG: Sanitize before saving the repeatable fields. * OTHER: Remove extra whitespace. = 8.28.2 09/28/2018 = * TWEAK: Additional tweaks to jQuery Appear to prevent conflicts with older versions of itself. * BUG: Fix map zoom default for when a single marker is being displayed to prevent a blank map. * OTHER: Update the Picturefill polyfill to version 3.0.2. * OTHER: Update jQuery Chosen to 1.8.7. * OTHER: Update Font Awesome to version 5.3.1. * OTHER: Update jQuery qTip to 3.0.3. * OTHER: Remove references/includes to `class.upload.php`. Has not been utilized in over 4 years. No longer required for backward compatibility. = 8.28.1 09/24/2018 = * TWEAK: Remove the advanced compatibility option to remove the registration of the Google Maps API as it is no longer relevent. * TWEAK: Remove advance compatibility option to define whether the JavaScript libraries are loaded in the page header or footer. * TWEAK: Remove usage of `cnOptions::getJavaScriptFooter()` throughout. * TWEAK: Refactor deprecated `cnOptions::getJavaScriptFooter()` and `cnOptions::getGoogleMapsAPI()` to simply return true. * TWEAK: Couple CSS tweaks to further help prevent theme's from applying styles to map tiles. * TWEAK: Rename jQuery appear to jQuery cnAppear to prevent clashes with older versions of the jQuery plugin. * BUG: Do not bind a popup to the map level marker if no content was captured via the shortcode. * BUG: Autofill state (region) and country not functioning correctly under some circumstances. * I18N: Update POT file. * I18N: Update MO files. * DEV: Remove commented out code. = 8.28 09/14/2018 = * NEW: Bump minimum PHP version to 5.4. * NEW: Introduce the Map API with multiple map tile service providers such as Google Maps, Wikimedia Maps and OpenStreetMaps. * NEW: Add new shortcode which utilizes the new Map API. * NEW: Templates which support displaying maps will default to displaying Wikimedia Maps if Google Maps API has not been setup. * NEW: Templates which support display of maps will now display a map marker for each address added to the entry with a popup displaying the address. * TWEAK: Tweak Divi's Grab first post image option compatibility. * TWEAK: Tweak logic applied for Maps Marker plugin compatibility. * TWEAK: Remove the copy entry action until it can be fixed. * TWEAK: Default the base map tiles to Wikimedia instead of OpenStreetMap when displaying the geocoding map in admin when adding/editing and entry. * TWEAK: Replace spaces with hyphens when escaping the HTML element id attribute. * TWEAK Refactor `cnOutput::getMapBlock()` to utilize the new Map API. * BUG: The `cnHTML::attribute()` method had a double 'data' in switch statement. Rename duplicate to 'data-array` to reflect intended application. * OTHER: Remove stray whitespace. * OTHER: Remove EOL from `cnOutput::mapBlock()`. * OTHER: Remove usage of deprecated `getJavaScriptFooter()` method. * DEV: Add a few helper methods to cnCoordinates to create object from various supplied types. * DEV: Add `__String()` to cnCoordinates. = 8.27 08/31/2018 = * NEW: Add Algolia as a geocoding provider. * TWEAK: Default to Algolia to geocode address if the Google Maps API Server key has not been set in the settings. * TWEAK: Switch from the goMap library to the Leaflet library to provide mapping and geocoding when clicking the Geocode button while adding an address. * TWEAK: Default to Wikimedia Maps to display maps if the Google Maps API Browser key has not been set in the settings. * DEV: phpDoc corrections * DEV: A package.json update to remove grunt-phpdocumentor. = 8.26 08/20/2018 = * NEW: Introduce multiple service provider geocoding API. * NEW: Refactor entry action to geocode addresses to utilize the new multiple service provider geocode API. * TWEAK: Tweak to `cnEntry_Collection_Item::__isset()` and `cnEntry_Collection_Item::__get()` so empty() calls return values as expected. * TWEAK: Remove duplicate code in `cnAddress` by extending it using `cnEntry_Collection_Item` to match the other entry object types. * TWEAK: Add toArray method to cnCoordinates. * TWEAK: Move country an coordinates to the Model folder. * TWEAK: Move cnTimezone to Model folder. * TWEAK: Update user-agent sent when doing plugin update check. * TWEAK: Update dependencies registry to account for file path changes. * TWEAK: Remove old geocoding functions. * DEV: phpDoc additions and corrections. = 8.25.1 08/06/2018 = * BUG: Add limit parameter to `cnOutput::getDateBlock()` to correct index not defined PHP notice. * DEV: phpDoc correction. = 8.25 08/01/2018 = * TWEAK: Refactor the Manage admin page to utilize `cnEntryDates::render()`. * TWEAK: Refactor `cnEntry_Output::getDateBlock()` to utilize the `cnEntry_Dates` objects `render()` method using templates. * TWEAK: Remove unused parameters from methods in cnOutput. * BUG: Correct a couple typos in `cnEntry_Dates::render()`. * I18N: Update POT file. * I18N: Update MO files. * DEV: phpDoc correction. = 8.24 07/27/2018 = * NEW: Introduce `cnString::replaceFirst()` and `cnString::replaceLast()`. * TWEAK: Refactor `cnEntry` to utilize `cnEntry_Dates`. * TWEAK: Refactor `cnShortcode::single()` to utilize `cnString::replaceFirst()`. * TWEAK: Use `wp_kses_post()` instead of `esc_html()` to display setting descriptions so HTML such as links can be used. * TWEAK: Add missing link to documentation in the content block setting descriptions. * I18N: Update POT file. * I18N: Update MO files. * OTHER: Correct copy/paste error within some inline code comments. = 8.23 07/23/2018 = * BUG: Honor the `$saving` parameter when querying entry data from its object cache. = 8.22 07/18/2018 = * FEATURE: Introduce the Date Fieldset configuration options. * NEW: Introduce `cnEntry_Dates()` and `cnEntry_Date()`. * TWEAK: Init a new cnMessenger object instead of stdClass when creating "dummy" objects for the messenger fieldset. * TWEAK: Ensure `$screen` is instance of WP_Screen before accessing methods. * TWEAK Make data parameter in cnAddress, cnPhone, cnEmail_Address, cnLink and cnMessenger optional. Default to array. * TWEAK: Init each entry template field with the corresponding object instead of a generic stdClass. * TWEAK: If there are no active entry types, use the default entry type. * BUG: Get default messenger type instead of default email type in the messenger fieldset. * BUG: Sanitize messenger user ID correctly. * OTHER: Add trailing comma to array. * DEV: phpDoc corrections. = 8.21 06/11/2018 = * TWEAK: Remove usage of `$connections` global from `cnOutput::vcard()`. * TWEAK: Update `cnText_Domain::create()` to accept the plugin basename parameter. * TWEAK: Tweak the `cnText_Domain::register()` `$priority` parameter to accept a value of `load` so the text domain is loaded instead of registered via the `plugins_loaded` action hook. * TWEAK: Requirements check for tested up to compatibility only compares major.minor ignoring release version. * TWEAK: Remove unused parameters from methods in cnOutput. * TWEAK: Refactor `cnEntry_Output::getLinkBlock()` to utilize the `cnEntry_Links` objects `render()` method using templates. * I18N: Add translation text context for person "Title" and link "Title" so the can be translated individually. * COMPATIBILITY: Compatibility tweak for the MayaShop theme. Remove the filter being applied to the `clean_url` being applied by the theme. * BUG: `cnOutput::renderMetaBlock()` should echo, not return. * DEV: Some phpDoc cleanup. = 8.20 06/01/2018 = * NEW: Load plugin only if the current environment passes the requirements checks. * NEW: Bump minimum WP version to 4.5.3. * NEW: Introduce cnRequirements_Check. * TWEAK: Disable the no shortcode 404 trigger. Once again foiled by visual page builders! * TWEAK: Add the address property to cnLink for backwards compatibility. * TWEAK: Strip tags when displaying the upgrade notice. * TWEAK: Tweak regex for parsing the extensions changelog text to be compatible with EDD-SL >= 3.6. * TWEAK: Add Settings heading to the settings admin page. * TWEAK: Slight refactor of cnText_Domain to make it plugin-agnostic, not rely on plugin constants, so it can be utilized by add-ons to reduce code duplication. * BUG: If link title is blank, use the link URL. * BUG: Remove extra div/unclosed tags on the manage admin page. * COMPATIBILITY: Divi, disable the "Grab the first post image" option on pages where the `[connections]` shortcode exists. = 8.19.1 05/09/2018 = * BUG: If link title is blank, use the link URL. * BUG: Add the address property to cnLink for backwards compatibility. = 8.19 05/02/2018 = * NEW: Introduce the `cn_customizer_image_options` filter. * NEW: Introduce `cnEntry_Links()` and `cnLink()`. * NEW: Introduce helper methods `maybeUnserialize()` and `fromMaybeSerialized()` to ` cnEntry_Object_Collection`. * NEW: Introduce `cnEntry_Image`. * TWEAK: Ensure link URL is a string before prefixing it and passing it to the objects property. * TWEAK: Update cnLink with helper methods for attaching a link to an image and add helper methods to get which image the link might be attached to. * TWEAK: Update cnEntry_Links, added support to filter links attached to images. * TWEAK: Move the messenger back compatibility logic from `cnEntry` to `cnEntry_Messenger_IDs`. * TWEAK: Refactor `cnEntry` to utilize `cnEntry_Links`. * TWEAK: Init the `cnEntry_Image` object and refactor code, moving the legacy image processing logic to `cnEntry_Image`. * TWEAK: If shortcode is not found in post content and a registered query var is detected, trigger a 404. * DEV: phpDoc updates. * DEV: Remove dead commented out code from constructor in `cnEntry`. * DEV: Remove unused method properties in `cnEntry`. * DEV: Remove unused private method in `cnEntry`. * DEV: Remove unused properties in `cnEntry`. * DEV: Change `satooshi/php-coveralls` to `php-coveralls/php-coveralls` in composer.json. * DEV: Update `php-coveralls/php-coveralls` required version. = 8.18 04/20/2018 = * TWEAK: Switch all `is_a()` instances of to `instanceof`. * TWEAK: Update teh jQuery Validate library to 1.17.0. * TWEAK: Add option to `cnOutput::getImage()` to enable the logo/photo to be a entry permalink unless overridden by an assigned link. * TWEAK: Update the Default Entry Card template so the logo/photo will be a permalink to the entry. * TWEAK: Update the Profile template so the logo/photo will be a permalink to the entry. * TWEAK: Rename `cnSEO::trigger404()` to `cnSEO::trigger404_entryNotFound()`. * OTHER: Correct misspelling. * DEV: phpDoc corrections. * DEV: Remove unused variables. [Complete Changelog can be found here.](https://connections-pro.com/changelog/) == Upgrade Notice == = 8.18 = It is recommended to backup before updating. Requires WordPress >= 4.4 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.19 = It is recommended to backup before updating. Requires WordPress >= 4.4 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.19.1 = It is recommended to backup before updating. Requires WordPress >= 4.4 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.20 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.21 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.22 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.23 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.24 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.25 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.25.1 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3. PHP version >= 7.1 recommended. = 8.26 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.3.9. PHP version >= 7.1 recommended. = 8.27 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28.1 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28.2 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28.3 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28.4 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.28.5 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.29 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.30 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.30.1 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.31 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended. = 8.32 = It is recommended to backup before updating. Requires WordPress >= 4.5.3 and PHP >= 5.4 PHP version >= 7.1 recommended.