'Cart links settings', 'description' => 'Configure and craft special product add to cart links.', 'page callback' => 'drupal_get_form', 'page arguments' => array('uc_cart_links_settings_form'), 'access arguments' => array('administer cart links'), 'file' => 'uc_cart_links.admin.inc', ); $items['admin/store/reports/cart_links'] = array( 'title' => 'Cart links clicks', 'description' => 'Track clicks through cart links.', 'page callback' => 'uc_cart_links_report', 'access arguments' => array('view cart links report'), 'file' => 'uc_cart_links.admin.inc', ); $items['admin/store/help/cart_links'] = array( 'title' => 'Creating cart links', 'description' => 'Learn how to create cart links for your products.', 'page callback' => 'uc_cart_links_creation_help', 'access arguments' => array('administer store'), 'file' => 'uc_cart_links.admin.inc', ); $items['cart/add/%'] = array( 'title' => 'Add to cart', 'page callback' => 'drupal_get_form', 'page arguments' => array('uc_cart_links_form', 2), 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, 'file' => 'uc_cart_links.pages.inc', ); return $items; } /** * Implements hook_permission(). */ function uc_cart_links_permission() { return array( 'administer cart links' => array( 'title' => t('Administer cart links'), ), 'view cart links report' => array( 'title' => t('View cart links report'), ), ); } /** * Implements hook_uc_add_to_cart(). */ function uc_cart_links_uc_add_to_cart($nid, $qty, $data) { if (user_access('administer cart links') && variable_get('uc_cart_links_add_show', FALSE)) { $cart_link = 'p' . $nid . '_q' . $qty; if (!empty($data['attributes'])) { foreach ($data['attributes'] as $attribute => $option) { if (is_array($option)) { // Checkbox options are stored in an array foreach ($option as $oid => $ovalue) { if ($ovalue != 0) { $cart_link .= '_a' . $attribute . 'o' . $oid; } } } else { // Textfield, Select, or Radio options $cart_link .= '_a' . $attribute . 'o' . $option; } } } drupal_set_message(t('Cart link product action: @cart_link', array('@cart_link' => $cart_link))); } }