You are here

function uc_ajax_cart_preprocess_uc_ajax_cart_block_content in Ubercart AJAX Cart 7.2

Same name and namespace in other branches
  1. 6.2 uc_ajax_cart.theme.inc \uc_ajax_cart_preprocess_uc_ajax_cart_block_content()

@todo Please document this function.

See also

http://drupal.org/node/1354

File

./uc_ajax_cart.module, line 273

Code

function uc_ajax_cart_preprocess_uc_ajax_cart_block_content(&$vars) {
  $content = $vars['items'];
  $items = array();
  $context = array(
    'revision' => 'themed',
    'type' => 'price',
  );
  $total = 0;
  $total_items = 0;
  foreach ($content as $item) {
    $display_item = module_invoke($item->module, 'uc_cart_display', $item);
    if (!empty($display_item)) {
      $attributes = isset($item->data['attributes']) ? $item->data['attributes'] : NULL;
      $total += $display_item['#total'];
      $total_items += $display_item['qty']['#default_value'];
      $items[] = array(
        'nid' => $display_item['nid']['#value'],
        'qty' => t('@qty×', array(
          '@qty' => $display_item['qty']['#default_value'],
        )),
        'title' => $display_item['title']['#markup'],
        'descr' => isset($display_item['description']['#markup']) ? $display_item['description']['#markup'] : FALSE,
        'link' => url('node/' . $item->nid),
        'item' => $item,
        'image' => uc_product_get_picture($display_item['nid']['#value'], 'cart'),
        'node' => node_load($item->nid),
        'total' => $display_item['#total'],
        'remove_link' => l(t('Remove product'), UC_AJAX_CART_REMOVE_CALLBACK, array(
          'attributes' => array(
            'onclick' => "ajaxCartBlockUIRemove(this.href); return false;",
            'class' => array(
              'remove-cart-link',
              'remove-cart-link-' . $display_item['nid']['#value'],
            ),
          ),
          'query' => array(
            'nid' => $display_item['nid']['#value'],
            'destination' => $_GET['q'],
            'data' => base64_encode($display_item['data']['#value']),
            'action' => 'remove',
          ),
        )),
      );
    }
  }
  $vars['total'] = $total;

  //uc_price($total, $context);
  $vars['items'] = $items;
  $vars['item_count'] = $total_items;
  $vars['cart_links'] = theme('uc_ajax_cart_cart_links');
  $vars['items_text'] = format_plural($total_items, '<span class="num-items">@count</span> Item', '<span class="num-items">@count</span> Items');
}