- Patch #288039 by sun, ff1, agentrickard, fgm, ultimateboy: improved usability of the aliased URL admin page.
parent
4e9d1f7d1c
commit
0b06c68b98
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue