You are here

function uc_flatrate_node_update in Ubercart 7.3

Implements hook_node_update().

1 call to uc_flatrate_node_update()
uc_flatrate_node_insert in shipping/uc_flatrate/uc_flatrate.module
Implements hook_node_insert().

File

shipping/uc_flatrate/uc_flatrate.module, line 89
Shipping quote module that defines a flat shipping rate for each product.

Code

function uc_flatrate_node_update($node) {
  if (uc_product_is_product($node->type)) {
    if (isset($node->flatrate) && is_array($node->flatrate)) {
      if (empty($node->revision)) {
        db_delete('uc_flatrate_products')
          ->condition('vid', $node->vid)
          ->execute();
      }
      $query = db_insert('uc_flatrate_products')
        ->fields(array(
        'vid',
        'nid',
        'mid',
        'rate',
      ));
      foreach ($node->flatrate as $mid => $rate) {
        if (is_numeric($rate) && $rate >= 0) {
          $query
            ->values(array(
            'vid' => $node->vid,
            'nid' => $node->nid,
            'mid' => $mid,
            'rate' => $rate,
          ));
        }
      }
      $query
        ->execute();
    }
  }
}