annotate sites/all/modules/link/link.install @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * @file
danielebarchiesi@4 5 * Install file for the link module.
danielebarchiesi@4 6 */
danielebarchiesi@4 7
danielebarchiesi@4 8 /**
danielebarchiesi@4 9 * Upgrade notes:
danielebarchiesi@4 10 * Things we need to make sure work when upgrading from Drupal 6 to Drupal 7:
danielebarchiesi@4 11 */
danielebarchiesi@4 12
danielebarchiesi@4 13 /**
danielebarchiesi@4 14 * Implements hook_field_schema().
danielebarchiesi@4 15 */
danielebarchiesi@4 16 function link_field_schema($field) {
danielebarchiesi@4 17 return array(
danielebarchiesi@4 18 'columns' => array(
danielebarchiesi@4 19 'url' => array(
danielebarchiesi@4 20 'type' => 'varchar',
danielebarchiesi@4 21 // Maximum URLs length.
danielebarchiesi@4 22 'length' => 2048,
danielebarchiesi@4 23 'not null' => FALSE,
danielebarchiesi@4 24 'sortable' => TRUE,
danielebarchiesi@4 25 ),
danielebarchiesi@4 26 'title' => array(
danielebarchiesi@4 27 'type' => 'varchar',
danielebarchiesi@4 28 'length' => 255,
danielebarchiesi@4 29 'not null' => FALSE,
danielebarchiesi@4 30 'sortable' => TRUE,
danielebarchiesi@4 31 ),
danielebarchiesi@4 32 'attributes' => array(
danielebarchiesi@4 33 'type' => 'text',
danielebarchiesi@4 34 'size' => 'medium',
danielebarchiesi@4 35 'not null' => FALSE,
danielebarchiesi@4 36 ),
danielebarchiesi@4 37 ),
danielebarchiesi@4 38 );
danielebarchiesi@4 39 }
danielebarchiesi@4 40
danielebarchiesi@4 41 /**
danielebarchiesi@4 42 * Implements hook_update_last_removed().
danielebarchiesi@4 43 */
danielebarchiesi@4 44 function link_update_last_removed() {
danielebarchiesi@4 45 return 6001;
danielebarchiesi@4 46 }
danielebarchiesi@4 47
danielebarchiesi@4 48 /**
danielebarchiesi@4 49 * Handles moving settings data from field_config.data to field_config_instance.data.
danielebarchiesi@4 50 */
danielebarchiesi@4 51 function link_update_7000() {
danielebarchiesi@4 52
danielebarchiesi@4 53 // For each field that is a link field, we need to copy the settings from the general field level down to the instance.
danielebarchiesi@4 54 //$field_data = array();
danielebarchiesi@4 55 $result = db_query("SELECT id, field_name, data FROM {field_config} WHERE module = 'link' AND type = 'link_field'");
danielebarchiesi@4 56 foreach ($result as $field) {
danielebarchiesi@4 57 $field_id = $field->id;
danielebarchiesi@4 58 $name = $field->field_name;
danielebarchiesi@4 59 $field_data = unserialize($field->data);
danielebarchiesi@4 60
danielebarchiesi@4 61 $instances = db_query("SELECT id, data FROM {field_config_instance} WHERE field_id = :field_id", array(':field_id' => $field_id));
danielebarchiesi@4 62 foreach ($instances as $instance) {
danielebarchiesi@4 63 // If this field has been updated already, we want to skip it.
danielebarchiesi@4 64 $instance_data = unserialize($instance->data);
danielebarchiesi@4 65 $update_instance = FALSE;
danielebarchiesi@4 66 if (!isset($instance_data['settings']['title'])) {
danielebarchiesi@4 67 foreach ($field_data['settings'] as $key => $value) {
danielebarchiesi@4 68 if (!isset($instance_data['settings'][$key])) {
danielebarchiesi@4 69 $instance_data['settings'][$key] = $value;
danielebarchiesi@4 70 $update_instance = TRUE;
danielebarchiesi@4 71 }
danielebarchiesi@4 72 }
danielebarchiesi@4 73 if ($update_instance) {
danielebarchiesi@4 74 // update the database.
danielebarchiesi@4 75 $num_updated = db_update('field_config_instance')
danielebarchiesi@4 76 ->fields(array('data' => serialize($instance_data)))
danielebarchiesi@4 77 ->condition('id', $instance->id)
danielebarchiesi@4 78 ->execute();
danielebarchiesi@4 79 }
danielebarchiesi@4 80 }
danielebarchiesi@4 81 }
danielebarchiesi@4 82 }
danielebarchiesi@4 83
danielebarchiesi@4 84 return t("Instance settings have been set with the data from the field settings.");
danielebarchiesi@4 85 }
danielebarchiesi@4 86
danielebarchiesi@4 87 /**
danielebarchiesi@4 88 * Renames all displays from foobar to link_foobar
danielebarchiesi@4 89 */
danielebarchiesi@4 90 function link_update_7001() {
danielebarchiesi@4 91 // Update the display type for each link field type.
danielebarchiesi@4 92 $result = db_query("SELECT id, field_name, data FROM {field_config} WHERE module = 'link' AND type = 'link_field'");
danielebarchiesi@4 93 foreach ($result as $field) {
danielebarchiesi@4 94 $field_id = $field->id;
danielebarchiesi@4 95 $name = $field->field_name;
danielebarchiesi@4 96 $field_data = unserialize($field->data);
danielebarchiesi@4 97
danielebarchiesi@4 98 $instances = db_query("SELECT id, data FROM {field_config_instance} WHERE field_id = :field_id", array(':field_id' => $field_id));
danielebarchiesi@4 99 foreach ($instances as $instance) {
danielebarchiesi@4 100 // If this field has been updated already, we want to skip it.
danielebarchiesi@4 101 $instance_data = unserialize($instance->data);
danielebarchiesi@4 102 $update_instance = FALSE;
danielebarchiesi@4 103 foreach ($instance_data['display'] as $display_name => $display_data) {
danielebarchiesi@4 104 if ($display_data['type'] && (0 !== strpos($display_data['type'], 'link_'))) {
danielebarchiesi@4 105 $instance_data['display'][$display_name]['type'] = 'link_' . $display_data['type'];
danielebarchiesi@4 106 $update_instance = TRUE;
danielebarchiesi@4 107 }
danielebarchiesi@4 108 }
danielebarchiesi@4 109 if ($update_instance) {
danielebarchiesi@4 110 db_update('field_config_instance')
danielebarchiesi@4 111 ->fields(array('data' => serialize($instance_data)))
danielebarchiesi@4 112 ->condition('id', $instance->id)
danielebarchiesi@4 113 ->execute();
danielebarchiesi@4 114 }
danielebarchiesi@4 115 }
danielebarchiesi@4 116 }
danielebarchiesi@4 117 }