Full Contact” module fetch social profile links from the Full Contact based on user email, and display the links under user profile in the Social tab.
– Very easy and instant setup.
– Efficiently fetch social profiles links from the FullContact.com.
– This module efficiently work with drupal.
– This plugin fetch social profile links from the Full Contact based on user email, and display the links under user profile in the Social tab of user profile.
– Fetch More than 10 social profile links from Full Contact on the user first login.
– Option for provide Full Contact API key in backend of module.
– Option to show and hide the social link for all users (globally) by admin. All checkboxex by default unchecked. so Admin need to choose first of all to show the social links.
– Option to Reset or update all profile for the current user.

You can contact us for contact us for this Module.

Project Link: https://www.drupal.org/sandbox/opensourcetechnologies/2593459

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/OpenSourceTechnologies/2593459.git fullcontact

Comments

ManishMittal’s picture

Assigned: ManishMittal » Unassigned
rakesh.gectcr’s picture

Please provide the project link and git link , So that we can do review .

Please read the documentation https://www.drupal.org/node/1011698https://www.drupal.org/node/1011698

rakesh.gectcr’s picture

Status: Needs review » Needs work
ManishMittal’s picture

Issue summary: View changes
StatusFileSize
new128.92 KB
new50.47 KB
ManishMittal’s picture

Status: Needs work » Needs review
dilshad.khan’s picture

Please provide the git link in the following format:

git clone --branch 7.x-1.x username@git.drupal.org:sandbox/username/2593459.git foldername

rakesh.gectcr’s picture

Status: Needs review » Needs work
ManishMittal’s picture

Issue summary: View changes
ManishMittal’s picture

Status: Needs work » Needs review
PA robot’s picture

Issue summary: View changes

Fixed the git clone URL in the issue summary for non-maintainer users.

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

ManishMittal’s picture

Issue tags: +Full Contact

Hi,

I have resolved all the errors and warning of "fullcontact" project which is reported by pareview.

adam_’s picture

Status: Needs review » Needs work

In the original message can you please change the git clone line to be on one line with the following:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/OpenSourceTechnologies/2593459.git fullcontact

The fullcontact at the end makes git clone the project into a folder with that name.

+ Field names are not prefixed with the module name and are not very unique. On uninstall, it appears that the fields with potentially common names like field_facebook and field_twitter are deleted. I can see this being a problem for people who have preexisting fields with these names.

You're cleaning up your declared variables in hook_uninstall which is good.

I would recommend not declaring an array as global in hook_init() for the convenience of having it in other places in your code. An alternative could be to create a function that returns that array and call it on initialization.

Licensing, check.

Also, is your account for an individual? It seems to have a company name Open Source Technologies. I believe the review requires your account to be for an individual.

Great job.

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.

ManishMittal’s picture

Issue summary: View changes
ManishMittal’s picture

Issue summary: View changes
ManishMittal’s picture

Status: Closed (won't fix) » Needs review
klausi’s picture

Priority: Major » Normal
Status: Needs review » Needs work
PAReview: Individual user account
It seems you are using a non-individual account.
All user accounts are for individuals. Accounts created for more than one user or those using anonymous mail services will be blocked when discovered (see Get a Drupal.org account).
Please note that organization accounts cannot be approved for git commit access. See https://drupal.org/node/1966218 and https://drupal.org/node/1863498 for details on what is/isn't allowed. Please update your user profile so that we don't have to assume that this is a group account.
ManishMittal’s picture

Hi,

I have change my profile name as individual.
Please review my module.

ManishMittal’s picture

Status: Needs work » Needs review
ManishMittal’s picture

Priority: Normal » Major
th_tushar’s picture

Status: Needs review » Needs work

Hi ManishMittal,

The security vulnerability was found while manual review of your code.

function fullcontact_view($account, $output = '') {
  global $user, $_socialarray;
  $display_option = variable_get('fullcontact_social_settings');
  $user_fields = user_load($user->uid);
  $header = array(t('Social Name'), t('Social Link'));
  $rows = array();
  if (is_array($_socialarray) && !empty($_socialarray)) {
    if (in_array(1, $display_option)) {
      foreach ($_socialarray as $key => $value) {
        if ($display_option[$key] == 1) {
          $field = 'field_' . $key;
          $field_value = $user_fields->$field;
          if ($field_value) {
            $field_value = reset($field_value);
            $field_value = $field_value[0]['value'];
            $rows = array(
              '<strong>' . $value . ': </strong>',
              l($field_value, $field_value, array('html' => TRUE, 'attributes' => array('target' => '_blank'))),
            );
          }
        }
      }
    }
    else {
      foreach ($_socialarray as $key => $value) {
        $field = 'field_' . $key;
        $field_value = $user_fields->$field;
        if ($field_value) {
          $field_value = reset($field_value);
          $field_value = $field_value[0]['value'];
          $rows[] = array(
            '<strong>' . $value . ': </strong>',
            l($field_value, $field_value, array('html' => TRUE, 'attributes' => array('target' => '_blank'))),
          );
        }
      }
    }
  }
  else {
    drupal_set_message(t('No entries meet the filter criteria'));
  }
  return theme('table', array('header' => $header, 'rows' => $rows));;
}

<strong>' . $value . ': </strong> should be passes through check_plain() function.

ManishMittal’s picture

Status: Needs work » Needs review

I have remove the security vulnerability from code as you found in code.

ManishMittal’s picture

Could you please anyone suggest me how much more time it will take to be a full project on drupal.org?

romanblanyar’s picture

Hello, I have installed and tested your module. When I go to user settings get this errors:

Notice: Undefined index: field_fullcontact_myspace in fullcontact_form_alter() (line 84 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_myspace in fullcontact_form_alter() (line 85 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_foursquare in fullcontact_form_alter() (line 84 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_foursquare in fullcontact_form_alter() (line 85 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_linkedin in fullcontact_form_alter() (line 84 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_linkedin in fullcontact_form_alter() (line 85 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_quora in fullcontact_form_alter() (line 84 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
Notice: Undefined index: field_fullcontact_quora in fullcontact_form_alter() (line 85 of C:\xampp\htdocs\drupal_module_test\sites\all\modules\FullContact\fullcontact.module).
dkolarevic’s picture

Hi ManishMittal,

You should add configuration path to your info file, so settings page can be accessed directly from modules overview page.
configure = admin/config/people/fullcontact

braindrift’s picture

Status: Needs review » Needs work

Hi ManishMittal,

I see that you check for the cURL extension is loaded in hook_user_login() but you are using the curl_init() function in hook_update() without a previous check. You should consider to make this check in hook_requirements() inside your install file.

Best regards

ManishMittal’s picture

Status: Needs work » Needs review

I have added the configure = admin/config/people/fullcontact in fullcontact.info file so the configuration url can be show in module list

ManishMittal’s picture

I have use the hook_requirements to check curl is enabled or not at the installation time in fullcontact.install file.

ManishMittal’s picture

Status: Needs review » Reviewed & tested by the community
klausi’s picture

Status: Reviewed & tested by the community » Needs review

Please don't RTBC your own issues, see the workflow https://www.drupal.org/node/532400

ManishMittal’s picture

Priority: Major » Normal

Hi Team, can you please review the code.

bazaalt.organ’s picture

Status: Needs review » Needs work

Hi ManishMittal,

It seems your fullcontact_update and fullcontact_user_login functions are almost identical (read: code duplication), it should be organized to a common function to reduce code and make it to more maintainable.

fullcontact.install
If curl extension is installed you will have two undefined variables here: line:24,26
(you initialized these variables ($value,$description) only in the if block but not in the else block)

Wrong usage of get_t function:

// Instead of
$value = get_t('Not installed');
// you should use like:
$t = get_t();
$value = $t('Not installed');

You have some undocumented function parameter, like:
fullcontact_social($account), fullcontact_view($account, $output = '') [$output parameter unused]

fullcontact.module:244 duplicated semicolon

As hook_awesome suggested: you should create a function which gives back the $_socialarray array, instead of you use global variables for it. Something like this:

function _fullcontact_get_social_array() {
  return array(
    'fullcontact_facebook' => t('Facebook'),
    'fullcontact_twitter' => t('Twitter'),
    ....
}

// usage:
function fullcontact_form_alter(&$form, &$form_state, $form_id) {
  $_socialarray = _fullcontact_get_social_array();
  ...
ManishMittal’s picture

Priority: Normal » Major
Status: Needs work » Needs review

We Have resolve the all issue as:

=======================================
It seems your fullcontact_update and fullcontact_user_login functions are almost identical (read: code duplication), it should be organized to a common function to reduce code and make it to more maintainable.

Status: done
=======================================
fullcontact.install
If curl extension is installed you will have two undefined variables here: line:24,26
(you initialized these variables ($value,$description) only in the if block but not in the else block)

Wrong usage of get_t function:

// Instead of
$value = get_t('Not installed');
// you should use like:
$t = get_t();
$value = $t('Not installed');
Status: Done
=======================================
You have some undocumented function parameter, like:
fullcontact_social($account), fullcontact_view($account, $output = '') [$output parameter unused]
Status: Done
=======================================
fullcontact.module:244 duplicated semicolon
Status: Done
=======================================
As hook_awesome suggested: you should create a function which gives back the $_socialarray array, instead of you use global variables for it. Something like this:

function _fullcontact_get_social_array() {
return array(
'fullcontact_facebook' => t('Facebook'),
'fullcontact_twitter' => t('Twitter'),
....
}

// usage:
function fullcontact_form_alter(&$form, &$form_state, $form_id) {
$_socialarray = _fullcontact_get_social_array();
...
Status: Done
=======================================

ManishMittal’s picture

Priority: Major » Critical

Hi Team, can you please review the code.

visabhishek’s picture

Status: Needs review » Needs work
StatusFileSize
new42.19 KB

HI ManishMittal,

Module looks good. Some suggestions are :
1: Follow the Readme template for the readme.txt https://www.drupal.org/node/2181737
2: I am getting warning message on configuration page. ( See attached screen-shot)

ManishMittal’s picture

Status: Needs work » Needs review

@visabhishek

Thanks for the review. I have fixed issue and updated code as per your feedback. Please have a look.

visabhishek’s picture

Status: Needs review » Reviewed & tested by the community

Module looks good and i dont think we have any blocker points, So i am marking as RTBC.

mlncn’s picture

Status: Reviewed & tested by the community » Fixed

Thanks for your contribution, ManishMittal! You are now a vetted Git user. You can promote this to a full project.

When you create new projects (typically as a sandbox to start) you can then promote them to a full project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process, especially my slowness in approving following review. We know it's broken and are trying to fix it.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.