| 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 |
| 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']; |
| 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); |
| 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; |