function commerce_webform_entity_view in Commerce Webform 7.2
Same name and namespace in other branches
- 8 commerce_webform.module \commerce_webform_entity_view()
- 7 commerce_webform.module \commerce_webform_entity_view()
Implements hook_entity_view().
File
- ./
commerce_webform.module, line 515 - Commerce Webform module file
Code
function commerce_webform_entity_view($order, $type, $view_mode, $langcode) {
$submissions = array();
if ($type == 'commerce_order' && $order->type == 'commerce_order') {
global $user;
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
foreach ($order_wrapper->commerce_line_items
->value() as $line_item) {
if (isset($line_item->commerce_webform_sid)) {
$line_item_wrapper = entity_metadata_wrapper('commerce_line_item', $line_item);
$sid = $line_item_wrapper->commerce_webform_sid
->value();
$nid = $line_item_wrapper->commerce_webform_nid
->value();
if ($sid > 0 && $nid > 0 && !isset($submissions["{$nid}:{$sid}"])) {
module_load_include('inc', 'webform', 'includes/webform.submissions');
$sub = webform_get_submission($nid, $sid);
if (user_access('access all webform results') || user_access('access own webform submissions') && $sub->uid == $user->uid) {
// If the user has access to this submission, print the details.
$submissions["{$nid}:{$sid}"] = array(
'node' => node_load($nid),
'submission' => $sub,
);
}
}
}
}
if (!empty($submissions)) {
$order->content['commerce_webform_order_view'] = array();
foreach ($submissions as $id => $submission) {
$node = $submission['node'];
$sub = $submission['submission'];
if (empty($sub)) {
drupal_set_message(t('It appears a web form submission which was attached to this order is missing. It may have been deleted.'), 'warning');
continue;
}
$link = l(t('View submission on webform %title', array(
'%title' => $node->title,
)), "node/{$node->nid}/submission/{$sub->sid}", array(
'html' => TRUE,
));
$order->content['commerce_webform_order_view'][$id]['webform_link'] = array(
'#prefix' => '<label>',
'#markup' => t('Webform submission (!link):', array(
'!link' => $link,
)),
'#suffix' => '</label>',
);
$order->content['commerce_webform_order_view'][$id]['webform_rendered'] = webform_submission_render($node, $sub, NULL, 'html');
$order->content['commerce_webform_order_view'][$id]['webform_rendered'] += array(
'#prefix' => '<div class="webform-submission">',
'#suffix' => '</div>',
);
}
}
}
}