You are here

function uc_product_is_product in Ubercart 6.2

Same name and namespace in other branches
  1. 8.4 uc_product/uc_product.module \uc_product_is_product()
  2. 5 uc_product/uc_product.module \uc_product_is_product()
  3. 7.3 uc_product/uc_product.module \uc_product_is_product()

Determines whether or not a given node or node type is a product.

Parameters

$node: Either a full node object/array, a node ID, or a node type.

Return value

TRUE or FALSE indicating whether or not a node type is a product node type.

24 calls to uc_product_is_product()
uc_attribute_nodeapi in uc_attribute/uc_attribute.module
Implements hook_nodeapi().
uc_attribute_product_access in uc_attribute/uc_attribute.module
Access callback for editing a product's attributes.
uc_attribute_product_option_access in uc_attribute/uc_attribute.module
Access callback for editing a product's options.
uc_cart_add_item in uc_cart/uc_cart.module
Adds an item to a user's cart.
uc_cart_nodeapi in uc_cart/uc_cart.module
Implements hook_nodeapi().

... See full list

File

uc_product/uc_product.module, line 1641
The product module for Ubercart.

Code

function uc_product_is_product($node) {

  // Load the node object if we received an integer as an argument.
  if (is_numeric($node)) {
    $node = node_load($node);
  }

  // Determine the node type based on the data type of $node.
  if (is_object($node)) {
    $type = $node->type;
  }
  elseif (is_array($node)) {
    $type = $node['type'];
  }
  elseif (is_string($node)) {
    $type = $node;
  }

  // If no node type was found, go ahead and return FALSE.
  if (!$type) {
    return FALSE;
  }

  // Return TRUE or FALSE depending on whether or not the node type is in the
  // product types array.
  return in_array($type, uc_product_types());
}