Index: ec_nodeaccess.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/ec_nodeaccess/ec_nodeaccess.module,v retrieving revision 1.2 diff -u -r1.2 ec_nodeaccess.module --- ec_nodeaccess.module 27 Nov 2008 06:47:38 -0000 1.2 +++ ec_nodeaccess.module 4 Dec 2008 01:44:56 -0000 @@ -466,10 +466,11 @@ * Implementation of hook_nodeapi(). */ -function ec_nodeaccess_nodeapi(&$node, $op, $teaser_or_form = NULL, $page = NULL) { - if ($node->type != 'product') { +function ec_nodeaccess_nodeapi(&$node, $op, $teaser_or_form = NULL, $page = NULL) { + if (empty($node->ptype)) { return; } + switch ($op) { case 'update': case 'insert': @@ -679,7 +680,7 @@ * then calls node_access_rebuild() to update site-wide node access */ -function ec_nodeaccess_save($nid, $nodes = array(), $categories = array()) { +function ec_nodeaccess_save($nid, $nodes = array(), $categories = array()) { if ($categories) { $categories = array_filter($categories); // strips null/empty/false values } @@ -692,10 +693,12 @@ // check if the previous entry for this nid has the same categories and nodes $latest = db_result(db_query("SELECT max(entry_date) as maxdate FROM {ec_nodeaccess_products} - WHERE nid = %d GROUP BY nid", $nid)); - $previous = db_fetch_array(db_query("SELECT entry_id - FROM {ec_nodeaccess_products} - WHERE entry_date = '%s' AND nid = %d AND categories = '%s' AND nodes = '%s'", $latest, $nid, $categories, $nodes)); + WHERE nid = %d GROUP BY nid", $nid)); + if (!empty($latest)) { + $previous = db_fetch_array(db_query("SELECT entry_id + FROM {ec_nodeaccess_products} + WHERE entry_date = '%s' AND nid = %d AND categories = '%s' AND nodes = '%s'", $latest, $nid, $categories, $nodes)); + } if (!$previous) { // previous record does not match, means there are changes we need to save $insertion = db_query("INSERT INTO {ec_nodeaccess_products} (nid, entry_date, categories, nodes) VALUES (%d, NOW(), '%s', '%s')", $nid, $categories, $nodes);