The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
[Solved] Add Custom Profile Fields to New User Moderation
How would I go about getting the info from custom profile fields. I dont believe they are global variables and I know they are in a different table than the 'users' table thats being displayed on this page. They are in userfields. How would I go about making a query for these 2 Custom Profile Fields I need on this /admincp/user.php?do=moderate page.
Code:
print_form_header('user', 'domoderate'); print_table_header($vbphrase['users_awaiting_moderation'], 4); print_cells_row(array( $vbphrase['username'], $vbphrase['email'], $vbphrase['ip_address'], "Main Server", "MS Username", "<input type=\"button\" class=\"button\" value=\"" . $vbphrase['accept_all'] . "\" onclick=\"js_check_radio(1)\" /> <input type=\"button\" class=\"button\" value=\"" . $vbphrase['delete_all'] . "\" onclick=\"js_check_radio(-1)\" /> <input type=\"button\" class=\"button\" value=\"" . $vbphrase['ignore_all'] . "\" onclick=\"js_check_radio(0)\" />" ), 0, 'thead', -3); while ($user = $db->fetch_array($users)) { $cell = array(); $cell[] = "<a href=\"user.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&u=$user[userid]\" target=\"_blank\"><b>$user[username]</b></a>"; $cell[] = "<a href=\"mailto:$user[email]\">$user[email]</a>"; $cell[] = "<a href=\"usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=doips&depth=2&ipaddress=$user[ipaddress]&hash=" . CP_SESSIONHASH . "\" target=\"_blank\">$user[ipaddress]</a>"; $cell[] = "$profilefield[field5]"; $cell[] = "$profilefield[field6]"; $cell[] = " <label for=\"v_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"1\" id=\"v_$user[userid]\" tabindex=\"1\" />$vbphrase[accept]</label> <label for=\"d_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"-1\" id=\"d_$user[userid]\" tabindex=\"1\" />$vbphrase[delete]</label> <label for=\"i_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"0\" id=\"i_$user[userid]\" tabindex=\"1\" checked=\"checked\" />$vbphrase[ignore]</label> "; print_cells_row($cell, 0, '', -4); } require_once(DIR . '/includes/functions_misc.php'); $template = fetch_phrase('validated', 'emailbody', 'email_'); print_table_break(); print_table_header($vbphrase['email_options']); print_yes_no_row($vbphrase['send_email_to_accepted_users'], 'send_validated', 1); print_yes_no_row($vbphrase['send_email_to_deleted_users'], 'send_deleted', 1); print_description_row($vbphrase['email_will_be_sent_in_user_specified_language']); print_table_break(); print_submit_row($vbphrase['continue']); } } |
#2
|
|||
|
|||
I think what you'd do is change the query at the top of that section to be like this (parts in red added):
Code:
$users = $db->query_read(" SELECT user.userid, username, email, ipaddress, userfield.* FROM " . TABLE_PREFIX . "user AS user LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield USING(userid) WHERE usergroupid = 4 ORDER BY username "); then you should be able to use $user[fieldX] where X is the id of your custom field. |
#3
|
|||
|
|||
Thank you for your response, although that code is still showing blanks in the box.
My current code with your editted query. Code:
if ($_REQUEST['do'] == 'moderate') { $users = $db->query_read(" SELECT user.userid, username, email, ipaddress FROM " . TABLE_PREFIX . "user AS user LEFT JOIN " . TABLE_PREFIX . "userfield USING(userid) WHERE usergroupid = 4 ORDER BY username "); if ($db->num_rows($users) == 0) { print_stop_message('no_matches_found'); } else { ?> <script type="text/javascript"> function js_check_radio(value) { for (var i = 0; i < document.cpform.elements.length; i++) { var e = document.cpform.elements[i]; if (e.type == 'radio' && e.name.substring(0, 8) == 'validate') { if (e.value == value) { e.checked = true; } else { e.checked = false; } } } } </script> <?php print_form_header('user', 'domoderate'); print_table_header($vbphrase['users_awaiting_moderation'], 6); print_cells_row(array( $vbphrase['username'], $vbphrase['email'], $vbphrase['ip_address'], "Main Server", "MS Username1", "<input type=\"button\" class=\"button\" value=\"" . $vbphrase['accept_all'] . "\" onclick=\"js_check_radio(1)\" /> <input type=\"button\" class=\"button\" value=\"" . $vbphrase['delete_all'] . "\" onclick=\"js_check_radio(-1)\" /> <input type=\"button\" class=\"button\" value=\"" . $vbphrase['ignore_all'] . "\" onclick=\"js_check_radio(0)\" />" ), 0, 'thead', -3); while ($user = $db->fetch_array($users)) { $cell = array(); $cell[] = "<a href=\"user.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&u=$user[userid]\" target=\"_blank\"><b>$user[username]</b></a>"; $cell[] = "<a href=\"mailto:$user[email]\">$user[email]</a>"; $cell[] = "<a href=\"usertools.php?" . $vbulletin->session->vars['sessionurl'] . "do=doips&depth=2&ipaddress=$user[ipaddress]&hash=" . CP_SESSIONHASH . "\" target=\"_blank\">$user[ipaddress]</a>"; $cell[] = "$user[field5]"; $cell[] = "$user[field6]"; $cell[] = " <label for=\"v_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"1\" id=\"v_$user[userid]\" tabindex=\"1\" />$vbphrase[accept]</label> <label for=\"d_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"-1\" id=\"d_$user[userid]\" tabindex=\"1\" />$vbphrase[delete]</label> <label for=\"i_$user[userid]\"><input type=\"radio\" name=\"validate[$user[userid]]\" value=\"0\" id=\"i_$user[userid]\" tabindex=\"1\" checked=\"checked\" />$vbphrase[ignore]</label> "; print_cells_row($cell, 0, '', -4); } require_once(DIR . '/includes/functions_misc.php'); $template = fetch_phrase('validated', 'emailbody', 'email_'); print_table_break(); print_table_header($vbphrase['email_options']); print_yes_no_row($vbphrase['send_email_to_accepted_users'], 'send_validated', 1); print_yes_no_row($vbphrase['send_email_to_deleted_users'], 'send_deleted', 1); print_description_row($vbphrase['email_will_be_sent_in_user_specified_language']); print_table_break(); print_submit_row($vbphrase['continue']); } } |
#4
|
|||
|
|||
Sorry, my mistake - you also have to add the userfield fields to the list of fields, like:
Code:
$users = $db->query_read(" SELECT user.userid, username, email, ipaddress, userfield.* FROM " . TABLE_PREFIX . "user AS user LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield USING(userid) WHERE usergroupid = 4 ORDER BY username "); |
Благодарность от: | ||
HyphyMike |
#5
|
|||
|
|||
You, Sir, are a god.
Thank you very much this will help me exponentially. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|