=== Connections Business Directory === Contributors: shazahm1@hotmail.com Donate link: http://connections-pro.com/ Tags: addresses, address book, addressbook, bio, bios, biographies, business, businesses, business directory, business-directory, business directory plugin, directory widget, church, contact, contacts, connect, connections, directory, directories, hcalendar, hcard, ical, icalendar, image, images, list, lists, listings, member directory, members directory, members directories, microformat, microformats, page, pages, people, profile, profiles, post, posts, plugin, shortcode, staff, user, users, vcard, wordpress business directory, wordpress directory, wordpress directory plugin, wordpress business directory, wordpress local directory plugin Requires at least: 3.8 Tested up to: 4.2 Stable tag: 8.2.7 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Connections Business Directory is an easy to use directory plugin to create an addressbook, business directory, staff directory or church directory. == Description == [Homepage](http://connections-pro.com/) | [Documentation](http://connections-pro.com/documentation/plugin/) | [Showcase](http://connections-pro.com/showcase/) | [Templates](http://connections-pro.com/templates/) | [Extensions](http://connections-pro.com/extensions/) | [Github](https://github.com/shazahm1/Connections) Quite simply, Connections Business Directory is the best directory plugin available 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 for their directory needs. You can use Connections to create a simple address book, maintain a staff directory and run a business directory or link directory. Connections 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 has to offer... = Features = * Both the photo and logo images are fully responsive with HiDPI (Retina) display support. * Seamless integration with the WordPress. * A Dashboard admin page where you can keep up to date with Connections related news, such as updates notices for [templates](http://connections-pro.com/templates/) and the [Extensions](http://connections-pro.com/extensions/). Also see at a glance today's anniversaries and birthdays as well as any upcoming anniversaries and birthdays. * When adding an entry there are multiple entry types from which to choose. They are 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 church directories. * 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. * Fields, fields and more fields... no other directory plugin offers more. There are fields for addresses, phone numbers, email addresses, IM, social networks, an image, a logo, bio, notes and more. Want more? Many fields, such as addresses and phone numbers, you can assign as many as you need. Wait, I'm not done yet... want to be able to list the business phone but keep that cell phone number private? You can do that, too. Most of the fields have selectable visibility. What this means is you can have an entry set as public but keep personal details private or even unlisted so only them admin can view it. * Connections is being used to manage directories which contain tens of thousands of entries so the ability to manage them easily is a must- a task which Connections stands and delivers. You can filter the entries list by category, entry type and visibility. You can search for entries. You can even search within the filtered entries. Of course Connections doesn't stop there, there are several bulk actions available to make changes a breeze. * Category support. This feature was modeled after the category feature for WordPress posts. So if you know how to add and manage categories for posts, you know how they work for Connections. Categories can be hierarchical and entries can be assigned to any number of categories. * Extensive role capability support. For your users that have access to the WordPress admin, there is extensive role capability support. You can define which roles can perform tasks to manage entries in Connections. * Unrivaled customization with templates. Connections comes with many basic templates to get you started. For many, these meet their needs. But if you need more than these basic templates provide, check out these great [premium templates](http://connections-pro.com/templates/). * Displaying your entries on the front end is as simple as putting a shortcode on a page. Don't let this simplicity fool you. The Connections shortcode provides almost a dizzying array of options that are just too numerous to list. But if you want to know more, you can find it [here](http://connections-pro.com/documentation/plugin/shortcodes/). * Even a bit of SEO was sprinkled in. Every entry outputs following the [hCard](http://microformats.org/wiki/hcard) spec. = Extensible = Here are other great free extensions (with more on the way) that enhance your experience with the Connections Business Directory: Utility * [Toolbar](http://wordpress.org/plugins/connections-toolbar/) * [Login](http://wordpress.org/plugins/connections-business-directory-login/) Custom Fields * [Business Hours](http://wordpress.org/plugins/connections-business-directory-hours/) * [Income Level](http://wordpress.org/plugins/connections-business-directory-income-levels/) * [Education Level](http://wordpress.org/plugins/connections-business-directory-education-levels/) * [Languages](http://wordpress.org/plugins/connections-business-directory-languages/) In addition to these free extensions Connections Business Directory also features a growing library of [premium extensions](http://connections-pro.com/extensions/). = Developer Friendly = Connections Business Directory provides a vast array of hooks and filters so it can be easily extended. The directory has a very flexible template engine. The loading of template and CSS are context aware. This means your developer 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](http://connections-pro.com/2014/05/04/quicktip-custom-css/) * [Custom CSS for Templates](http://connections-pro.com/2014/05/07/quicktip-custom-css-templates/) * [Custom Template Override File](http://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 [86% Complete] * Catalan [76% Complete] * Croatian (Croatia) [35% Complete] * Danish [46% Complete] * Danish (Denmark) [40% Complete] * Dutch (Netherlands) [71% Complete] * French (France) [85% Complete] * German (Germany) [68% Complete] * Hebrew (Israel) [88% Complete] * Hungarian (Hungry) [75% Complete] * Italian (Italy) [45% Complete] * Norwegian [18% Complete] * Persian (Iran) [75% Complete] * Polish (Poland) [76% Complete] * Portuguese (Brazil) [72% Complete] * Portuguese (Portugal) [34% Complete] * Romanian (Romania) [99% Complete] * Russian (Russia) [39% Complete] * Serbian (Latin) [3% Complete] * Spanish (Latin America) [71% Complete] * Spanish (Spain) [88% Complete] * Thai [1% Complete] * Turkish (Turkey) [83% Complete] == Credits: == * This plugin was based off LBB, ["Little Black Book"](http://wordpress.org/extend/plugins/lbb-little-black-book/); which was based on [Addressbook](http://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/). * Image uploading and processing done by the class.upload.php by [Colin Verot](http://www.verot.net/php_class_upload.htm). * Update Notice in plugin admin inspired by Changelogger 1.2.8 by [Oliver Schlöbe](http://wordpress.org/extend/plugins/changelogger/). * TimThumb by [Ben Gillbanks and Mark Maunder](http://code.google.com/p/timthumb/). * Screen Options class by [Janis Elsts](http://w-shadow.com/blog/2010/06/29/adding-stuff-to-wordpress-screen-options/). * spin.js by [Felix Gnass](http://fgnass.github.com/spin.js/). * $.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/). * Preloading GIF generated by [Preloaders.net](http://www.preloaders.net/). * 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 Dashboard admin page. A snapshot of important information about the directory. 2. The Manage admin page. Here you can manage all the entries within the address book. 3. The Add New Entry admin page. From here you can add new entries to the addressbook. 4. The Categories admin page. Add as many categories as you wish to the directory. Categories do support parent/child relationships. 5. The Templates admin page. Here you choose which template that the business directory should use when displaying the directory. 6. The Settings admin page where you can configure the business directory options. 7. The Role and Capabilities admin page. Here you can assign which roles have which capabilities in viewing and managing the directory. [Connections running on live websites can be found here.](http://connections-pro.com/showcase/) == Installation == [Installation instructions can be found here.](http://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](http://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](http://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. = Requirements = * **WordPress version:** >= 3.8 * **PHP version:** >= 5.2.4 * **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. == Frequently Asked Questions == [FAQs can be found here.](http://connections-pro.com/faq/) = How do I display the business directory on my site? = We have a [QuickStart](http://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. = 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](http://connections-pro.com/documentation/connections/translation/). == Changelog == = 8.2.7 05/12/2015 = * BUG: Add missing $default_term property to CN_Term_Admin_List_Table. * BUG: Set maximum character for indexes to 191 when creating indexes to support WordPress 4.2 move to utf8mb4. * BUG: Correct LinkedIn spelling. * BUG: Fix undefined index notice when updating entry meta. * TWEAK: Small schema tweaks when creating the db taxonomy tables. * TWEAK: Add support for WP Mailto Links plugin via a CSS tweak. * OTHER: Fix misspelling of urlencode(). = 8.2.6 05/01/2015 = * FEATURE: Introduce cnEntry_DB. * BUG: Correct usage of defined in cnRetrieve::entries() when checking for DOING_AJAX. * BUG: Removed couple unused variables in cnRetrieve:: search(). * BUG: Remove extra trailing semi-colon in cnRetrieve::search(). * BUG: Properly init the $defaults array in many of the methods in cnEntry. * BUG: Fix bug in cnEntry::Addresses() where incorrect address array was being referenced during argument sanitation and being passed via a filter. * BUG: Remove unused variable in cnEntry::processLegacyLogo(). * BUG: Properly init the $where array in cnEntry::update(). * BUG: Fix return value in cnSanitize::options(). * BUG: Fix bug with the duplicate term check when updating a term. * BUG: Fix the value of the unique ID field of am IM ID. * BUG: Remove unused var in cnTemplatePart::entryActions(). * BUG: Remove unused var in cnTemplatePart::JSON(). * BUG: Remove unused global in cnOutput::getLogoImage(). * BUG: Remove a couple unused vars in cnOutput. * BUG: cnTemplatePart::echoOrReturn() should be declared as static. * BUG: Only attempt to create FULLTEXT indexes if FULLTEXT search is enabled. * BUG: Init array in cnTemplatePart::searchMessage(). * BUG: Fix social media field label when adding a new social media URL. * TWEAK: Prune the changelog section of the readme.txt file. * TWEAK: Update the plugin shortcode description in the readme.txt file. * TWEAK: Remove error suppression in cnRegisterSettings::setSearchFields(). * TWEAK: Simplify several ternaries used within cnEntry. * TWEAK: Use Yoda Condition checks. * TWEAK: Line wrap long array in cnEntry::setAddresses(); * TWEAK: Fix several instance of incorrect array alignment in cnEntry. * TWEAK: Refactor cnEntry::getOriginalImageURL() to be cleaner. * TWEAK: Be more succinct in if statement in cnEntry::getFormattedTimeStamp(). * TWEAK: Use cnURL::prefix() to ensure social network URL rather than regex. * TWEAK: Fix misspelling in var name and update usages in cnEntry::processLegacyImages(). * TWEAK: Refactor cnEntry::update() to use $wpdb->update() rather than $wpdb->query() when updating the entry table. * TWEAK: Refactor cnEntry::save() so when saving the entry so wpdb::insert() is utilized rather than wpdb::query(). * TWEAK: Change the name of Cyrus Island to just Cyrpus to be more correct. * TWEAK: Refactor cnEntry::update() to utilize cnEntry_DB. * TWEAK: Use Yoda condition in cnEntry::save(). * TWEAK: Refactor cnEntry::save() to use cnEntry_DB. * TWEAK: Do not show wpdb insert/update errors in cnEntry::save() and cnEntry::update(). * TWEAK: Return empty string for list actions if it has been disabled via the settings. * TWEAK: Return empty string for entry actions if it has been disabled via the settings. * TWEAK: Return an empty string for the category description if it has been disabled via the settings. * TWEAK: Minor code cleanup of cnTemplatePart::searchMessage(). * TWEAK: Return empty string in cnTemplatePart::noResults(). * TWEAK: De-duplicate code to set entry defaults based on entry type before saving/updating. * TWEAK: Remove usage of global $connections var in cnEntry::update(). * TWEAK: Fix check to ensure $template is an object of cnTemplate in cnTemplatePart::noResults(). * TWEAK: Standardize output logic of most methods in cnOutput to use cnOutput::echoOrReturn() to reduce duplicate code usage. * TWEAK: Replace instances of cnFormatting::normalizeString() to use cnFormatting::replaceWhatWith(). * TWEAK: Replace all instances of preg_replace() with cnFormatting::replaceWhatWith() to remove code duplication. * TWEAK: Cleanup web page source code whitespace output from cnOutput to make it more readable. * TWEAK: Simply ternaries in cnOutput::getSocialMediaBlock(). * TWEAK: Return empty string in several instances in cnOutput rather than nothing or NULL so output is consistent across all methods. * TWEAK: Cleanup code alignment in cnOutput::getCardTelType(). * TWEAK: Cleanup code alignment in cnOutput::getCardAdrType(). * TWEAK: Refactor methods in cnTemplatePart to use cnTemplatePart::echoOrReturn() to remove code duplication and simplify output logic. * TWEAK: Simplify cnTemplatePart::formClose(). * TWEAK: Cleanup web page source code whitespace output from cnTemplatePart to make it more readable. * TWEAK: Remove unnecessary var init in cnTemplatePart::noResults(). * TWEAK: Remove unnecessary var init in cnTemplatePart::submit(). * TWEAK: Fix code alignment in cnTemplatePart::header(). * TWEAK: Fix code alignment in cnTemplatePart::cards(). * TWEAK: Fix code alignment in cnTemplatePart::listActions(). * TWEAK: Fix code alignment in cnTemplatePart::entryActions(). * TWEAK: Fix code alignment in cnTemplatePart::category description. * TWEAK: Remove use of deprecated function in cnTemplatePart::categoryDescription(). * TWEAK: Fix code alignment in cnTemplatePart::JSON(). * TWEAK: Fix code alignment in cnTemplatePart::noResults(). * TWEAK: Fix several default param values in cnTemplatePart. * TWEAK: Fix default param value in cnOutput::getAnniversaryBlock(). * TWEAK: Fix default param value in cnOutput::getBirthdayBlock(). * TWEAK: Fix code alignment in cnTemplatePart:cards(). * TWEAK: Fix code alignment in cnTemplatePart::footer(). * TWEAK: Correct type check in cnOutput::getBirthdayBlock() since default param value was changed. * TWEAK: Simplify cnEntry::setPropertyDefaultsByEntryType(). * OTHER: Correct a misspelling in a code comment in cnRetrieve::entries(). * OTHER: Correct misspelling of empty. * OTHER: Correct misspelling of character. * OTHER: Correct misspelling if encryption. * DEV: Fix a few exclude errors in .gitattributes. * DEV: Add phpDoc to global $wpdb in cnRetrieve::search(). * DEV: A few minor fixes to the phpDoc for several methods in cnRetrieve. * DEV: Add phpDoc to global $wpdb in cnRegisterSettings::setSearchFields(). * DEV: Minor fixes to phpDoc for cnRegisterSettings::setSearchFields(). * DEV: Update the phpDoc for many of the class properties of cnEntry. * DEV: Remove many extra blanks lines in cnEntry. * DEV: Fix code spacing in several places in cnEntry. * DEV: Update several phpDoc of several methods in cnEntry. * DEV: Add space between foreach and opening paren. * DEV: Delete some commented out dead code in cnEntry::update(). * DEV: Fix a misspelling in phpDoc for cnSanitize::checkbox(). * DEV: Fix @param var name to match name of actual variable being used. * DEV: Add cnSanitize::id(). * DEV: Correct indenting of closing bracket. * DEV: Add @todo in cnEntry to remove the use of a several properties in connectionsLoad. * DEV: Correct return type on cnTemplatePart::entryActions(). * DEV: Cleanup phpDoc for cnTemplatePart::categoryDescription(). * DEV: Cleanup phpDoc for cnTemplatePart::characterIndex(). * DEV: Cleanup phpDoc for cnTemplate::noResults(). * DEV: Doc global vars in cnTemplatePart::pagination(). * DEV: Doc global vars in cnTemplate::categoryLinkDescendant(). * DEV: Correct return type in cnTemplatePart::JSON(). * DEV: Add phpStorm no inspection flag for unused var in cnTemplatePart::cards(). * DEV: Add new helper method cnEntry_Output::echoOrReturn(). * DEV: Change up logic in cnOutput::echoOrReturn(). * DEV: Many little cleanup changes to phpDoc in cnOutput. * DEV: Add phpDoc to global var $connections in cnOutput::getPhoneNumberBlock(). * DEV: Add phpDoc to a couple instances of $wp_embed in cnOutput. * DEV: Add echoOfReturn() to cnTemplatePart. * DEV: Few minor phpDoc fixes in cnTemplatePart. * DEV: Add blank line to a couple methods in cnTemplatePart. * DEV: Remove extra space after var init. * DEV: Correct param type in phpDoc for cnFormatting::replaceWhatWith(). * DEV: Correct phpDoc for global used in cnCategory::getDescriptionBlock(). * DEV: Couple phpDoc fix in cnTemplatePart. = 8.2.5 04/24/2015 = * FEATURE: Introduce cnSiteShot. * FEATURE: Introduce cnMeta_Query. * BUG: Fix broken CSS dependency for the jQuery UI Datepicker when in the admin. * BUG: Set correct param default in cnFormatting::sanitizeString(). * BUG: Remove unused var in cnColor::rgb2hex2rgb(). * BUG: Remove unused global var in cnEntry::getWebsites(). * BUG: Add missing 64px icon size to cnOutput::getEmailAddressBlock(). * BUG: Correct the img tag name and remove the px from the with and height attributes in cnOutput::getEmailAddressBlock(). * BUG: Remove unused var in cnEntry::getLinks(). * BUG: Remove dead code in cnURL::prefix(). * BUG: Remove unused $updateObjectCache class var in cnEntry. * BUG: Fix bug in typecasting the anniversary and birthday vars in cnEntry::__construct(). * BUG: Remove unused var in cnEntry::getAddresses(). * BUG: Remove the use of the unused $connections global var in several methods in cnEntry. * BUG: Remove unused $phoneNumbers in cnEntry::getPhoneNumbers(). * BUG: Remove unused $emailAddresses var in cnEntry::getEmailAddresses(). * BUG: Remove unused $imIDs var from cnEntry::getIm(). * BUG: Remove unused $socialMediaIDs from cnEntry::getSocialMedia(). * BUG: Remove unused $dates var in cnEntry::getDates(). * BUG: Fix bug in cnEntry::update() where the honorific suffix was not be emptied when updating an entry of the organization type. * BUG: No need to set the various image size variation names to class vars in cnEntry because they are no longer used. * BUG: Remove unused class var $websites from cnEntry. * BUG: Fix bug in cnEntry_Action::visibility() where the sanitized entry ID/s where not being used in the query. * BUG: Remove unused var in cnTemplatePart::index(). * BUG: Fix bug in the template file override code. * BUG: If an invalid image preset is supplied in cnOutput::getImage() set the image display to false and force the display of the image fallback block with the message stating; "Photo preset %s is not valid." * TWEAK: Move Dashboard template styles to the admin CSS style sheet. * TWEAK: Remove margins on admin widgets "Remove" buttons. * TWEAK: Remove text align left on the bio and notes fields from the front end style sheet. * TWEAK: Add a RTL admin style sheet. * TWEAK: Register and enqueue the RTL admin style sheet is the current local RTL. * TWEAK: Use PHP native function to prefix URL with a protocol. * TWEAK: Add icons that can be used for links. * TWEAK: Remove use of deprecated function call in cnEntry::getWebsites(). * TWEAK: Remove use of global $connections in cnEntry::getUpcoming(). * TWEAK: If the local is RTL, float right instead of left in the core templates. * TWEAK: Change the licensing API calls to use the new API endpoint. * TWEAK: Declare cnEntry::__construct() as public. * TWEAK: Set default date format from NULL to 'm/d/Y' in cnEntry::getDateAdded() and refactor code accordingly. * TWEAK: Remove use of deprecated function cnValidate::attributesArray() in cnEntry. Now uses cnSanitize::args(). * TWEAK: Remove use of deprecated function connectionsLoad::setErrorMessage() in cnEntry. Use cnMessage::set() instead. * TWEAK: Remove usage of deprecated function connectionsLoad::setErrorMessage(). Use cnMessage::set() instead(). * TWEAK: Simplify the ternary in cnEntry::setAnniversary(). * TWEAK: Simplify the ternary in cnEntry::setBirthday(). * TWEAK: No need to set the logo file name to class vars in cnEntry because it is no longer used. The helper methods should always be used instead. * TWEAK: The the user display name by using WP_User::get() rather than the magic __get() method. * TWEAK: Add a few class vars that are being added to the connectionsLoad class. * TWEAK: Use the more explicit is_null() on the $entry param in cnEntry::__construct(). * TWEAK: Make cnMeta::tableName() public. * TWEAK: Add meta query support to cnRetrieve::entries(). * TWEAK: Add ordering by meta_key support to cnRetrieve::entries(). * TWEAK: Add `cn_process_status` to cnEntry_Action::status(). * TWEAK: Add `cn_process_visibility` action to cnEntry_Action::visibility(). * TWEAK: Add `cn_process_bulk_delete` action to cnEntry_Action::delete(). * TWEAK: Use `wp_parse_id_list()` in cnEntry_Action::visibility() to simplify the method. * TWEAK: Use `wp_parse_id_list()` in cnEntry_Action::status() to simplify the method. * TWEAK: Remove the params from cnEntry_Action::clearCache() and update the phpDoc. * TWEAK: Move action `cn_process_cache-entry` action from cnEntry_Action::process() to cnEntry_Action::clearCache(). * TWEAK: Add various actions to the cnEntry_Action::clearCache() method so the entry caches are cleared when those actions are fired. * TWEAK: Add the `cn_clean_entry_cache` action to cnEntry_Action::clearCache() and deprecate the existing `cn_process_cache-entry` action. * TWEAK: Add cnEntry_action::updateTermCount(). * TWEAK: Add actions to update the term taxonomy counts when entry status or visibility has been updated via the bulk actions. * TWEAK: Set $atts['enhanced'] to FALSE if wp_is_mobile() in CN_Walker_Term_Select_List_Enhanced::render(). * TWEAK: Ensure URL is escaped in cnLicense::license(). * TWEAK: Ensure the entry status filter links on the Manage admin page are escaped. * TWEAK: Ensure the pagination links on the Manage admin page are escaped. * TWEAK: Ensure the entry action links on the Manage admin page are escaped. * TWEAK: Ensure the "Linked to" profile link is escaped on the Manage admin page. * TWEAK: Ensure the image src URLs and logo/photo links are escaped. * TWEAK: Ensure the vCard URL and the icon src URLs are escaped. * TWEAK: Ensure the tab URL on the Settings admin page is escaped. * TWEAK: Ensure the index links in cnTemplatePart::characterIndex() are escaped(). * TWEAK: Ensure the character links in cnTemplatePart::index() are escaped. * TWEAK: Add the geometry library to the Google Maps API when it is registered. * TWEAK: Clean up the code for cnOutput::getContactNameBlock(). * TWEAK: Check is doing AJAX in cnRetrieve::entries() before processing query vars. * I18N: Update the .pot file. * I18N: Update the .mo files. * OTHER: Fix the page source HTML whitespace in CN_Walker_Term_Radio_Group. * OTHER: Update minified CSS. * OTHER: Fix spelling of $visibility. * OTHER: Fix misspelling of $protocol. * OTHER: Fix misspellings in cnLog. * OTHER: Fix spelling error in phpDoc for cnEntry::getUpcoming(). * OTHER: Fix spelling of visibility in phpDoc. * OTHER: Correct the misspelling of empty in several places in cnEntry. * OTHER: Corrected misspelling of preferred in several places in cnEntry. * OTHER: Correct misspelling of overridden in several places in cnEntry. * OTHER: Remove the space between the $wpdb->prepare function and open paren per coding style in several instances in cnEntry. * OTHER: Correct misspelling of var $compatibilityDate(). * OTHER: Correct misspelling of apparently in cnEntry. * OTHER: Correct misspelling of cnEntry::displayVisibilityType() and update any instances of its usage. * OTHER: Correct param type for $entry in cnEntry::__construct(). * OTHER: Correct param type in cnEntry::setEntryType(). * OTHER: Run the Members template thru the phpStorm code formatter to get it much closer to following the coding style guidelines. * OTHER: Update link in readme.txt to point the Live Samples page to the Showcase page. * OTHER: Fix a couple instances of misspellings of department in the phpDoc. * DEV: Cleanup phpDoc in cnScript. * DEV: Cleanup coding style of cnFormatting::toYesNo(). * DEV: Cleanup phpDoc for cnFormatting::toBoolean(). * DEV: Bring cnValidate::url() up to code style standards. * DEV: Bring cnValidate::email() up to coding standards. * DEV: Bring cnValidate::userPermitted() up to coding standards. * DEV: Cleanup phpDoc for cnURL::encode(). * DEV: Clean up phpDoc for cnURL::prefix(). * DEV: Cleanup phpDoc for cnURL::fromPath(). * DEV: Update phpDoc for cnURL::permalink(). * DEV: Fix code formatting in cnUtility::getUUID(). * DEV: Cleanup code formatting of cnUtility::remapRange(). * DEV: Add phpDoc to cnLog. * DEV: Cleanup code formatting in cnLog. * DEV: Clean up code formatting of the colors array. * DEV: phpDoc fixes in cnColor. * DEV: Cleanup code formatting a couple conditional statements in cnColor. * DEV: phpDoc fixes in cnString. * DEV: Add cnOptions::loginRequired() helper function. * DEV: Refactor cnValidate::userPermitted(). * DEV: Add the ability to sanitize URL/s to cnSanitize::field(). * DEV: Update phpDoc for cnEntry::getLinks(). * DEV: Code cleanup of cnEntry::getLinks(). * DEV: Code cleanup of cnEntry::setLinks(). * DEV: Cleanup phpDoc for cnEntry::setLinks(). * DEV: Cleanup the code in cnOutput::getLinkBlock(). * DEV: Update .gitattributes to exclude assets in archives. * DEV: Fix phpDoc type for var connectionsLoad::$links. * DEV: Update phpDoc for cnEntry::getUpcoming(). * DEV: Add phpDoc to class vars in cnEntry. * DEV: Add phpDoc for global $connections usage in cnEntry::__construct(). * DEV: Add phpDoc to cnEntry::__construct(). * DEV: Add phpDoc to cnEntry::getHumanTimeDiff(). * DEV: Add phpDoc to cnEntry::getDateAdded(). * DEV: Add phpDoc to several methods in cnEntry where the extract() function is used. * DEV: Add phpDoc to several methods in cnEntry to document usage of the $connections global var. * DEV: Update the phpDoc for several methods for the $saving attribute. * DEV: Add phpDoc to cnEntry::getAnniversary(). * DEV: Add phpDoc to cnEntry::setAnniversary(). * DEV: Add phpDoc to cnEntry::getBirthday(). * DEV: Add phpDoc to cnEntry::setBirthday(). * DEV: Add phpDoc to cnEntry::getBio(). * DEV: Add phpDoc to cnEntry::setBio(). * DEV: Add phpDoc to cnEntry::getNotes(). * DEV: Add phpDoc to cnEntry::setNotes(). * DEV: Add phpDoc to cnEntry::getLogoDisplay(). * DEV: Add phpDoc to cnEntry::setLogoDisplay(). * DEV: Add phpDoc to cnEntry::getLogoLinked(). * DEV: Add phpDoc to cnEntry::setLogoLinked(). * DEV: Add phpDoc to cnEntry::setLogoName(). * DEV: Add phpDoc for cnEntry::getAddedBy(). * DEV: Add phpDoc to cnEntry::getSortColumn(). * DEV: Add phpDoc to cnEntry::getEditedBy(). * DEV: Add phpDoc to cnEntry::delete(). * DEV: Add phpDoc to cnEntry::save(). * DEV: Add phpDoc to cnEntry::update(). * DEV: Add phpDoc to cnEntry::save() for the global $connections var(). * DEV: Add @return to phpDoc for cnEntry::getFormattedTimestamp(). * DEV: Add phpDoc for the $slug param to cnEntry::setSlug(). * DEV: Cleanup of phpDoc for cnEntry::displayVisibilityType(). * DEV: Cleanup phpDoc for cnEntry::getStatus(). * DEV: Cleanup phpDoc for cnEntry::setStatus(). * DEV: Bring cnEntry::getAddedBy() up to coding style standards. * DEV: Bring cnEntry::getEditedBy() up to coding style standards. * DEV: Clean up phpDoc for cnRetrieve::entry(). * DEV: Fix the @return type tag in cnRetrieve::entry(). * DEV: Correct the phpDoc var type of several constants. * DEV: Cleanup a few phpDoc issues in cnUpload. * DEV: Correct phpDoc var type in phpDoc for cnMeta_Query::get_sql(). * DEV: Update phpDoc for cnEntry_action::status(). * DEV: Update phpDoc for cnEntryAction::visibility(). * DEV: Update phpDoc for cnEntry_Action::delete(). * DEV: Add phpDoc to the `cn_process_status` action hook. * DEV: Add phpDoc to the `cn_process_visibility` action hook. * DEV: Add phpDoc to the `cn_process_bulk_delete` action hook. * DEV: Fix misspelling in phpDoc for cnLicense::license(). * DEV: Add phpDoc the the global vars used in cnOutput::vcard(). * DEV: Cleanup phpDoc for cnTemplatePart::index(). * DEV: Cleanup phpDoc for cnTemplatePart::currentCharacter(). = 8.2.4 04/03/2015 = * FEATURE: Introduce CN_Walker_Term_Select_List_Enhanced. * FEATURE: Introduce CN_Walker_Term_Radio_Group. * BUG: When creating an excerpt the `more` string should only be appended if `length` is exceeded. * BUG: Add missing var to the `cn_meta_field- {type}` action. * BUG: Fix CSS border on search message display div. * BUG: In CN_Walker_Term_Select_List_Enhanced::render(), ensure when querying by `parent_id` ensure that `child_of` is reset to its default value of `0`. * BUG: Refactor cnTerm::tree() to vastly improve its performance. * TWEAK: Replace existing code in cnTemplatePart::categorySelect() to use CN_Walker_Term_Select_List_Enhanced. * TWEAK: Replace \n with PHP_EOL. * TWEAK: Streamline CN_Walker_Term_List a little to make it more efficient. * TWEAK: Set current category in CN_Walker_Term_List. * TWEAK: Use CN_Walker_Term_Check_List to render the link list of categories rather than using cnTemplatePart::categoryLink(). * TWEAK: Remove dead code in cnTemplatePart::categoryLink(). * TWEAK: Add querying by `parent_id` support to CN_Walker_Term_List::render(). * TWEAK: Update cnTemplatePart::category() to use the cnTemplatePart::categoryChecklist() helper function when layout is not a table. * TWEAK: Update cnTemplatePart::category() to use the cnTemplatePart::categoryRadioGroup() helper function when layout is not a table. * TWEAK: Remove the old code that the new term radio group and checklist walkers replaced. * I18N: Update the POT file. * I18N: Correct settings for _n() keyword in the grunt checktextdomain command. * DEV: Exclude the node_modules folder in the makepot grunt task. * DEV: Add the cnTemplatePart::categoryChecklist() helper function. * DEV: Add the cnTemplatePart::categoryRadioGroup() helper function. * OTHER: Remove unused var. * OTHER: Remove extra white space. * OTHER: Insert whitespace. * OTHER: Fix a couple misspellings. * OTHER: Fix code alignment. = 8.2.3 03/26/2015 = * FEATURE: Add Stitcher to the social media options. * BUG: Fix the path to the markerclusterer library. * BUG: Fix the CN_CUSTOM_TEMPLATE_URL path to properly point to the content_url(). * BUG: Adjust the substring position and length in cnRetieve::upcoming() so it only returns MM-DD. * BUG: When performing an upcoming date(s) query, do not convert the date from @@session.time_zone to +00.00 because it caused entries to be returned from +1day more than what should have been returned. * BUG: Make sure to pass the $homeID var when calling get_permalink() when not $wp_rewrite->using_permalink(). * BUG: Custom field titles/names should not be wrapped in the