You are here

function node_gallery_api_rules_item_set_weight in Node Gallery 7

Rules action for setting the weight of a gallery item in a gallery.

Parameters

object $item_wrapper: Gallery Item

int $weight: New item weight.

object $gallery_wrapper: Gallery, if null, will set weight for all galleries

1 string reference to 'node_gallery_api_rules_item_set_weight'
node_gallery_api_rules_action_info in ./node_gallery_api.rules.inc
Implements hook_rules_action_info().

File

./node_gallery_api.rules.inc, line 227
Rules module integration.

Code

function node_gallery_api_rules_item_set_weight($item_wrapper, $weight, $gallery_wrapper = NULL) {
  if (in_array($item_wrapper->type
    ->value(), node_gallery_api_get_types('item'))) {
    $gallery_nid = !empty($gallery_wrapper) ? $gallery_wrapper->nid
      ->value() : NULL;
    $relationships = node_gallery_api_get_relationships($gallery_nid, $item_wrapper->nid
      ->value());
    foreach ($relationships as $relationship) {
      if ($weight != $relationship->weight) {
        $relationship->weight = $weight;
        $relationship
          ->save();
      }
    }
  }
}