/[drupal]/contributions/modules/skeleton/skeleton_instance.inc
ViewVC logotype

Diff of /contributions/modules/skeleton/skeleton_instance.inc

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

revision 1.22, Thu Aug 27 17:35:41 2009 UTC revision 1.23, Thu Aug 27 17:36:57 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2    
3  // $Id: skeleton_instance.inc,v 1.21 2009/07/16 18:09:19 deviantintegral Exp $  // $Id: skeleton_instance.inc,v 1.22 2009/08/27 17:35:41 deviantintegral Exp $
4    
5  /**  /**
6   * @file   * @file
# Line 709  function skeleton_create_instance_form_s Line 709  function skeleton_create_instance_form_s
709        if (module_exists('pathauto')) {        if (module_exists('pathauto')) {
710          $node['values']['title'] = str_replace('[bookpathalias]', '[\skeleton-bookpathalias\]', $node['values']['title']);          $node['values']['title'] = str_replace('[bookpathalias]', '[\skeleton-bookpathalias\]', $node['values']['title']);
711          $node['values']['body'] = str_replace('[bookpathalias]', '[\skeleton-bookpathalias\]', $node['values']['body']);          $node['values']['body'] = str_replace('[bookpathalias]', '[\skeleton-bookpathalias\]', $node['values']['body']);
712            // Also do any CCK text fields.
713            $content_type = content_types($node['values']['type']);
714            $fields = $content_type['fields'];
715            foreach ($fields as $field) {
716              if ($field['type'] == 'text' && is_array($node['values'][$field['field_name']])) {
717                foreach (array_keys($node['values'][$field['field_name']]) as $delta) {
718                  $node['values'][$field['field_name']][$delta]['value'] = str_replace('[bookpathalias]', '[\skeleton-bookpathalias\]', $node['values'][$field['field_name']][$delta]['value']);
719                }
720              }
721            }
722        }        }
723    
724        // Replace custom tokens in the title and body fields. Replace skeleton        // Replace custom tokens in the title and body fields. Replace skeleton
725        // tokens first so they may be used as node tokens such as [title].        // tokens first so they may be used as node tokens such as [title].
726        if (!empty($form_state['values']['skeleton_tokens'])) {        if (!empty($form_state['values']['skeleton_tokens'])) {
727          $node['values']['title'] = token_replace($node['values']['title'], 'skeleton', $form_state['values']['skeleton_tokens']);          $node['values'] = (array)_skeleton_token_replace_values((object)$node['values'], 'skeleton', $form_state['values']['skeleton_tokens']);
         $node['values']['body'] = token_replace($node['values']['body'], 'skeleton', $form_state['values']['skeleton_tokens']);  
728        }        }
729    
730        $node['values']['title'] = token_replace($node['values']['title'], 'node', (object)$node['values']);        $node['values'] = (array)_skeleton_token_replace_values((object)$node['values'], 'node', (object)$node['values']);
731        $form_state['values']['title'] = $node['values']['title'];        $form_state['values']['title'] = $node['values']['title'];
   
       $node['values']['body'] = token_replace($node['values']['body'], 'node', (object)$node['values']);  
732        $form_state['values']['body'] = $node['values']['body'];        $form_state['values']['body'] = $node['values']['body'];
733    
734        $node['values']['tokens'] = $form_state['values']['skeleton_tokens'];        $node['values']['tokens'] = $form_state['values']['skeleton_tokens'];
# Line 780  function skeleton_create_instance_form_s Line 787  function skeleton_create_instance_form_s
787        $parent_node->title = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->title);        $parent_node->title = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->title);
788        $parent_node->teaser = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->teaser);        $parent_node->teaser = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->teaser);
789        $parent_node->body = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->body);        $parent_node->body = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->body);
790          $content_type = content_types($parent_node->type);
791          $fields = $content_type['fields'];
792          foreach ($fields as $field) {
793            if ($field['type'] == 'text' && is_array($parent_node->{$field['field_name']})) {
794              foreach (array_keys($parent_node->{$field['field_name']}) as $delta) {
795                $parent_node->{$field['field_name']}[$delta]['value'] = str_replace('[\skeleton-bookpathalias\]', drupal_get_path_alias($parent_node->path), $parent_node->{$field['field_name']}[$delta]['value']);
796              }
797            }
798          }
799        $parent_node->skeleton_template->keep_connected = TRUE;        $parent_node->skeleton_template->keep_connected = TRUE;
800        $parent_node = node_submit($parent_node);        $parent_node = node_submit($parent_node);
801        node_save($parent_node);        node_save($parent_node);
# Line 809  function skeleton_create_instance_form_s Line 825  function skeleton_create_instance_form_s
825        $node['values']['book']['weight'] = $data->weight;        $node['values']['book']['weight'] = $data->weight;
826        $node['values']['book']['options'] = array();        $node['values']['book']['options'] = array();
827    
       // For subpages, we can simply simulate the [bookpathalias] token here.  
       // Otherwise, it will be replaced with '' during token_replace() as the  
       // node isn't saved yet.  
       if (module_exists('pathauto')) {  
         $book_root = node_load($book_id);  
         $node['values']['title'] = str_replace('[bookpathalias]', drupal_get_path_alias($book_root->path), $node['values']['title']);  
         $node['values']['body'] = str_replace('[bookpathalias]', drupal_get_path_alias($book_root->path), $node['values']['body']);  
       }  
   
828        // Replace custom tokens in the title and body fields. Replace skeleton        // Replace custom tokens in the title and body fields. Replace skeleton
829        // tokens first so they may be used as node tokens such as [title].        // tokens first so they may be used as node tokens such as [title].
830        if (!empty($form_state['values']['skeleton_tokens'])) {        if (!empty($form_state['values']['skeleton_tokens'])) {
831          $node['values']['title'] = token_replace($node['values']['title'], 'skeleton', $form_state['values']['skeleton_tokens']);          $node['values'] = (array)_skeleton_token_replace_values((object)$node['values'], 'skeleton', $form_state['values']['skeleton_tokens']);
         $node['values']['body'] = token_replace($node['values']['body'], 'skeleton', $form_state['values']['skeleton_tokens']);  
832        }        }
833    
834        $node['values']['title'] = token_replace($node['values']['title'], 'node', (object)$node['values']);        $node['values'] = (array)_skeleton_token_replace_values((object)$node['values'], 'node', (object)$node['values'], TRUE);
       $node['values']['body'] = token_replace($node['values']['body'], 'node', (object)$node['values']);  
835    
836        $node['values']['uid'] = $user->uid;        $node['values']['uid'] = $user->uid;
837        $node['values']['name'] = $user->name;        $node['values']['name'] = $user->name;

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.2