Webmaster общности: Predpriemach.com | SearchEngines.bg

    Замяна на потребителско име намиращо се в поста

    phpbb уроци

    Автор: jooorooo

    Ето едно малко модче което написах за phpbb2, то се състой в това, че заменя потребителското име написано в пост на форума с линк към профила на името. Ето го и него.

    Отваряте includes/bbcode.php

    намирате

    ?>

    и преди него добавяте

    function username_pass($message)
    {
    static $orig, $repl;
    
    if (!isset($orig))
    {
    global $db, $board_config, $phpEx;
    $orig = $repl = array();
    
    $sql = 'SELECT * FROM ' . USERS_TABLE;
    if( !$result = $db->sql_query($sql) )
    {
    message_die(GENERAL_ERROR, "Couldn't obtain users data", "", __LINE__, __FILE__, $sql);
    }
    $users = $db->sql_fetchrowset($result);
    
    if (count($users))
    {
    usort($users, 'smiley_sort');
    }
    
    for ($i = 0; $i < count($users); $i++)
    {
    $orig[] = "/(?<=.\W|\W.|^\W)" . preg_quote($users[$i]['username'], "/") . "(?=.\W|\W.|\W$)/i";
    $repl[] = '<a target="_blank" href="profile.'.$phpEx.'?mode=viewprofile&u='.$users[$i]['user_id'].'">'.$users[$i]['username'].'</a>';
    }
    }
    
    if (count($orig))
    {
    $message = preg_replace($orig, $repl, ' ' . $message . ' ');
    $message = substr($message, 1, -1);
    }
    
    return $message;
    }

    записвате и затваряте.

    Отваряте viewtopic.php намирате

    //
    // Parse smilies
    //
    if ( $board_config['allow_smilies'] )
    {
    if ( $postrow[$i]['user_allowsmile'] && $user_sig != '' )
    {
    $user_sig = smilies_pass($user_sig);
    }
    
    if ( $postrow[$i]['enable_smilies'] )
    {
    $message = smilies_pass($message);
    }
    }

    след него добавяте:

    $message = username_pass($message);

    записвате и затваряте.

    Ми това е, сега които напише име което е регистрирано във форума ви, ще го замести с линк, например, пишете jooorooo и ще се получи

    <a target="_blank" href="profile.php?mode=viewprofile&u=id_to_na_jooorooo">jooorooo</a>.

    Същия метод мове да използвате и за цензура на думи, тъй като има версии който имат проблем с цензурата на кирилица. Само си създавате една таблица за думите в нея и ги замествате.

    Поздрави