function _subform_related_page in Subform 5
1 string reference to '_subform_related_page'
File
- ./
subform.module, line 682
Code
function _subform_related_page($relation_instance_node, $node_id) {
$relation_instance_id = arg(1);
$operation = arg(3);
$relation_class_node = node_load($relation_instance_node->relation_class);
$child_side = arg(2);
$child_node = $child_side . '_node';
$child_node = $relation_instance_node->{$child_node};
$parent_side = $child_side == 'left' ? 'right' : 'left';
$parent_node = $parent_side . '_node';
$parent_node = $relation_instance_node->{$parent_node};
$form_delete_relation_instance = array(
'relation_instance_id' => array(
'#type' => 'hidden',
'#value' => $relation_instance_id,
),
'submit' => array(
'#type' => 'submit',
),
);
$form_delete_relation_instance = str_replace("<input type=\"submit\" name=\"op\" value=\"\" class=\"form-submit\" />", "<input type='hidden' name='op' id='op' value='Submit'>", drupal_get_form('subform_delete_relation_instance', $form_delete_relation_instance));
$node = node_load($node_id);
if ($operation == 'hoist') {
drupal_goto("node/{$node_id}/edit");
}
else {
if ($operation == 'edit') {
// since the result of ALL edit operations is redirection to edit, we need to check if the requested op was delete
// this chunk of code ripped from node.module
if ($_POST['op'] == 'Delete') {
if ($_REQUEST['destination']) {
$destination = drupal_get_destination();
unset($_REQUEST['destination']);
}
// 'subform_related/'. arg(1) .'/'. arg(2) .'/'. arg(3)
drupal_goto("subform_related/{$relation_instance_id}/{$child_side}/delete", $destination);
return;
}
$form = node_form_array($node);
unset($form['preview']);
unset($form['delete']);
$form['#redirect'] = "subform_related/{$relation_instance_id}/{$child_side}/edit";
$content = $form_delete_relation_instance . drupal_get_form($node->type . '_node_form', $form, 'node_form');
$content = str_replace('<input type="submit" name="op" value="Submit" class="form-submit" />', '<input type="hidden" name="op" id="op" value="Submit">', $content);
$messages = theme_status_messages();
}
else {
if ($operation == 'delete') {
node_delete($node_id);
$content = '';
}
else {
$content = node_view($node);
}
}
}
$head = drupal_get_html_head();
$styles = theme_get_styles();
print $messages . $content;
// include_once('subform.tpl.php');
}