annotate sites/all/modules/rdf_example/rdf_example.install @ 11:b0ee71395280

deleted .DS_Store files
author danieleb <danielebarchiesi@me.com>
date Mon, 28 Oct 2013 16:12:13 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2 // $Id$
danielebarchiesi@4 3
danielebarchiesi@4 4 /**
danielebarchiesi@4 5 * @file
danielebarchiesi@4 6 * Install file for RDF Example module.
danielebarchiesi@4 7 *
danielebarchiesi@4 8 * To demonstrate hook_rdf_mapping, this module creates it's own node type. For
danielebarchiesi@4 9 * more information on creating node types, see Node Example in the Examples
danielebarchiesi@4 10 * project, http://drupal.org/project/examples.
danielebarchiesi@4 11 */
danielebarchiesi@4 12
danielebarchiesi@4 13 /**
danielebarchiesi@4 14 * Implements hook_install().
danielebarchiesi@4 15 *
danielebarchiesi@4 16 * - Create photo, summary, nutrition info, serving size, and calorie fields.
danielebarchiesi@4 17 * - Create photo, summary, nutrition info, serving size, and calorie instances.
danielebarchiesi@4 18 */
danielebarchiesi@4 19 function rdf_example_install() {
danielebarchiesi@4 20 // use get_t() to get the name of our localization function for translation
danielebarchiesi@4 21 // during install, when t() is not available.
danielebarchiesi@4 22 $t = get_t();
danielebarchiesi@4 23
danielebarchiesi@4 24 // Define the node type.
danielebarchiesi@4 25 $rdf_example = array(
danielebarchiesi@4 26 'type' => 'recipe',
danielebarchiesi@4 27 'name' => $t('Recipe'),
danielebarchiesi@4 28 'base' => 'node_content',
danielebarchiesi@4 29 'description' => $t('The recipe node is defined to demonstrate RDF mapping.'),
danielebarchiesi@4 30 );
danielebarchiesi@4 31
danielebarchiesi@4 32 // Set additional defaults and save the content type.
danielebarchiesi@4 33 $content_type = node_type_set_defaults($rdf_example);
danielebarchiesi@4 34 node_type_save($content_type);
danielebarchiesi@4 35
danielebarchiesi@4 36 // Create all the fields we are adding to our content type.
danielebarchiesi@4 37 // http://api.drupal.org/api/function/field_create_field/7
danielebarchiesi@4 38 foreach (_rdf_example_installed_fields() as $field) {
danielebarchiesi@4 39 field_create_field($field);
danielebarchiesi@4 40 }
danielebarchiesi@4 41
danielebarchiesi@4 42 // Create all the instances for our fields.
danielebarchiesi@4 43 // http://api.drupal.org/api/function/field_create_instance/7
danielebarchiesi@4 44 foreach (_rdf_example_installed_instances() as $bundle_name => $bundle) {
danielebarchiesi@4 45 foreach ($bundle as $instance) {
danielebarchiesi@4 46 $instance['entity_type'] = $bundle_name == 'recipe' ? 'node' : 'field_collection_item';
danielebarchiesi@4 47 $instance['bundle'] = $bundle_name;
danielebarchiesi@4 48 field_create_instance($instance);
danielebarchiesi@4 49 }
danielebarchiesi@4 50 }
danielebarchiesi@4 51 }
danielebarchiesi@4 52
danielebarchiesi@4 53 /**
danielebarchiesi@4 54 * Return a structured array defining the fields created by this content type.
danielebarchiesi@4 55 */
danielebarchiesi@4 56 function _rdf_example_installed_fields() {
danielebarchiesi@4 57 $t = get_t();
danielebarchiesi@4 58 $return = array(
danielebarchiesi@4 59 'recipe_photo' => array(
danielebarchiesi@4 60 'field_name' => 'recipe_photo',
danielebarchiesi@4 61 'cardinality' => 1,
danielebarchiesi@4 62 'type' => 'image',
danielebarchiesi@4 63 ),
danielebarchiesi@4 64 'recipe_summary' => array(
danielebarchiesi@4 65 'field_name' => 'recipe_summary',
danielebarchiesi@4 66 'cardinality' => 1,
danielebarchiesi@4 67 'type' => 'text',
danielebarchiesi@4 68 'settings' => array(
danielebarchiesi@4 69 'max_length' => 500,
danielebarchiesi@4 70 ),
danielebarchiesi@4 71 ),
danielebarchiesi@4 72 'recipe_nutrition' => array(
danielebarchiesi@4 73 'field_name' => 'recipe_nutrition',
danielebarchiesi@4 74 'cardinality' => 1,
danielebarchiesi@4 75 'type' => 'field_collection',
danielebarchiesi@4 76 ),
danielebarchiesi@4 77 'recipe_serving_size' => array(
danielebarchiesi@4 78 'field_name' => 'recipe_serving_size',
danielebarchiesi@4 79 'cardinality' => 1,
danielebarchiesi@4 80 'type' => 'text',
danielebarchiesi@4 81 ),
danielebarchiesi@4 82 'recipe_calories' => array(
danielebarchiesi@4 83 'field_name' => 'recipe_calories',
danielebarchiesi@4 84 'cardinality' => 1,
danielebarchiesi@4 85 'type' => 'number_integer',
danielebarchiesi@4 86 ),
danielebarchiesi@4 87 );
danielebarchiesi@4 88
danielebarchiesi@4 89 return $return;
danielebarchiesi@4 90 }
danielebarchiesi@4 91
danielebarchiesi@4 92 /**
danielebarchiesi@4 93 * Return a structured array defining the instances for this content type and
danielebarchiesi@4 94 * related field collections.
danielebarchiesi@4 95 */
danielebarchiesi@4 96 function _rdf_example_installed_instances() {
danielebarchiesi@4 97 $t = get_t();
danielebarchiesi@4 98 $instances = array();
danielebarchiesi@4 99 $instances['recipe'] = array(
danielebarchiesi@4 100 'recipe_photo' => array(
danielebarchiesi@4 101 'field_name' => 'recipe_photo',
danielebarchiesi@4 102 'label' => $t('Photo of the prepared dish'),
danielebarchiesi@4 103 ),
danielebarchiesi@4 104 'recipe_summary' => array(
danielebarchiesi@4 105 'field_name' => 'recipe_summary',
danielebarchiesi@4 106 'label' => $t('Short summary describing the dish'),
danielebarchiesi@4 107 'widget' => array(
danielebarchiesi@4 108 'type' => 'text_textarea',
danielebarchiesi@4 109 ),
danielebarchiesi@4 110 ),
danielebarchiesi@4 111 'recipe_nutrition' => array(
danielebarchiesi@4 112 'field_name' => 'recipe_nutrition',
danielebarchiesi@4 113 'label' => $t('Recipe Nutrition Information'),
danielebarchiesi@4 114 ),
danielebarchiesi@4 115 );
danielebarchiesi@4 116 // We attach some fields directly to the field collections. The field
danielebarchiesi@4 117 // collection bundles are created automatically with the field definition.
danielebarchiesi@4 118 $instances['recipe_nutrition'] = array(
danielebarchiesi@4 119 'recipe_serving_size' => array(
danielebarchiesi@4 120 'field_name' => 'recipe_serving_size',
danielebarchiesi@4 121 'label' => $t('Serving size'),
danielebarchiesi@4 122 ),
danielebarchiesi@4 123 'recipe_calories' => array(
danielebarchiesi@4 124 'field_name' => 'recipe_calories',
danielebarchiesi@4 125 'label' => $t('Calories'),
danielebarchiesi@4 126 )
danielebarchiesi@4 127 );
danielebarchiesi@4 128
danielebarchiesi@4 129 return $instances;
danielebarchiesi@4 130 }