Episode 10 "Close2u, HybridAuth, JQuery Message Alert, Custom Contact Forms"

It is episode 10 of the Drupal Sandbox Podcast with some new modules to check out.

The first is Close2u that adds geolocation tracking for nodes and users to your site.

"Why do bird suddenly appear
Every time you are near?
Just like me, they long to be
close2u"

This module uses the location API to figure out nodes (or users, or whatever) that are... you guessed it... close to you. The block does a call to the browsers' navigation.geolocation object (if it exists) and returns the location entries closest to the given coordinates. If the browser doesn't support geolocation, the user may enter an address, the address is reverse geocoded using gmap module and then proximate nodes are returned just as smoothly as Karen Carpenter sang those infamous words so very long ago.

Next up is HybridAuth which allows you to let your users login using a myriad of already existing accounts from other sites like twitter, google, facebook and many others. It simplifies the registration and login procedures for your site.

This module aims to integrate HybridAuth with Drupal so that you can allow your end-users to login and register using Twitter, Facebook, Google, Yahoo, Windows Live, MySpace, Foursquare, Gowalla, PayPal, LinkedIn, OpenID, Tumblr, Friendster, Vimeo, AOL, Flickr, and more.

HybridAuth is an open source web-based authentication and authorization solution that combines the strengths of several major social networks and Identity Providers services into one simple PHP Library.

Main Features:

HybridAuth makes it easy to authenticate users with a wide variety of well known social websites
After authentication, HybridAuth provide the connected user profile's in a rich, simple and standardized structure across all the social APIs
Been made on top of others open source third party client libraries, HybridAuth allow you to use those libraries not only to authenticates users but also for interacting with the social API client the user is connected to
The complexity of implementing identity providers authentication and authorization protocols are simplified for the developers
All transactions are completely transparent to the end user
More information: http://hybridauth.sourceforge.net/

Next, how about a jquery replacement for the standar drupal_set_message() function? Check out Jquery Message Alert

This module displays Drupal's messages as a little alert at the bottom corner. Every message sent by drupal_set_message() will be converted to a dialog alert, using jQuery Msg Alert plugin.
You can configure the time interval between then and they will reorganize themselves to be always near each other.
These alerts are actually jQuery UI dialogs, so you have a huge option of themes to customize the look and feel.

Look some screen shots.

REQUIREMENTS:
jQuery Update
jQuery UI
First, install jQuery Update and jQuery UI modules at sites/all/modules.
After enabling them, you need to download jQuery UI 1.7 and extract it at your sites/all/libraries. You can read more info about this at README from jQuery UI module, but remember to rename the folder to only "jquery.ui".

INSTALLATION:
Copy the folder to your sites/all/modules and enable jQuery Msg Alert.
Go to admin/settings/jquery_msg_alert and make sure that you have the correct path to jQuery UI 1.7. If you do, you'll see a list of themes, choose one and configure the jquery plugin options as you wish.
This module has two permissions, one to administer the settings and the other to be able to see the dialogs alerts. If your user isn't seeing these alerts, make sure he has the permission.
You can download a lot of themes at jQuery UI Themeroller.

And finally Custom Contact Forms

This module extends a core Contact Module. Contact categories are as different contact pages with an URL based on the category name (`contact/website-feedback` as an example). Every contact page can have different fields, which can be easily managed through only one additional field (something similar to the Contact Form 7 in Wordpress).

Note: This project is developed for the Drupal 7.