/[drupal]/contributions/modules/nodereferrer_create/create_reference.php
ViewVC logotype

Diff of /contributions/modules/nodereferrer_create/create_reference.php

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

revision 1.1.2.1, Fri Jun 27 12:38:14 2008 UTC revision 1.1.2.2, Tue Sep 9 11:11:13 2008 UTC
# Line 26  function _nodereferrer_create_create_ref Line 26  function _nodereferrer_create_create_ref
26    global $user;    global $user;
27    
28    drupal_set_title(check_plain($node->title));    drupal_set_title(check_plain($node->title));
29    /*  
30    _nodereferrer_create_alter_signal(array(    _nodereferrer_create_reference_signal(array(
31      'type' => $referrer_type,      'type' => $reference_type,
     'field' => $node->referrers[$referrer_field_idx]['referrence'][$referrer_type][$referrence_field_idx]['field_name'],  
32      'nid' => $node->nid,      'nid' => $node->nid,
33      'add' => false,      'title' => $node->title,
34    ));    ));
35    */  
36    // Make sure we have the pages we want    // Make sure we have the pages we want
37    module_load_include('pages.inc', 'node');    module_load_include('pages.inc', 'node');
38    
# Line 96  function _nodereferrer_create_reference_ Line 95  function _nodereferrer_create_reference_
95   * @return   * @return
96   *   if no param is passed, return the stored array   *   if no param is passed, return the stored array
97   */   */
98   /*  function _nodereferrer_create_reference_signal($set=NULL) {
 function _nodereferrer_create_alter_signal($set=NULL) {  
99    static $return;    static $return;
100    if ($set) {    if ($set) {
101      $return = $set;      $return = $set;
102    }    }
103    else return $return;    else return $return;
104  }  }
105  */  
106  /**  /**
107   * Alter the node_add form to add our default values   * Alter the node_add form to add our default values
108   */   */
109   /*  function _nodereferrer_create_reference_alter(&$form, $form_state, $form_id) {
110  function nodereferrer_create_form_alter(&$form, $form_state, $form_id) {    if ($signal = _nodereferrer_create_reference_signal() AND $form_id == $signal['type'].'_node_form') {
111    if ($signal = _nodereferrer_create_alter_signal() AND $form_id == $signal['type'].'_node_form') {      // Add default title if required
112      if (!$signal['add'] && isset($form[$signal['field']]['#default_value'])) {      if (variable_get('nodereferrer_create_sync_title', 0) && isset($form['title'])) {
113        $form[$signal['field']]['#default_value'] = array('nid' => $signal['nid']);        $form['title']['#default_value'] = $signal['title'];
114      } else {      }
115        $idx = -1;  
116        while(isset($form[$signal['field']][$idx+1])) {      // Syncronise other fields if required
117          $idx = $idx+1;      $list = trim(variable_get('nodereferrer_create_sync_fields', ''));
118        }      if ($list) {
119        if ($idx > 0 && !$signal['add']) {        $list = explode("\n", $list);
120          $form[$signal['field']][$idx-1]['#default_value'] = array('nid' => $signal['nid']);        $node = node_load($signal['nid']);
121        } else if ($idx >= 0 && $signal['add']) {        foreach ($list as $rule) {
122          $form[$signal['field']][$idx]['#default_value'] = array('nid' => $signal['nid']);          if (!preg_match('/^\s*(.+)\s+:\s+(.+)$/', $rule, $matches)) {
123              continue;
124            }
125            $source = $matches[1];
126            $dest   = $matches[2];
127            if (!array_key_exists($source, $node)) {
128              continue;
129            }
130            if (!array_key_exists($dest, $form)) {
131              continue;
132            }
133            $form[$dest]['#default_value'] = $node->$source;
134        }        }
135      }      }
136    
137    }    }
138  }  }
139  */  

Legend:
Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.2

  ViewVC Help
Powered by ViewVC 1.1.2