google_authorship.install in Google Authorship 7.2
Same filename and directory in other branches
Adds field to user entity on enable and removes fields on uninstall. Will not delete fields upon disable.
File
google_authorship.installView source
<?php
/**
* @file
* Adds field to user entity on enable and removes fields on uninstall. Will
* not delete fields upon disable.
*/
/**
* Implements hook_enable().
*
* This will check to see if the field has been created and if not will
* create it. * It will then add an instance of that field to the user
* entity and set various defaults and other settings.
*/
function google_authorship_enable() {
// Check if our field is not already created.
if (!field_info_field('field_google_plus_id')) {
// Creates an array to pass to Drupal's field_create_field function.
$field = array(
'field_name' => 'field_google_plus_id',
'type' => 'text',
// The maximum number of values this field can store is 1
'cardinality' => '1',
);
// Takes the previous array and creates a new Drupal 7 field.
field_create_field($field);
// Create the array to pass to field_create_instance()
$instance = array(
'field_name' => 'field_google_plus_id',
'entity_type' => 'user',
'label' => 'Google+ ID',
'description' => t('This is the 21 digit number found in the URL of
this user\'s Google+ profile.'),
'bundle' => 'user',
// If you don't set the "required" property then the field wont be
// required by default.
'settings' => array(
// Here you inform either or not you want this field showing up on
// the registration form.
'user_register_form' => 1,
),
// Sets the input widget type.
'widget' => array(
'type' => 'textfield',
'weight' => '1',
'settings' => array(
// Sets the max size of the input to 21, the size of Google+ IDs.
'size' => '21',
),
),
'display' => array(
'default' => array(
// Hide the Google+ ID on the user page.
'label' => 'hidden',
// Attempts to set the weight to 2, but Drupal's weight system has
// a bug.
'weight' => '2',
),
),
);
// Takes the previous array and creates a new Drupal 7 instance on the
// user bundle.
field_create_instance($instance);
}
}
/**
* Implements hook_uninstall().
*
* This will delete the Google+ ID field and all its instances from the user
* bundle when the module is uninstalled.
*/
function google_authorship_uninstall() {
if (field_info_field('field_google_plus_id')) {
field_delete_field('field_google_plus_id');
}
variable_del('google_authorship_use_metatag');
variable_del('google_authorship_use_head');
variable_del('google_authorship_use_user');
variable_del('google_authorship_registration_disp');
variable_del('google_authorship_bundles');
variable_del('google_authorship_disp_for_roles');
}
Functions
Name![]() |
Description |
---|---|
google_authorship_enable | Implements hook_enable(). |
google_authorship_uninstall | Implements hook_uninstall(). |