Author Topic: [MOD] - Ban user homepage of user profile from ACP setting  (Read 2692 times)

0 Members and 1 Guest are viewing this topic.

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
[MOD] - Ban user homepage of user profile from ACP setting
« on: January 20, 2008, 10:07:43 PM »
This MOD is ban user homepage of user profile from ACP setting page. After add each domain, domain name is no show in profile or add in USERS_TABLE (url format fix include). ;)

// Step 1

In includes/functions.php file,

find:

Code: [Select]
function format_url($url) {
  if (empty($url)) {
    return '';
  }

  if (!preg_match("/^https?:\/\//i", $url)) {
    $url = "http://".$url;
  }

  return $url;
}

replace:

Code: [Select]
function format_url($url) {
    global $config;
    
    $ban_domain_name = $config['user_homepage_ban_list'];
    
    $url = preg_replace("/[^a-z0-9\_\-\/\.\:]+/i", "", $url);
    
    if (!preg_match("/[a-z0-9]+\.[a-z0-9_-]+\.[a-z]/i", $url)) {
        return '';
    }
    
    $flag = false;
    if (isset($config['use_user_homepage_ban_list']) && $config['use_user_homepage_ban_list'] == 1 && !empty($ban_domain_name)) {
        if (preg_match("/\www[0-9]\./", $url, $regs)) {
            $url = str_replace($regs[0], "", $url);          
        }
        $url = preg_replace("/http|https+/i", "", $url);
        $url = str_replace("://", "", $url);
        
        $ban_domain_name = explode(" ", $ban_domain_name);
        if (in_array($url, $ban_domain_name)) {          
            $url = "";
            $flag = true;          
        }      
    }
    if ($flag == false) {
        if (!preg_match("/^http?:\/\/\www.+[^a-z0-9_-]/i", $url)) {
            $url = preg_replace("/\www[0-9]\.+/i", "", $url);
            $url = "http://" . $url;
        } elseif (!preg_match("/^http?:\/\/\www.+[^a-z0-9_-]/i", $url)) {
            $url = "http://www." . $url;
        } elseif (!preg_match("/^http?:\/\/\/i", $url)) {
            $url = "http://" . $url;
        }
        return $url;
    }  
}

// Step 2

In admin/settings.php file,

find:

Code: [Select]
show_form_footer($lang['save_changes'], "", 2);

add before :

Code: [Select]
show_table_separator($setting_group[XX], 2, "setting_group_XX");
show_setting_row("use_user_homepage_ban_list", "radio");
show_setting_row("user_homepage_ban_list", "textarea");  

Replace XX in add code.

// Step 3

In lang/english/admin.php file,

add in top ?>:

Code: [Select]
/*-- Setting-Group XX --*/
$setting_group[XX] = "User homepage ban list";
$setting['use_user_homepage_ban_list'] = "Activate user homepage ban list";
$setting['user_homepage_ban_list'] = "Set user homepage to be ban from user's profile<br /><span class=\"smalltext\">(Note: E.g: <b>www.test.com www.test1.com</b> - <b>yes - 'www.' is go in front of each and space too for each add domain</b>)</span>.";

Replace XX in add code.

// Step 4

In SQL Patches plug in (expert mode),

add:

Code: [Select]
INSERT INTO `4images_settings` (setting_name, setting_value) VALUES ('use_user_homepage_ban_list', '0');

after, run this (same place):

Code: [Select]
INSERT INTO `4images_settings` (setting_name, setting_value) VALUES ('user_homepage_ban_list', '');

// Step 5

In lang/english/main.php file,

find:

Code: [Select]
$lang['homepage'] = "Homepage: ";

replace:

Code: [Select]
$lang['homepage'] = "Homepage:<br /><span class=\"smalltext\">(Note: If see blank homepage after submit form, is mean URL is ban from gallery)</span>";

// Is work

ACP - > Setting . Activate user homepage ban list and enter each URL (instruction left of textarea in ACP - > setting). ;)
See user profile (test account) . Try enter URL you ban, is work. ;)

Finish.
« Last Edit: February 18, 2011, 01:51:14 PM by thunderstrike »
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?