diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 711017d190e7b7f447fad266d3694db3e26775ea..f89c81076077c3c81b2ea9e0b1e13b1190673d00 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -31,6 +31,7 @@ Drupal 7.0, xxxx-xx-xx (development version) * Added an edit tab to taxonomy term pages. * Redesigned password strength validator. * Redesigned the add content type screen. + * Highlight duplicate URL aliases. - Documentation: * Hook API documentation now included in Drupal core. - News aggregator: diff --git a/modules/blogapi/blogapi.module b/modules/blogapi/blogapi.module index 6ada341c324904f796b05f898ee049978072dbaf..a947dbfecd5154140ee9060f859329e73dbe4229 100644 --- a/modules/blogapi/blogapi.module +++ b/modules/blogapi/blogapi.module @@ -584,7 +584,7 @@ function blogapi_mt_validate_terms($node) { $term_list = array_unique($node->taxonomy); $params = $term_list; $params[] = $node->type; - $result = db_query(db_rewrite_sql("SELECT t.tid, t.vid FROM {term_data} t INNER JOIN {vocabulary_node_types} n ON t.vid = n.vid WHERE t.tid IN (". db_placeholders($term_list) .") AND n.type = '%s'", 't', 'tid'), $params); + $result = db_query(db_rewrite_sql("SELECT t.tid, t.vid FROM {term_data} t INNER JOIN {vocabulary_node_type} n ON t.vid = n.vid WHERE t.tid IN (". db_placeholders($term_list) .") AND n.type = '%s'", 't', 'tid'), $params); $found_terms = array(); $found_count = 0; while ($term = db_fetch_object($result)) { @@ -597,7 +597,7 @@ function blogapi_mt_validate_terms($node) { } } // Look up all the vocabularies for this node type. - $result2 = db_query(db_rewrite_sql("SELECT v.vid, v.name, v.required, v.multiple FROM {vocabulary} v INNER JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE n.type = '%s'", 'v', 'vid'), $node->type); + $result2 = db_query(db_rewrite_sql("SELECT v.vid, v.name, v.required, v.multiple FROM {vocabulary} v INNER JOIN {vocabulary_node_type} n ON v.vid = n.vid WHERE n.type = '%s'", 'v', 'vid'), $node->type); // Check each vocabulary associated with this node type. while ($vocabulary = db_fetch_object($result2)) { // Required vocabularies must have at least one term. diff --git a/modules/path/path.admin.inc b/modules/path/path.admin.inc index 664f82d067b8c4b8deaf03255bb70361eef4fa5e..41853a945fadfb7dff679337884d270d959170f0 100644 --- a/modules/path/path.admin.inc +++ b/modules/path/path.admin.inc @@ -42,9 +42,19 @@ function path_admin_overview($keys = NULL) { $rows = array(); $destination = drupal_get_destination(); while ($data = db_fetch_object($result)) { - $row = array(check_plain($data->dst), check_plain($data->src), l(t('edit'), "admin/build/path/edit/$data->pid", array('query' => $destination)), l(t('delete'), "admin/build/path/delete/$data->pid", array('query' => $destination))); + $row = array( + // If the system path maps to a different URL alias, highlight this table + // row to let the user know of old aliases. + 'class' => ($data->dst != drupal_get_path_alias($data->src, $data->language) ? 'warning' : NULL), + 'data' => array( + l($data->dst, $data->src), + l($data->src, $data->src, array('alias' => TRUE)), + l(t('edit'), "admin/build/path/edit/$data->pid", array('query' => $destination)), + l(t('delete'), "admin/build/path/delete/$data->pid", array('query' => $destination)), + ), + ); if ($multilanguage) { - array_splice($row, 2, 0, module_invoke('locale', 'language_name', $data->language)); + array_splice($row['data'], 2, 0, module_invoke('locale', 'language_name', $data->language)); } $rows[] = $row; } diff --git a/modules/poll/poll.install b/modules/poll/poll.install index 3e2f9edd8a3566bebba6edf26dc4c3f773b5b438..b560aad0ba016a699bb97fc5fefbf911cfca421e 100644 --- a/modules/poll/poll.install +++ b/modules/poll/poll.install @@ -48,7 +48,7 @@ function poll_schema() { 'primary key' => array('nid'), ); - $schema['poll_choices'] = array( + $schema['poll_choice'] = array( 'description' => 'Stores information about all choices for all {poll}s.', 'fields' => array( 'chid' => array( @@ -91,7 +91,7 @@ function poll_schema() { 'primary key' => array('chid'), ); - $schema['poll_votes'] = array( + $schema['poll_vote'] = array( 'description' => 'Stores per-{users} votes for each {poll}.', 'fields' => array( 'chid' => array( @@ -131,3 +131,13 @@ function poll_schema() { return $schema; } + +/** + * Rename {poll_choices} table to {poll_choice} and {poll_votes} to {poll_vote}. + */ +function poll_update_7001() { + $ret = array(); + db_rename_table($ret, 'poll_choices', 'poll_choice'); + db_rename_table($ret, 'poll_votes', 'poll_vote'); + return $ret; +} diff --git a/modules/poll/poll.module b/modules/poll/poll.module index f1b725424f5c274eec522429b8efaf7d69bd01fb..2cbd8edcdc25f178e004944315ad90e55b86750c 100644 --- a/modules/poll/poll.module +++ b/modules/poll/poll.module @@ -457,7 +457,7 @@ function poll_load($node) { $poll = db_fetch_object(db_query("SELECT runtime, active FROM {poll} WHERE nid = %d", $node->nid)); // Load the appropriate choices into the $poll object. - $result = db_query("SELECT chid, chtext, chvotes, weight FROM {poll_choices} WHERE nid = %d ORDER BY weight", $node->nid); + $result = db_query("SELECT chid, chtext, chvotes, weight FROM {poll_choice} WHERE nid = %d ORDER BY weight", $node->nid); while ($choice = db_fetch_array($result)) { $poll->choice[$choice['chid']] = $choice; } @@ -466,10 +466,10 @@ function poll_load($node) { $poll->allowvotes = FALSE; if (user_access('vote on polls') && $poll->active) { if ($user->uid) { - $result = db_fetch_object(db_query('SELECT chid FROM {poll_votes} WHERE nid = %d AND uid = %d', $node->nid, $user->uid)); + $result = db_fetch_object(db_query('SELECT chid FROM {poll_vote} WHERE nid = %d AND uid = %d', $node->nid, $user->uid)); } else { - $result = db_fetch_object(db_query("SELECT chid FROM {poll_votes} WHERE nid = %d AND hostname = '%s'", $node->nid, ip_address())); + $result = db_fetch_object(db_query("SELECT chid FROM {poll_vote} WHERE nid = %d AND hostname = '%s'", $node->nid, ip_address())); } if (isset($result->chid)) { $poll->vote = $result->chid; @@ -498,7 +498,7 @@ function poll_insert($node) { foreach ($node->choice as $choice) { if ($choice['chtext'] != '') { - db_query("INSERT INTO {poll_choices} (nid, chtext, chvotes, weight) VALUES (%d, '%s', %d, %d)", $node->nid, $choice['chtext'], $choice['chvotes'], $choice['weight']); + db_query("INSERT INTO {poll_choice} (nid, chtext, chvotes, weight) VALUES (%d, '%s', %d, %d)", $node->nid, $choice['chtext'], $choice['chvotes'], $choice['weight']); } } } @@ -515,14 +515,14 @@ function poll_update($node) { foreach ($node->choice as $key => $choice) { if (!empty($choice['chtext'])) { if (isset($choice['chid'])) { - db_query("UPDATE {poll_choices} SET chtext = '%s', chvotes = %d, weight = %d WHERE chid = %d", $choice['chtext'], (int)$choice['chvotes'], $choice['weight'], $choice['chid']); + db_query("UPDATE {poll_choice} SET chtext = '%s', chvotes = %d, weight = %d WHERE chid = %d", $choice['chtext'], (int)$choice['chvotes'], $choice['weight'], $choice['chid']); } else { - db_query("INSERT INTO {poll_choices} (nid, chtext, chvotes, weight) VALUES (%d, '%s', %d, %d)", $node->nid, $choice['chtext'], (int)$choice['chvotes'], $choice['weight']); + db_query("INSERT INTO {poll_choice} (nid, chtext, chvotes, weight) VALUES (%d, '%s', %d, %d)", $node->nid, $choice['chtext'], (int)$choice['chvotes'], $choice['weight']); } } else { - db_query("DELETE FROM {poll_votes} WHERE nid = %d AND chid = %d", $node->nid, $key); + db_query("DELETE FROM {poll_vote} WHERE nid = %d AND chid = %d", $node->nid, $key); } } } @@ -532,8 +532,8 @@ function poll_update($node) { */ function poll_delete($node) { db_query("DELETE FROM {poll} WHERE nid = %d", $node->nid); - db_query("DELETE FROM {poll_choices} WHERE nid = %d", $node->nid); - db_query("DELETE FROM {poll_votes} WHERE nid = %d", $node->nid); + db_query("DELETE FROM {poll_choice} WHERE nid = %d", $node->nid); + db_query("DELETE FROM {poll_vote} WHERE nid = %d", $node->nid); } /** @@ -648,14 +648,14 @@ function poll_vote($form, &$form_state) { global $user; if ($user->uid) { - db_query('INSERT INTO {poll_votes} (nid, chid, uid) VALUES (%d, %d, %d)', $node->nid, $choice, $user->uid); + db_query('INSERT INTO {poll_vote} (nid, chid, uid) VALUES (%d, %d, %d)', $node->nid, $choice, $user->uid); } else { - db_query("INSERT INTO {poll_votes} (nid, chid, hostname) VALUES (%d, %d, '%s')", $node->nid, $choice, ip_address()); + db_query("INSERT INTO {poll_vote} (nid, chid, hostname) VALUES (%d, %d, '%s')", $node->nid, $choice, ip_address()); } // Add one to the votes. - db_query("UPDATE {poll_choices} SET chvotes = chvotes + 1 WHERE chid = %d", $choice); + db_query("UPDATE {poll_choice} SET chvotes = chvotes + 1 WHERE chid = %d", $choice); cache_clear_all(); drupal_set_message(t('Your vote was recorded.')); @@ -823,20 +823,20 @@ function poll_cancel($form, &$form_state) { global $user; if ($user->uid) { - db_query('DELETE FROM {poll_votes} WHERE nid = %d and uid = %d', $node->nid, $user->uid); + db_query('DELETE FROM {poll_vote} WHERE nid = %d and uid = %d', $node->nid, $user->uid); } else { - db_query("DELETE FROM {poll_votes} WHERE nid = %d and hostname = '%s'", $node->nid, ip_address()); + db_query("DELETE FROM {poll_vote} WHERE nid = %d and hostname = '%s'", $node->nid, ip_address()); } // Subtract from the votes. - db_query("UPDATE {poll_choices} SET chvotes = chvotes - 1 WHERE chid = %d", $node->vote); + db_query("UPDATE {poll_choice} SET chvotes = chvotes - 1 WHERE chid = %d", $node->vote); } /** * Implementation of hook_user_delete(). */ function poll_user_delete(&$edit, &$user) { - db_query('UPDATE {poll_votes} SET uid = 0 WHERE uid = %d', $user->uid); + db_query('UPDATE {poll_vote} SET uid = 0 WHERE uid = %d', $user->uid); } diff --git a/modules/poll/poll.pages.inc b/modules/poll/poll.pages.inc index 61f3bf6c2eebb96b022c0a98ca38434bb05bb00a..7c2bd0c29f0e28f11a9c326e6ef16361ab5dcc0f 100644 --- a/modules/poll/poll.pages.inc +++ b/modules/poll/poll.pages.inc @@ -11,7 +11,7 @@ */ function poll_page() { // List all polls. - $sql = db_rewrite_sql("SELECT n.nid, n.title, p.active, n.created, SUM(c.chvotes) AS votes FROM {node} n INNER JOIN {poll} p ON n.nid = p.nid INNER JOIN {poll_choices} c ON n.nid = c.nid WHERE n.status = 1 GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC"); + $sql = db_rewrite_sql("SELECT n.nid, n.title, p.active, n.created, SUM(c.chvotes) AS votes FROM {node} n INNER JOIN {poll} p ON n.nid = p.nid INNER JOIN {poll_choice} c ON n.nid = c.nid WHERE n.status = 1 GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC"); // Count all polls for the pager. $count_sql = db_rewrite_sql('SELECT COUNT(*) FROM {node} n INNER JOIN {poll} p ON n.nid = p.nid WHERE n.status = 1'); $result = pager_query($sql, 15, 0, $count_sql); @@ -35,7 +35,7 @@ function poll_votes($node) { $header[] = array('data' => t('Vote'), 'field' => 'pv.chorder'); $header[] = array('data' => t('Vote'), 'field' => 'pc.weight'); - $result = pager_query("SELECT pv.chid, pv.uid, pv.hostname, u.name FROM {poll_votes} pv INNER JOIN {poll_choices} pc ON pv.chid = pc.chid LEFT JOIN {users} u ON pv.uid = u.uid WHERE pv.nid = %d". tablesort_sql($header), 20, 0, NULL, $node->nid); + $result = pager_query("SELECT pv.chid, pv.uid, pv.hostname, u.name FROM {poll_vote} pv INNER JOIN {poll_choice} pc ON pv.chid = pc.chid LEFT JOIN {users} u ON pv.uid = u.uid WHERE pv.nid = %d". tablesort_sql($header), 20, 0, NULL, $node->nid); $rows = array(); while ($vote = db_fetch_object($result)) { $rows[] = array( diff --git a/modules/profile/profile.admin.inc b/modules/profile/profile.admin.inc index 16f5860e474f506b52eff7e91053012619f77c12..3e154fb83d08c985e2dc027bb8c81cb6b84bb569 100644 --- a/modules/profile/profile.admin.inc +++ b/modules/profile/profile.admin.inc @@ -13,7 +13,7 @@ * @see profile_admin_overview_submit() */ function profile_admin_overview() { - $result = db_query('SELECT title, name, type, category, fid, weight FROM {profile_fields} ORDER BY category, weight'); + $result = db_query('SELECT title, name, type, category, fid, weight FROM {profile_field} ORDER BY category, weight'); $form = array(); $categories = array(); @@ -74,7 +74,7 @@ function profile_admin_overview_submit($form, &$form_state) { $weight = $form_state['values'][$fid]['weight']; $category = $form_state['values'][$fid]['category']; if ($weight != $form[$fid]['weight']['#default_value'] || $category != $form[$fid]['category']['#default_value']) { - db_query("UPDATE {profile_fields} SET weight = %d, category = '%s' WHERE fid = %d", $weight, $category, $fid); + db_query("UPDATE {profile_field} SET weight = %d, category = '%s' WHERE fid = %d", $weight, $category, $fid); } } } @@ -169,7 +169,7 @@ function profile_field_form(&$form_state, $arg = NULL) { if (is_numeric($arg)) { $fid = $arg; - $edit = db_fetch_array(db_query('SELECT * FROM {profile_fields} WHERE fid = %d', $fid)); + $edit = db_fetch_array(db_query('SELECT * FROM {profile_field} WHERE fid = %d', $fid)); if (!$edit) { drupal_not_found(); @@ -314,10 +314,10 @@ function profile_field_form_validate($form, &$form_state) { $query_suffix = ' AND fid != %d'; } - if (db_result(db_query("SELECT fid FROM {profile_fields} WHERE title = '%s' AND category = '%s'" . $query_suffix, $args1))) { + if (db_result(db_query("SELECT fid FROM {profile_field} WHERE title = '%s' AND category = '%s'" . $query_suffix, $args1))) { form_set_error('title', t('The specified title is already in use.')); } - if (db_result(db_query("SELECT fid FROM {profile_fields} WHERE name = '%s'" . $query_suffix, $args2))) { + if (db_result(db_query("SELECT fid FROM {profile_field} WHERE name = '%s'" . $query_suffix, $args2))) { form_set_error('name', t('The specified name is already in use.')); } if ($form_state['values']['visibility'] == PROFILE_HIDDEN) { @@ -341,13 +341,13 @@ function profile_field_form_submit($form, &$form_state) { $form_state['values']['page'] = ''; } if (!isset($form_state['values']['fid'])) { - db_query("INSERT INTO {profile_fields} (title, name, explanation, category, type, weight, required, register, visibility, autocomplete, options, page) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, '%s', '%s')", $form_state['values']['title'], $form_state['values']['name'], $form_state['values']['explanation'], $form_state['values']['category'], $form_state['values']['type'], $form_state['values']['weight'], $form_state['values']['required'], $form_state['values']['register'], $form_state['values']['visibility'], $form_state['values']['autocomplete'], $form_state['values']['options'], $form_state['values']['page']); + db_query("INSERT INTO {profile_field} (title, name, explanation, category, type, weight, required, register, visibility, autocomplete, options, page) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, '%s', '%s')", $form_state['values']['title'], $form_state['values']['name'], $form_state['values']['explanation'], $form_state['values']['category'], $form_state['values']['type'], $form_state['values']['weight'], $form_state['values']['required'], $form_state['values']['register'], $form_state['values']['visibility'], $form_state['values']['autocomplete'], $form_state['values']['options'], $form_state['values']['page']); drupal_set_message(t('The field has been created.')); watchdog('profile', 'Profile field %field added under category %category.', array('%field' => $form_state['values']['title'], '%category' => $form_state['values']['category']), WATCHDOG_NOTICE, l(t('view'), 'admin/user/profile')); } else { - db_query("UPDATE {profile_fields} SET title = '%s', name = '%s', explanation = '%s', category = '%s', weight = %d, required = %d, register = %d, visibility = %d, autocomplete = %d, options = '%s', page = '%s' WHERE fid = %d", $form_state['values']['title'], $form_state['values']['name'], $form_state['values']['explanation'], $form_state['values']['category'], $form_state['values']['weight'], $form_state['values']['required'], $form_state['values']['register'], $form_state['values']['visibility'], $form_state['values']['autocomplete'], $form_state['values']['options'], $form_state['values']['page'], $form_state['values']['fid']); + db_query("UPDATE {profile_field} SET title = '%s', name = '%s', explanation = '%s', category = '%s', weight = %d, required = %d, register = %d, visibility = %d, autocomplete = %d, options = '%s', page = '%s' WHERE fid = %d", $form_state['values']['title'], $form_state['values']['name'], $form_state['values']['explanation'], $form_state['values']['category'], $form_state['values']['weight'], $form_state['values']['required'], $form_state['values']['register'], $form_state['values']['visibility'], $form_state['values']['autocomplete'], $form_state['values']['options'], $form_state['values']['page'], $form_state['values']['fid']); drupal_set_message(t('The field has been updated.')); } @@ -362,7 +362,7 @@ function profile_field_form_submit($form, &$form_state) { * Menu callback; deletes a field from all user profiles. */ function profile_field_delete(&$form_state, $fid) { - $field = db_fetch_object(db_query("SELECT title FROM {profile_fields} WHERE fid = %d", $fid)); + $field = db_fetch_object(db_query("SELECT title FROM {profile_field} WHERE fid = %d", $fid)); if (!$field) { drupal_not_found(); return; @@ -380,8 +380,8 @@ function profile_field_delete(&$form_state, $fid) { * Process a field delete form submission. */ function profile_field_delete_submit($form, &$form_state) { - db_query('DELETE FROM {profile_fields} WHERE fid = %d', $form_state['values']['fid']); - db_query('DELETE FROM {profile_values} WHERE fid = %d', $form_state['values']['fid']); + db_query('DELETE FROM {profile_field} WHERE fid = %d', $form_state['values']['fid']); + db_query('DELETE FROM {profile_value} WHERE fid = %d', $form_state['values']['fid']); cache_clear_all(); @@ -397,7 +397,7 @@ function profile_field_delete_submit($form, &$form_state) { */ function profile_admin_settings_autocomplete($string) { $matches = array(); - $result = db_query_range("SELECT category FROM {profile_fields} WHERE LOWER(category) LIKE LOWER(:category)", array(':category' => $string .'%'), 0, 10); + $result = db_query_range("SELECT category FROM {profile_field} WHERE LOWER(category) LIKE LOWER(:category)", array(':category' => $string .'%'), 0, 10); while ($data = db_fetch_object($result)) { $matches[$data->category] = check_plain($data->category); } diff --git a/modules/profile/profile.install b/modules/profile/profile.install index e21d8a11adeab78d1fc770f7258178bfe2d51b27..a4c1fd24f4ea18a538378dcdcf477b8582dd488d 100644 --- a/modules/profile/profile.install +++ b/modules/profile/profile.install @@ -23,7 +23,7 @@ function profile_uninstall() { * Implementation of hook_schema(). */ function profile_schema() { - $schema['profile_fields'] = array( + $schema['profile_field'] = array( 'description' => 'Stores profile field information.', 'fields' => array( 'fid' => array( @@ -117,7 +117,7 @@ function profile_schema() { 'primary key' => array('fid'), ); - $schema['profile_values'] = array( + $schema['profile_value'] = array( 'description' => 'Stores values for profile fields.', 'fields' => array( 'fid' => array( @@ -125,7 +125,7 @@ function profile_schema() { 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, - 'description' => 'The {profile_fields}.fid of the field.', + 'description' => 'The {profile_field}.fid of the field.', ), 'uid' => array( 'type' => 'int', @@ -148,3 +148,13 @@ function profile_schema() { return $schema; } + +/** + * Rename {profile_fields} table to {profile_field} and {profile_values} to {profile_value}. + */ +function profile_update_7001() { + $ret = array(); + db_rename_table($ret, 'profile_fields', 'profile_field'); + db_rename_table($ret, 'profile_values', 'profile_value'); + return $ret; +} diff --git a/modules/profile/profile.module b/modules/profile/profile.module index 9352f4b3b281ae94dd5988df21baaa10b54b241a..6ecd27c67994e5ba8350ea265bb79f8f87f9d5f2 100644 --- a/modules/profile/profile.module +++ b/modules/profile/profile.module @@ -138,7 +138,7 @@ function profile_block($op = 'list', $delta = '', $edit = array()) { elseif ($op == 'configure') { // Compile a list of fields to show $fields = array(); - $result = db_query('SELECT name, title, weight, visibility FROM {profile_fields} WHERE visibility IN (%d, %d) ORDER BY weight', PROFILE_PUBLIC, PROFILE_PUBLIC_LISTINGS); + $result = db_query('SELECT name, title, weight, visibility FROM {profile_field} WHERE visibility IN (%d, %d) ORDER BY weight', PROFILE_PUBLIC, PROFILE_PUBLIC_LISTINGS); while ($record = db_fetch_object($result)) { $fields[$record->name] = check_plain($record->title); } @@ -165,7 +165,7 @@ function profile_block($op = 'list', $delta = '', $edit = array()) { if ($use_fields = variable_get('profile_block_author_fields', array())) { // Compile a list of fields to show. $fields = array(); - $result = db_query('SELECT name, title, type, visibility, weight FROM {profile_fields} WHERE visibility IN (%d, %d) ORDER BY weight', PROFILE_PUBLIC, PROFILE_PUBLIC_LISTINGS); + $result = db_query('SELECT name, title, type, visibility, weight FROM {profile_field} WHERE visibility IN (%d, %d) ORDER BY weight', PROFILE_PUBLIC, PROFILE_PUBLIC_LISTINGS); while ($record = db_fetch_object($result)) { // Ensure that field is displayed only if it is among the defined block fields and, if it is private, the user has appropriate permissions. if (isset($use_fields[$record->name]) && $use_fields[$record->name]) { @@ -253,11 +253,11 @@ function profile_user_categories(&$edit, &$user, $category = NULL) { * Implementation of hook_user_delete(). */ function profile_user_delete(&$edit, &$user, $category = NULL) { - db_query('DELETE FROM {profile_values} WHERE uid = %d', $user->uid); + db_query('DELETE FROM {profile_value} WHERE uid = %d', $user->uid); } function profile_load_profile(&$user) { - $result = db_query('SELECT f.name, f.type, v.value FROM {profile_fields} f INNER JOIN {profile_values} v ON f.fid = v.fid WHERE uid = %d', $user->uid); + $result = db_query('SELECT f.name, f.type, v.value FROM {profile_field} f INNER JOIN {profile_value} v ON f.fid = v.fid WHERE uid = %d', $user->uid); while ($field = db_fetch_object($result)) { if (empty($user->{$field->name})) { $user->{$field->name} = _profile_field_serialize($field->type) ? unserialize($field->value) : $field->value; @@ -271,8 +271,8 @@ function profile_save_profile(&$edit, &$user, $category, $register = FALSE) { if (_profile_field_serialize($field->type)) { $edit[$field->name] = serialize($edit[$field->name]); } - db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $user->uid); - db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]); + db_query("DELETE FROM {profile_value} WHERE fid = %d AND uid = %d", $field->fid, $user->uid); + db_query("INSERT INTO {profile_value} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]); // Mark field as handled (prevents saving to user->data). $edit[$field->name] = NULL; } @@ -331,10 +331,10 @@ function profile_view_profile(&$user) { // Show private fields to administrators and people viewing their own account. if (user_access('administer users') || $GLOBALS['user']->uid == $user->uid) { - $result = db_query('SELECT * FROM {profile_fields} WHERE visibility != %d ORDER BY category, weight', PROFILE_HIDDEN); + $result = db_query('SELECT * FROM {profile_field} WHERE visibility != %d ORDER BY category, weight', PROFILE_HIDDEN); } else { - $result = db_query('SELECT * FROM {profile_fields} WHERE visibility != %d AND visibility != %d ORDER BY category, weight', PROFILE_PRIVATE, PROFILE_HIDDEN); + $result = db_query('SELECT * FROM {profile_field} WHERE visibility != %d AND visibility != %d ORDER BY category, weight', PROFILE_PRIVATE, PROFILE_HIDDEN); } $fields = array(); @@ -480,7 +480,7 @@ function profile_validate_profile($edit, $category) { } function profile_categories() { - $result = db_query("SELECT DISTINCT(category) FROM {profile_fields}"); + $result = db_query("SELECT DISTINCT(category) FROM {profile_field}"); $data = array(); while ($category = db_fetch_object($result)) { $data[] = array( @@ -502,7 +502,7 @@ function profile_category_access($account, $category) { return TRUE; } else { - return user_edit_access($account) && db_result(db_query("SELECT COUNT(*) FROM {profile_fields} WHERE category = '%s' AND visibility <> %d", $category, PROFILE_HIDDEN)); + return user_edit_access($account) && db_result(db_query("SELECT COUNT(*) FROM {profile_field} WHERE category = '%s' AND visibility <> %d", $category, PROFILE_HIDDEN)); } } @@ -589,7 +589,7 @@ function _profile_field_serialize($type = NULL) { function _profile_get_fields($category, $register = FALSE) { $args = array(); - $sql = 'SELECT * FROM {profile_fields} WHERE '; + $sql = 'SELECT * FROM {profile_field} WHERE '; $filters = array(); if ($register) { $filters[] = 'register = 1'; diff --git a/modules/profile/profile.pages.inc b/modules/profile/profile.pages.inc index fa8dbef31232b7820d45ce8b6cb0bdea6e31aaa8..9cb761a28f9e1cc23c06428ae74c666301924b7c 100644 --- a/modules/profile/profile.pages.inc +++ b/modules/profile/profile.pages.inc @@ -13,7 +13,7 @@ function profile_browse() { // Ensure that the path is converted to 3 levels always. list(, $name, $value) = array_pad(explode('/', $_GET['q'], 3), 3, ''); - $field = db_fetch_object(db_query("SELECT DISTINCT(fid), type, title, page, visibility FROM {profile_fields} WHERE name = '%s'", $name)); + $field = db_fetch_object(db_query("SELECT DISTINCT(fid), type, title, page, visibility FROM {profile_field} WHERE name = '%s'", $name)); if ($name && $field->fid) { // Only allow browsing of fields that have a page title set. @@ -29,7 +29,7 @@ function profile_browse() { // Compile a list of fields to show. $fields = array(); - $result = db_query('SELECT name, title, type, weight, page FROM {profile_fields} WHERE fid != %d AND visibility = %d ORDER BY weight', $field->fid, PROFILE_PUBLIC_LISTINGS); + $result = db_query('SELECT name, title, type, weight, page FROM {profile_field} WHERE fid != %d AND visibility = %d ORDER BY weight', $field->fid, PROFILE_PUBLIC_LISTINGS); while ($record = db_fetch_object($result)) { $fields[] = $record; } @@ -55,7 +55,7 @@ function profile_browse() { } // Extract the affected users: - $result = pager_query("SELECT u.uid, u.access FROM {users} u INNER JOIN {profile_values} v ON u.uid = v.uid WHERE v.fid = %d AND $query AND u.access != 0 AND u.status != 0 ORDER BY u.access DESC", 20, 0, NULL, $arguments); + $result = pager_query("SELECT u.uid, u.access FROM {users} u INNER JOIN {profile_value} v ON u.uid = v.uid WHERE v.fid = %d AND $query AND u.access != 0 AND u.status != 0 ORDER BY u.access DESC", 20, 0, NULL, $arguments); $content = ''; while ($account = db_fetch_object($result)) { @@ -82,7 +82,7 @@ function profile_browse() { else { // Compile a list of fields to show. $fields = array(); - $result = db_query('SELECT name, title, type, weight, page, visibility FROM {profile_fields} WHERE visibility = %d ORDER BY category, weight', PROFILE_PUBLIC_LISTINGS); + $result = db_query('SELECT name, title, type, weight, page, visibility FROM {profile_field} WHERE visibility = %d ORDER BY category, weight', PROFILE_PUBLIC_LISTINGS); while ($record = db_fetch_object($result)) { $fields[] = $record; } @@ -109,8 +109,8 @@ function profile_browse() { */ function profile_autocomplete($field, $string) { $matches = array(); - if (db_result(db_query("SELECT COUNT(*) FROM {profile_fields} WHERE fid = %d AND autocomplete = 1", $field))) { - $result = db_query_range("SELECT value FROM {profile_values} WHERE fid = :fid AND LOWER(value) LIKE LOWER(:value) GROUP BY value ORDER BY value ASC", array( + if (db_result(db_query("SELECT COUNT(*) FROM {profile_field} WHERE fid = %d AND autocomplete = 1", $field))) { + $result = db_query_range("SELECT value FROM {profile_value} WHERE fid = :fid AND LOWER(value) LIKE LOWER(:value) GROUP BY value ORDER BY value ASC", array( ':fid' => $field, ':value' => $string .'%', ), 0, 10); diff --git a/modules/profile/profile.test b/modules/profile/profile.test index 4ffa921309c7dd8abd6aa288b1f4b24f8951c01f..7dd22c043d7118650662d5c64f2d5c15adb2b3d5 100644 --- a/modules/profile/profile.test +++ b/modules/profile/profile.test @@ -37,7 +37,7 @@ class ProfileTestCase extends DrupalWebTestCase { $edit['explanation'] = $this->randomName(50); $this->drupalPost('admin/user/profile/add/' . $type, $edit, t('Save field')); - $fid = db_result(db_query("SELECT fid FROM {profile_fields} WHERE title = '%s'", $title)); + $fid = db_result(db_query("SELECT fid FROM {profile_field} WHERE title = '%s'", $title)); $this->assertTrue($fid, t('New Profile field has been entered in the database')); // Check that the new field is appearing on the user edit form. diff --git a/modules/system/system.css b/modules/system/system.css index 72c0816ba8da0a6d149b7f208ca8f9e35e8a88bb..abd34d24979e2e11216a918b32847bfdf2b22edf 100644 --- a/modules/system/system.css +++ b/modules/system/system.css @@ -77,7 +77,7 @@ div.error, tr.error { div.warning { border: 1px solid #f0c020; } -div.warning, tr.warning { +div.warning, table tr.warning { background: #ffd; color: #220; padding: 2px; diff --git a/modules/taxonomy/taxonomy.install b/modules/taxonomy/taxonomy.install index 12e99c68788b992fb3038dcc0e5820fbbc447db7..fb3f0ff1bdf978441cef1c6240ee84e507f396f1 100644 --- a/modules/taxonomy/taxonomy.install +++ b/modules/taxonomy/taxonomy.install @@ -257,7 +257,7 @@ function taxonomy_schema() { ), ); - $schema['vocabulary_node_types'] = array( + $schema['vocabulary_node_type'] = array( 'description' => 'Stores which node types vocabularies may be used with.', 'fields' => array( 'vid' => array( @@ -284,3 +284,11 @@ function taxonomy_schema() { return $schema; } +/** + * Rename {vocabulary_node_types} table to {vocabulary_node_type}. + */ +function taxonomy_update_7001() { + $ret = array(); + db_rename_table($ret, 'vocabulary_node_types', 'vocabulary_node_type'); + return $ret; +} diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index 28f85d994bf49a4227e8523d3971dd6004a04e7d..958f837739a2af5ba1af39a4190e77360272c6ba 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -227,16 +227,16 @@ function taxonomy_vocabulary_save($vocabulary) { if (!empty($vocabulary->vid) && !empty($vocabulary->name)) { $status = drupal_write_record('vocabulary', $vocabulary, 'vid'); - db_query("DELETE FROM {vocabulary_node_types} WHERE vid = %d", $vocabulary->vid); + db_query("DELETE FROM {vocabulary_node_type} WHERE vid = %d", $vocabulary->vid); foreach ($vocabulary->nodes as $type => $selected) { - db_query("INSERT INTO {vocabulary_node_types} (vid, type) VALUES (%d, '%s')", $vocabulary->vid, $type); + db_query("INSERT INTO {vocabulary_node_type} (vid, type) VALUES (%d, '%s')", $vocabulary->vid, $type); } module_invoke_all('taxonomy_vocabulary_update', $vocabulary); } elseif (empty($vocabulary->vid)) { $status = drupal_write_record('vocabulary', $vocabulary); foreach ($vocabulary->nodes as $type => $selected) { - db_query("INSERT INTO {vocabulary_node_types} (vid, type) VALUES (%d, '%s')", $vocabulary->vid, $type); + db_query("INSERT INTO {vocabulary_node_type} (vid, type) VALUES (%d, '%s')", $vocabulary->vid, $type); } module_invoke_all('taxonomy_vocabulary_insert', $vocabulary); } @@ -258,7 +258,7 @@ function taxonomy_vocabulary_delete($vid) { $vocabulary = (array) taxonomy_vocabulary_load($vid); db_query('DELETE FROM {vocabulary} WHERE vid = %d', $vid); - db_query('DELETE FROM {vocabulary_node_types} WHERE vid = %d', $vid); + db_query('DELETE FROM {vocabulary_node_type} WHERE vid = %d', $vid); $result = db_query('SELECT tid FROM {term_data} WHERE vid = %d', $vid); while ($term = db_fetch_object($result)) { taxonomy_term_delete($term->tid); @@ -469,10 +469,10 @@ function taxonomy_form_all($free_tags = 0) { */ function taxonomy_get_vocabularies($type = NULL) { if ($type) { - $result = db_query(db_rewrite_sql("SELECT v.vid, v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $type); + $result = db_query(db_rewrite_sql("SELECT v.vid, v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_type} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $type); } else { - $result = db_query(db_rewrite_sql('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_types} n ON v.vid = n.vid ORDER BY v.weight, v.name', 'v', 'vid')); + $result = db_query(db_rewrite_sql('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_type} n ON v.vid = n.vid ORDER BY v.weight, v.name', 'v', 'vid')); } $vocabularies = array(); @@ -516,7 +516,7 @@ function taxonomy_form_alter(&$form, $form_state, $form_id) { $terms = $node->taxonomy; } - $c = db_query(db_rewrite_sql("SELECT v.* FROM {vocabulary} v INNER JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $node->type); + $c = db_query(db_rewrite_sql("SELECT v.* FROM {vocabulary} v INNER JOIN {vocabulary_node_type} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $node->type); while ($vocabulary = db_fetch_object($c)) { if ($vocabulary->tags) { @@ -739,10 +739,10 @@ function taxonomy_node_delete_revision($node) { */ function taxonomy_node_type($op, $info) { if ($op == 'update' && !empty($info->old_type) && $info->type != $info->old_type) { - db_query("UPDATE {vocabulary_node_types} SET type = '%s' WHERE type = '%s'", $info->type, $info->old_type); + db_query("UPDATE {vocabulary_node_type} SET type = '%s' WHERE type = '%s'", $info->type, $info->old_type); } elseif ($op == 'delete') { - db_query("DELETE FROM {vocabulary_node_types} WHERE type = '%s'", $info->type); + db_query("DELETE FROM {vocabulary_node_type} WHERE type = '%s'", $info->type); } } @@ -1022,7 +1022,7 @@ function taxonomy_vocabulary_load($vid, $reset = FALSE) { // that cached, and we will not try to load this later. $vocabularies[$vid] = FALSE; // Try to load the data and fill up the object. - $result = db_query('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE v.vid = %d', $vid); + $result = db_query('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_type} n ON v.vid = n.vid WHERE v.vid = %d', $vid); $node_types = array(); while ($voc = db_fetch_object($result)) { if (!empty($voc->type)) { diff --git a/profiles/default/default.profile b/profiles/default/default.profile index 675a60b1334ef2b0705b88f237004edf70c229fe..1af48d2de79d6085d9b55f562c019b61694d183d 100644 --- a/profiles/default/default.profile +++ b/profiles/default/default.profile @@ -145,7 +145,7 @@ function default_profile_tasks(&$task, $url) { 'module' => 'taxonomy', 'weight' => 0, ))->execute(); - db_insert('vocabulary_node_types')->fields(array('vid' => $vid, 'type' => 'article'))->execute(); + db_insert('vocabulary_node_type')->fields(array('vid' => $vid, 'type' => 'article'))->execute(); // Update the menu router information. menu_rebuild();