Hi, in trez site - is ask money. I create this one free.
- Function is check for ignore user (member profile e.g) in IGNORE_USERS_TABLE . If find, you use function and say action you like.
- Create auto SQL table for name (no need for use phpmyadmin
or SQL patches MOD for this) - I code.
// Step 1
In member.php file,
find:
//-----------------------------------------------------
//--- Show Profile ------------------------------------
//-----------------------------------------------------
add before:
if ($action == "exec_ignore_users_profile") {
if (isset($HTTP_POST_VARS[URL_USER_ID])) {
$user_id = (isset($HTTP_POST_VARS[URL_USER_ID])) ? intval(trim($HTTP_POST_VARS[URL_USER_ID])) : GUEST;
$user_id = preg_replace("/[^0-9]+/i", "", $user_id);
} else {
$user_id = GUEST;
}
if (isset($HTTP_POST_VARS['user_status'])) {
$user_status = (isset($HTTP_POST_VARS['user_status'])) ? intval(trim($HTTP_POST_VARS['user_status'])) : 0;
$user_status = preg_replace("/[^0-9]+/i", "", $user_status);
} else {
$user_status = 0;
}
if (!isset($user_id) || $user_id == GUEST || !isset($user_status) || empty($user_status)) {
redirect($url);
} elseif (function_exists('exec_ignore_user_account')) {
exec_ignore_user_account($user_info[$user_table_fields['user_id']], $user_id, $user_info[$user_table_fields['user_level']], $user_status);
redirect ("member.php?action=showprofile&" . URL_USER_ID . "=" . $user_id);
}
}
Find:
if ($user_row = get_user_info($user_id)) {
add after:
if (function_exists('select_ignore_user_account') && select_ignore_user_account($user_info[$user_table_fields['user_id']], $user_row[$user_table_fields['user_id']], 1)) {
... action ...
}
Note: Change
... action ... for action you like for refuse user.
Find:
"user_comments" => (isset($user_row['user_comments'])) ? $user_row['user_comments'] : REPLACE_EMPTY,
add after:
"select_ignore_user_account_1" => (function_exists('select_ignore_user_account_dropdown') && select_ignore_user_account_dropdown($user_info[$user_table_fields['user_id']], $user_row[$user_table_fields['user_id']], 1)) ? true : false,
"select_ignore_user_account_2" => (function_exists('select_ignore_user_account_dropdown') && select_ignore_user_account_dropdown($user_info[$user_table_fields['user_id']], $user_row[$user_table_fields['user_id']], 2)) ? true : false,
"select_ignore_user_no_same_user_or_user_to_admin" => (($user_info[$user_table_fields['user_id']] == ($user_row[$user_table_fields['user_id']]) || $user_info[$user_table_fields['user_level']] == USER && $user_row[$user_table_fields['user_level']] == ADMIN)) ? false : true,
"lang_ignore_user_account_title" => $lang['ignore_user_account_title'],
"lang_ignore_user_account_no_option" => $lang['ignore_user_account_no_option'],
"lang_ignore_user_account_yes_option" => $lang['ignore_user_account_yes_option'],
"lang_ignore_user_account_submit" => $lang['ignore_user_account_submit'],
"has_ignore_users_profile" => true,
// Step 2
In includes/functions.php file,
add in top ?>:
if (!function_exists('create_ignore_user_account_table')) {
function create_ignore_user_account_table() {
global $site_db, $table_prefix;
if (!defined('IGNORE_USERS_TABLE')) {
define('IGNORE_USERS_TABLE', $table_prefix . 'users_ignore');
}
$sql = "
CREATE TABLE IF NOT EXISTS " . IGNORE_USERS_TABLE . " (
field_id int(11) unsigned NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL DEFAULT '0',
other_user_id int(11) NOT NULL DEFAULT '0',
ignore_date varchar(32) NOT NULL DEFAULT '0000-00-00',
user_status int(1) NOT NULL DEFAULT '1',
PRIMARY KEY(field_id)
) TYPE=MyISAM;
";
$result = $site_db->query($sql);
}
}
if (!function_exists('exec_ignore_user_account')) {
function exec_ignore_user_account($user_id = 0, $other_user_id = 0, $user_level = GUEST, $user_status = 0) {
if (!isset($user_id) || empty($user_id) || !isset($other_user_id) || empty($other_user_id) || !isset($user_level) || empty($user_level) || !isset($user_status) || empty($user_status) || $user_level < USER) {
return;
}
if ($user_level >= USER) {
global $site_db, $table_prefix, $config;
$user_id = preg_replace("/[^0-9]+/i", "", $user_id);
$other_user_id = preg_replace("/[^0-9]+/i", "", $other_user_id);
$user_status = preg_replace("/[^0-9]+/i", "", $user_status);
if (!defined('IGNORE_USERS_TABLE')) {
define('IGNORE_USERS_TABLE', $table_prefix . 'users_ignore');
}
$date = date($config['date_format']);
$sql = "
SELECT user_id
FROM " . IGNORE_USERS_TABLE . "
WHERE user_id = " . $user_id . " AND other_user_id = " . $other_user_id;
if (!$site_db->not_empty($sql)) {
$sql = "
INSERT INTO " . IGNORE_USERS_TABLE . "
(field_id, user_id, other_user_id, ignore_date, user_status)
VALUES (NULL, '" . $user_id . "', '" . $other_user_id . "', '" . $date . "', '" . $user_status . "')
";
$result = $site_db->query($sql);
} else {
$sql = "
UPDATE " . IGNORE_USERS_TABLE . "
SET user_status = " . $user_status . ", ignore_date = '" . $date . "'
WHERE user_id = " . $user_id . " AND other_user_id = " . $other_user_id;
$result = $site_db->query($sql);
}
if (isset($result) && $result) {
return $user_id;
return $other_user_id;
return $user_level;
} else {
return;
}
}
}
}
if (!function_exists('select_ignore_user_account')) {
function select_ignore_user_account($user_id = 0, $other_user_id = 0, $switch = 0) {
global $site_db, $table_prefix, $lang;
if (!isset($user_id) || !isset($other_user_id)) {
return;
}
if (!defined('IGNORE_USERS_TABLE')) {
define('IGNORE_USERS_TABLE', $table_prefix . 'users_ignore');
}
$user_id = preg_replace("/[^0-9]+/i", "", $user_id);
$other_user_id = preg_replace("/[^0-9]+/i", "", $other_user_id);
$sql = "
SELECT ig.user_status
FROM " . IGNORE_USERS_TABLE . " ig
LEFT JOIN " . USERS_TABLE . " u ON (" . get_user_table_field("u.", "user_id") . " = ig.user_id)
WHERE ig.user_id = " . $other_user_id . " AND ig.other_user_id = " . $user_id;
$get_info = $site_db->query_firstrow($sql);
switch ($switch) {
case 2 :
if ($get_info['user_status'] == 2) {
return $get_info['user_status'];
}
break;
case 1 :
if ($get_info['user_status'] == 1) {
return $get_info['user_status'];
}
break;
}
}
}
if (!function_exists('select_ignore_user_account_dropdown')) {
function select_ignore_user_account_dropdown($user_id = 0, $other_user_id = 0, $switch = 0) {
global $site_db, $table_prefix, $lang;
if (!isset($user_id) || !isset($other_user_id)) {
return;
}
if (!defined('IGNORE_USERS_TABLE')) {
define('IGNORE_USERS_TABLE', $table_prefix . 'users_ignore');
}
$user_id = preg_replace("/[^0-9]+/i", "", $user_id);
$other_user_id = preg_replace("/[^0-9]+/i", "", $other_user_id);
$sql = "
SELECT ig.user_status
FROM " . IGNORE_USERS_TABLE . " ig
LEFT JOIN " . USERS_TABLE . " u ON (" . get_user_table_field("u.", "user_id") . " = ig.user_id)
WHERE ig.user_id = " . $user_id . " AND ig.other_user_id = " . $other_user_id;
$get_info = $site_db->query_firstrow($sql);
switch ($switch) {
case 2 :
if ($get_info['user_status'] == 2) {
return $get_info['user_status'];
}
break;
case 1 :
if ($get_info['user_status'] == 1) {
return $get_info['user_status'];
}
break;
}
}
}
// Step 3
In lang/english/main.php file,
add in top ?>:
$lang['ignore_user_account_title'] = "<b>Ignore user:</b>";
$lang['ignore_user_account_no_option'] = "No";
$lang['ignore_user_account_yes_option'] = "Yes";
$lang['ignore_user_account_submit'] = "Submit";
// Step 4
In includes/page_header.php file,
find:
"has_rss" => false,
add after:
"has_ignore_users_profile" => false,
// Step 5
In templates/your_template/member_profile.html file,
add:
{if user_loggedin}{if select_ignore_user_no_same_user_or_user_to_admin}
{if select_ignore_user_account_1}
<tr>
<td class="row1">{lang_ignore_user_account_title}</td>
<td class="row1"><br /><form action="{url_member}" method="post" /><input type="hidden" name="action" value="exec_ignore_users_profile"><input type="hidden" name="user_id" value="{user_id}"><select name="user_status" class="select" /><option value="{select_ignore_user_account_1}" selected>{lang_ignore_user_account_yes_option}</option><option value="2">{lang_ignore_user_account_no_option}</option></select> <input type="submit" name="submit" value="{lang_ignore_user_account_submit}" class="button"></form></td>
</tr>
{endif select_ignore_user_account_1}
{if select_ignore_user_account_2}
<tr>
<td class="row1">{lang_ignore_user_account_title}</td>
<td class="row1"><br /><form action="{url_member}" method="post" /><input type="hidden" name="action" value="exec_ignore_users_profile"><input type="hidden" name="user_id" value="{user_id}"><select name="user_status" class="select" /><option value="{select_ignore_user_account_1}" selected>{lang_ignore_user_account_no_option}</option><option value="{select_ignore_user_account_2}">{lang_ignore_user_account_yes_option}</option></select> <input type="submit" name="submit" value="{lang_ignore_user_account_submit}" class="button"></form></td>
</tr>
{endif select_ignore_user_account_2}
{ifno select_ignore_user_account_1}{ifno select_ignore_user_account_2}
<tr>
<td class="row1">{lang_ignore_user_account_title}</td>
<td class="row1"><br /><form action="{url_member}" method="post" /><input type="hidden" name="action" value="exec_ignore_users_profile"><input type="hidden" name="user_id" value="{user_id}"><select name="user_status" class="select" /><option value="1">{lang_ignore_user_account_no_option}</option><option value="2">{lang_ignore_user_account_yes_option}</option></select> <input type="submit" name="submit" value="{lang_ignore_user_account_submit}" class="button"></form></td>
</tr>
{endifno select_ignore_user_account_2}{endifno select_ignore_user_account_1}
{endif select_ignore_user_no_same_user_or_user_to_admin}{endif user_loggedin}
(place you want)
// Step 6
In global.php file,
find:
$site_db = new Db($db_host, $db_user, $db_password, $db_name);
add after:
//-----------------------------------------------------
//--- Creates ignore users table ----------------------
//-----------------------------------------------------
if (function_exists('create_ignore_user_account_table')) {
create_ignore_user_account_table();
}
Finish ...