/[drupal]/contributions/modules/node_import/import_cck.inc
ViewVC logotype

Contents of /contributions/modules/node_import/import_cck.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download) (as text)
Sat Apr 29 11:40:15 2006 UTC (3 years, 7 months ago) by dado
Branch: MAIN
Changes since 1.6: +2 -8 lines
File MIME type: text/x-php
fixed import_cck for new nodereference spec
fixed bug in import_event when a complete date is -1
fixed bug in import_taxonomy, but warning/issue persists
1 dado 1.1 <?php
2     /* $Id: import_flexinode.inc,v 1.5 2005/07/01 23:37:02 drumm Exp $ */
3    
4     function content_node_import_types() {
5     $types = array();
6     foreach (_content_types() as $id => $type) {
7     $types[$id] = $type->label;
8     }
9     return $types;
10     }
11    
12     function content_node_import_fields($type) {
13 dado 1.2 $types = (array)_content_types();
14 dado 1.1 if (!isset($types[$type])) return;
15    
16     $content_type = $types[$type];
17     $fields = array();
18    
19     //add the title field
20     $fields['title'] = $content_type->title_label;
21    
22     //add all cck widget fields
23     foreach ($content_type->fields as $field) {
24     $fields[$field['field_name']] = $field['widget']['label'];
25     }
26     return $fields;
27     }
28    
29     function content_node_import_prepare(&$node, $preview = FALSE) {
30     $types = _content_types();
31     if (!isset($types[$node->type])) return;
32     $content_type = $types[$node->type];
33     //add all cck widget fields
34     foreach ($content_type->fields as $field) {
35 dado 1.2 if (strpos($field['widget']['type'], 'nodereference') === 0) {//nodereference node: query nid of the referenced node
36     $referenced_nodes = array();
37 dado 1.4 $sql = "select nid, title from {node} where title sounds like '%s'";
38 dado 1.2 $result = db_query($sql, $node->$field['field_name']);
39 dado 1.7 $record_found = db_fetch_object($result);
40 dado 1.2 if ($record_found) {
41 dado 1.7 $node_field = array(0 => array('nid' => $record_found->nid));
42 dado 1.2 } else {
43 dado 1.4 $node_field = array();
44 dado 1.2 }
45 dado 1.4 $node->$field['field_name'] = $node_field;
46 dado 1.2 } else {//default node types: add value to array w/ key 'value'
47     $thisval = $node->$field['field_name'];
48 dado 1.5 if ($field['widget']['type'] == 'weburl') {
49     $node->$field['field_name'] = array('value' => $thisval);
50     } else {
51     $node->$field['field_name'] = array(0 => array('value' => $thisval));
52     }
53 dado 1.2 }
54 dado 1.1 }
55     return;
56     }
57     ?>

  ViewVC Help
Powered by ViewVC 1.1.2