'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; }