123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- /**
- * @file
- * This file holds the functions for the installing
- * and enabling of the openlayers_test module.
- *
- * @ingroup openlayers
- */
- /**
- * Implementation of hook_install().
- */
- function openlayers_test_install() {
- // Create test content type to be used with CCK and Views.
- // Only do this if CCK and Views are installed.
- if (module_exists('content') && module_exists('views') && module_exists('content_copy')) {
- // Create content type first
- $node_type = array(
- 'type' => 'openlayers_test_type',
- 'name' => st('OpenLayers Test Type'),
- 'module' => 'node',
- 'description' => st('This is a test content type for OpenLayers.'),
- 'custom' => TRUE,
- 'modified' => TRUE,
- 'locked' => TRUE,
- );
- $node_type = (object)_node_type_set_defaults($node_type);
- node_type_save($node_type);
- // Default to not promoted.
- variable_set('node_options_openlayers_test_type', array('status'));
- // The import process of CCK is not simply calling a function,
- // so we just feed the submit function the correct values
- module_load_include('inc', 'node', 'content_types.inc');
- module_load_include('inc', 'content', 'includes/content.admin.inc');
- module_load_include('inc', 'content', 'includes/content.crud');
- module_load_include('module', 'content_copy', 'content_copy');
- // Leverage macro making function
- $GLOBALS['content_copy']['submissions'] = _openlayers_test_content_definition();
- $macro = content_copy_get_macro();
- // Make form array
- $form = array();
- $form_state = array(
- 'values' => array(
- 'type_name' => 'openlayers_test_type',
- 'macro' => $macro,
- ),
- );
- // Call submit function
- content_copy_import_form_submit($form, $form_state);
- }
- }
- /**
- * Implementation of hook_uninstall().
- */
- function openlayers_test_uninstall() {
- // Remove any added data (check for function)
- if (function_exists('node_type_delete')) {
- node_type_delete('openlayers_test_type');
- }
- // Get module variables
- $variables = db_query("SELECT v.name FROM {variable} AS v WHERE v.name LIKE ':pattern'",
- array(':pattern' => db_like('openlayers_test_') . '%'))->fetchAll();
- // Remove variables
- foreach ($variables as $v) {
- variable_del($v);
- }
- }
- /**
- * Get content type definition with fields.
- *
- * Retireives content type definition and fields
- * as exported from CCK.
- */
- function _openlayers_test_content_definition() {
- $content['type'] = array(
- 'name' => 'OpenLayers Test Type',
- 'type' => 'openlayers_test_type',
- 'description' => 'This is a content type for testing OpenLayers functionality.',
- 'title_label' => 'Title',
- 'body_label' => 'Body',
- 'min_word_count' => '0',
- 'help' => '',
- 'node_options' =>
- array(
- 'status' => TRUE,
- 'promote' => FALSE,
- 'sticky' => FALSE,
- 'revision' => FALSE,
- ),
- 'old_type' => 'openlayers_test_type',
- 'orig_type' => 'openlayers_test_type',
- 'module' => 'node',
- 'custom' => '1',
- 'modified' => '1',
- 'locked' => '1',
- 'comment' => 2,
- 'comment_default_mode' => 4,
- 'comment_default_order' => 1,
- 'comment_default_per_page' => 50,
- 'comment_controls' => 3,
- 'comment_anonymous' => 0,
- 'comment_subject_field' => 1,
- 'comment_preview' => 1,
- 'comment_form_location' => 0,
- );
- $content['fields'] = array(
- 0 =>
- array(
- 'label' => 'OpenLayers Test WKT',
- 'field_name' => 'field_openlayers_test_wkt',
- 'type' => 'openlayers_wkt',
- 'widget_type' => 'openlayers_wkt_widget',
- 'change' => 'Change basic information',
- 'weight' => '31',
- 'openlayers_cck_map' => 'default',
- 'description' => 'This is some help text for this field.',
- 'default_value' =>
- array(
- 0 =>
- array(
- 'openlayers_wkt' => '',
- ),
- ),
- 'default_value_php' => '',
- 'default_value_widget' => NULL,
- 'group' => FALSE,
- 'required' => 0,
- 'multiple' => '0',
- 'openlayers_cck_feature_types' =>
- array(
- 'point' => 'point',
- 'path' => 'path',
- 'polygon' => 'polygon',
- ),
- 'op' => 'Save field settings',
- 'module' => 'openlayers_cck',
- 'widget_module' => 'openlayers_cck',
- 'columns' =>
- array(
- 'openlayers_wkt' =>
- array(
- 'type' => 'text',
- 'size' => 'big',
- 'not null' => FALSE,
- 'sortable' => TRUE,
- 'views' => TRUE,
- ),
- ),
- 'display_settings' =>
- array(
- 'label' =>
- array(
- 'format' => 'above',
- 'exclude' => 0,
- ),
- 'teaser' =>
- array(
- 'format' => 'default',
- 'exclude' => 0,
- ),
- 'full' =>
- array(
- 'format' => 'default',
- 'exclude' => 0,
- ),
- 4 =>
- array(
- 'format' => 'default',
- 'exclude' => 0,
- ),
- ),
- ),
- );
- $content['extra'] = array(
- 'title' => '-5',
- 'body_field' => '0',
- 'revision_information' => '20',
- 'comment_settings' => '30',
- 'menu' => '-2',
- );
- return $content;
- }
|