Index: modules/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.526 diff -u -p -r1.526 node.module --- modules/node.module 30 Aug 2005 15:22:29 -0000 1.526 +++ modules/node.module 30 Aug 2005 18:06:09 -0000 @@ -442,53 +442,28 @@ function node_save($node) { 'title' => $node->title, 'body' => $node->body, 'teaser' => $node->teaser, 'log' => $node->log, 'timestamp' => $node->changed, 'uid' => $user->uid, 'format' => $node->format); - $revisions_table_types = array('nid' => '%d', 'vid' => '%d', - 'title' => "'%s'", 'body' => "'%s'", - 'teaser' => "'%s'", 'log' => "'%s'", 'timestamp' => '%d', - 'uid' => '%d', 'format' => '%d'); $node_table_values = array('nid' => $node->nid, 'vid' => $node->vid, 'title' => $node->title, 'type' => $node->type, 'uid' => $node->uid, 'status' => $node->status, 'created' => $node->created, 'changed' => $node->changed, 'comment' => $node->comment, 'promote' => $node->promote, 'moderate' => $node->moderate, 'sticky' => $node->sticky); - $node_table_types = array('nid' => '%d', 'vid' => '%d', - 'title' => "'%s'", 'type' => "'%s'", 'uid' => '%d', - 'status' => '%d', 'created' => '%d', - 'changed' => '%d', 'comment' => '%d', - 'promote' => '%d', 'moderate' => '%d', - 'sticky' => '%d'); - //Generate the node table query and the - //the node_revisions table query + // Insert the node into the database: if ($node->is_new) { - $node_query = 'INSERT INTO {node} ('. implode(', ', array_keys($node_table_types)) .') VALUES ('. implode(', ', $node_table_types) .')'; - $revisions_query = 'INSERT INTO {node_revisions} ('. implode(', ', array_keys($revisions_table_types)) .') VALUES ('. implode(', ', $revisions_table_types) .')'; + db_query('INSERT INTO {node} %a', $node_table_values); + db_query('INSERT INTO {node_revisions} %a', $revisions_table_values); } else { - $arr = array(); - foreach ($node_table_types as $key => $value) { - $arr[] = $key .' = '. $value; - } - $node_table_values[] = $node->nid; - $node_query = 'UPDATE {node} SET '. implode(', ', $arr) .' WHERE nid = %d'; + db_query('UPDATE {node} SET %a WHERE nid = %d', $node_table_values, $node->nid); if ($node->revision) { - $revisions_query = 'INSERT INTO {node_revisions} ('. implode(', ', array_keys($revisions_table_types)) .') VALUES ('. implode(', ', $revisions_table_types) .')'; + db_query('INSERT INTO {node_revisions} %a', $revisions_table_values); } else { - $arr = array(); - foreach ($revisions_table_types as $key => $value) { - $arr[] = $key .' = '. $value; - } - $revisions_table_values[] = $node->vid; - $revisions_query = 'UPDATE {node_revisions} SET '. implode(', ', $arr) .' WHERE vid = %d'; + db_query('UPDATE {node_revisions} SET %a WHERE vid = %d', $revisions_table_values, $node->vid); } } - // Insert the node into the database: - db_query($node_query, $node_table_values); - db_query($revisions_query, $revisions_table_values); - // Call the node specific callback (if any): if ($node->is_new) { node_invoke($node, 'insert'); @@ -502,7 +477,6 @@ function node_save($node) { // Clear the cache so an anonymous poster can see the node being added or updated. cache_clear_all(); - // Return the node ID: return $node; }