=== modified file 'includes/form.inc' --- includes/form.inc 2007-09-14 10:40:55 +0000 +++ includes/form.inc 2007-09-23 19:56:10 +0000 @@ -191,6 +191,7 @@ function form_set_cache($form_build_id, * $form_state['values']['name'] = 'robo-user'; * $form_state['values']['mail'] = 'robouser@example.com'; * $form_state['values']['pass'] = 'password'; + * $form_state['values']['op'] = t('Create new account'); * drupal_execute('user_register', $form_state); * * // Create a new node @@ -199,6 +200,7 @@ function form_set_cache($form_build_id, * $form_state['values']['title'] = 'My node'; * $form_state['values']['body'] = 'This is the body text!'; * $form_state['values']['name'] = 'robo-user'; + * $form_state['values']['op'] = t('Save'); * drupal_execute('story_node_form', $form_state, $node); */ function drupal_execute($form_id, &$form_state) { === modified file 'modules/comment/comment.module' --- modules/comment/comment.module 2007-09-11 14:50:04 +0000 +++ modules/comment/comment.module 2007-09-23 20:45:50 +0000 @@ -837,7 +837,7 @@ function comment_save($edit) { if ($edit['uid'] === $user->uid) { // '===' because we want to modify anonymous users too $edit['name'] = $user->name; } - + db_query("INSERT INTO {comments} (nid, pid, uid, subject, comment, format, hostname, timestamp, status, thread, name, mail, homepage) VALUES (%d, %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s', '%s', '%s')", $edit['nid'], $edit['pid'], $edit['uid'], $edit['subject'], $edit['comment'], $edit['format'], ip_address(), $edit['timestamp'], $status, $thread, $edit['name'], $edit['mail'], $edit['homepage']); $edit['cid'] = db_last_insert_id('comments', 'cid'); @@ -1721,7 +1721,7 @@ function comment_form_validate($form, &$ foreach (array('name', 'homepage', 'mail') as $field) { // Set cookie for 365 days. if (isset($form_state['values'][$field])) { - setcookie('comment_info_'. $field, $form_state['values'][$field], time() + 31536000); + setcookie('comment_info_'. $field, $form_state['values'][$field], time() + 31536000, '/'); } } } === modified file 'modules/node/node.admin.inc' --- modules/node/node.admin.inc 2007-09-12 18:29:31 +0000 +++ modules/node/node.admin.inc 2007-09-23 16:53:10 +0000 @@ -82,27 +82,33 @@ function node_node_operations() { $operations = array( 'publish' => array( 'label' => t('Publish'), - 'callback' => 'node_operations_publish', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('status = 1'), ), 'unpublish' => array( 'label' => t('Unpublish'), - 'callback' => 'node_operations_unpublish', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('status = 0'), ), 'promote' => array( 'label' => t('Promote to front page'), - 'callback' => 'node_operations_promote', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('status = 1, promote = 1'), ), 'demote' => array( 'label' => t('Demote from front page'), - 'callback' => 'node_operations_demote', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('promote = 0'), ), 'sticky' => array( 'label' => t('Make sticky'), - 'callback' => 'node_operations_sticky', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('status = 1, sticky = 1'), ), 'unsticky' => array( 'label' => t('Remove stickiness'), - 'callback' => 'node_operations_unsticky', + 'callback' => 'node_operations_execute', + 'callback arguments' => array('sticky = 0'), ), 'delete' => array( 'label' => t('Delete'), @@ -113,46 +119,14 @@ function node_node_operations() { } /** - * Callback function for admin mass publishing nodes. + * Callback function for admin mass node operations. */ -function node_operations_publish($nodes) { - db_query('UPDATE {node} SET status = 1 WHERE nid IN(%s)', implode(',', $nodes)); +function node_operations_execute($nodes, $set) { + $placeholders = '%d'. str_repeat(', %d', count($nodes) - 1); + array_unshift($nodes, time()); + db_query("UPDATE {node} SET $set, changed = %d WHERE nid IN (". $placeholders .')', $nodes); } -/** - * Callback function for admin mass unpublishing nodes. - */ -function node_operations_unpublish($nodes) { - db_query('UPDATE {node} SET status = 0 WHERE nid IN(%s)', implode(',', $nodes)); -} - -/** - * Callback function for admin mass promoting nodes. - */ -function node_operations_promote($nodes) { - db_query('UPDATE {node} SET status = 1, promote = 1 WHERE nid IN(%s)', implode(',', $nodes)); -} - -/** - * Callback function for admin mass demoting nodes. - */ -function node_operations_demote($nodes) { - db_query('UPDATE {node} SET promote = 0 WHERE nid IN(%s)', implode(',', $nodes)); -} - -/** - * Callback function for admin mass editing nodes to be sticky. - */ -function node_operations_sticky($nodes) { - db_query('UPDATE {node} SET status = 1, sticky = 1 WHERE nid IN(%s)', implode(',', $nodes)); -} - -/** - * Callback function for admin mass editing nodes to remove stickiness. - */ -function node_operations_unsticky($nodes) { - db_query('UPDATE {node} SET sticky = 0 WHERE nid IN(%s)', implode(',', $nodes)); -} /** * List node administration filters that can be applied. === modified file 'modules/user/user.module' --- modules/user/user.module 2007-09-19 18:00:52 +0000 +++ modules/user/user.module 2007-09-23 19:36:57 +0000 @@ -1744,9 +1744,9 @@ function user_filters() { if (count($roles)) { $filters['role'] = array( 'title' => t('role'), - 'where' => "ur.rid = %d", + 'where' => 'ur$index.rid = %d', 'options' => $roles, - 'join' => '', + 'join' => 'INNER JOIN {users_roles} ur$index ON ur$index.uid = u.uid', ); } @@ -1784,7 +1784,7 @@ function user_build_filter_query() { // Build query $where = $args = $join = array(); - foreach ($_SESSION['user_overview_filter'] as $filter) { + foreach ($_SESSION['user_overview_filter'] as $index => $filter) { list($key, $value) = $filter; // This checks to see if this permission filter is an enabled permission for the authenticated role. // If so, then all users would be listed, and we can skip adding it to the filter query. @@ -1796,9 +1796,9 @@ function user_build_filter_query() { continue; } } - $where[] = $filters[$key]['where']; + $where[] = str_replace('$index', $index, $filters[$key]['where']); $args[] = $value; - $join[] = $filters[$key]['join']; + $join[] = str_replace('$index', $index, $filters[$key]['join']); } $where = !empty($where) ? 'AND '. implode(' AND ', $where) : ''; $join = !empty($join) ? ' '. implode(' ', array_unique($join)) : '';