Problemas com links (estilo Subsilver2)

Suporte aos Styles/Templates para phpBB.
gustavocave
Novato
Novato
Mensagens: 60
Registrado em: 16 Nov 2012, 09:24

Re: Problemas com links (estilo Subsilver2)

Mensagem por gustavocave »

Acredito que não tenha nenhum MOD no forum, aonde posso verificar?
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Problemas com links (estilo Subsilver2)

Mensagem por robra »

Na aba MENSAGEM>>link Configurações de mensagens, verifique se a opção "Permitir links em mensagens/mensagens particulares:" está marcada como "sim". Caso não esteja, então marque-a como "sim" e limpe o cache do Fórum e de seu navegador.

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
gustavocave
Novato
Novato
Mensagens: 60
Registrado em: 16 Nov 2012, 09:24

Re: Problemas com links (estilo Subsilver2)

Mensagem por gustavocave »

Estava marcado como 'SIM', alguma outra sugestão?
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Problemas com links (estilo Subsilver2)

Mensagem por robra »

Cara... procurei no Google por <!-- m --><a class="postlink", que é o começo da linha onde estão os links com problema, e vi que a definição <!-- m --> se refere ao recurso "magic url" que é justamente a abreviação das URLs e endereços de e-mail nas postagens.
Tente primeiro marcando a opção ""Permitir links em mensagens/mensagens particulares:"" como "não", limpe o cache do Fórum e de seu navegador e realize testes.
Caso o problema continue, abra o arquivo /includes/functions_content.php da versão limpa do phpBB3 e abra também o seu arquivo atual, ambos no Notepad++. Depois, compare as linhas citadas abaixo para ver se há alguma diferença:

Código: Selecionar todos

/**
* A subroutine of make_clickable used with preg_replace
* It places correct HTML around an url, shortens the displayed text
* and makes sure no entities are inside URLs
*/
function make_clickable_callback($type, $whitespace, $url, $relative_url, $class)
{
    $orig_url        = $url;
    $orig_relative    = $relative_url;
    $append            = '';
    $url            = htmlspecialchars_decode($url);
    $relative_url    = htmlspecialchars_decode($relative_url);

    // make sure no HTML entities were matched
    $chars = array('<', '>', '"');
    $split = false;

    foreach ($chars as $char)
    {
        $next_split = strpos($url, $char);
        if ($next_split !== false)
        {
            $split = ($split !== false) ? min($split, $next_split) : $next_split;
        }
    }

    if ($split !== false)
    {
        // an HTML entity was found, so the URL has to end before it
        $append            = substr($url, $split) . $relative_url;
        $url            = substr($url, 0, $split);
        $relative_url    = '';
    }
    else if ($relative_url)
    {
        // same for $relative_url
        $split = false;
        foreach ($chars as $char)
        {
            $next_split = strpos($relative_url, $char);
            if ($next_split !== false)
            {
                $split = ($split !== false) ? min($split, $next_split) : $next_split;
            }
        }

        if ($split !== false)
        {
            $append            = substr($relative_url, $split);
            $relative_url    = substr($relative_url, 0, $split);
        }
    }

    // if the last character of the url is a punctuation mark, exclude it from the url
    $last_char = ($relative_url) ? $relative_url[strlen($relative_url) - 1] : $url[strlen($url) - 1];

    switch ($last_char)
    {
        case '.':
        case '?':
        case '!':
        case ':':
        case ',':
            $append = $last_char;
            if ($relative_url)
            {
                $relative_url = substr($relative_url, 0, -1);
            }
            else
            {
                $url = substr($url, 0, -1);
            }
        break;

        // set last_char to empty here, so the variable can be used later to
        // check whether a character was removed
        default:
            $last_char = '';
        break;
    }

    $short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;

    switch ($type)
    {
        case MAGIC_URL_LOCAL:
            $tag            = 'l';
            $relative_url    = preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));
            $url            = $url . '/' . $relative_url;
            $text            = $relative_url;

            // this url goes to http://domain.tld/path/to/board/ which
            // would result in an empty link if treated as local so
            // don't touch it and let MAGIC_URL_FULL take care of it.
            if (!$relative_url)
            {
                return $whitespace . $orig_url . '/' . $orig_relative; // slash is taken away by relative url pattern
            }
        break;

        case MAGIC_URL_FULL:
            $tag    = 'm';
            $text    = $short_url;
        break;

        case MAGIC_URL_WWW:
            $tag    = 'w';
            $url    = 'http://' . $url;
            $text    = $short_url;
        break;

        case MAGIC_URL_EMAIL:
            $tag    = 'e';
            $text    = $short_url;
            $url    = 'mailto:' . $url;
        break;
    }

    $url    = htmlspecialchars($url);
    $text    = htmlspecialchars($text);
    $append    = htmlspecialchars($append);

    $html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";

    return $html;
}
Caso haja diferenças, então substitua as linhas do seu arquivo pela versão limpa do phpBB3 para ver se irá resolver o problema.

OBS: Antes faça uma cópia de seu arquivo /includes/functions_content.php atual para lhe servir como backup.

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
gustavocave
Novato
Novato
Mensagens: 60
Registrado em: 16 Nov 2012, 09:24

Re: Problemas com links (estilo Subsilver2)

Mensagem por gustavocave »

Coloquei como 'NÃO' a opção, limpei o cache, fiz os testes e nada, depois substitui o código, fiz os teste e nada!

O que será?
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Problemas com links (estilo Subsilver2)

Mensagem por robra »

A situação está bem esquisita.
Quando se abre a edição da mensagem, o link deveria aparecer por completo e não abreviado, e na mensagem postada o link deveria aparecer abreviado e não por inteiro, ou seja, as coisa estão invertidas. Pode ter sido alguma edição errada no próprio /includes/functions_content.php ou no /includes/functions_posting.php que está gerando este erro.
Li pessoas informado que foi erro na conversão do banco de dados. Tem uns outros resultados na pesquisa que citei na minha mensagem anterior, sobre uns procedimentos realizados, mas não sei se irá funcionar. se quiser tentar, faça um backup do seu bando de dados, depois faça a pesquisa no Google por <!-- m --><a class="postlink".
Ou então, espere um pouco para ver se um outro usuário lhe responde com uma solução.

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
gustavocave
Novato
Novato
Mensagens: 60
Registrado em: 16 Nov 2012, 09:24

Re: Problemas com links (estilo Subsilver2)

Mensagem por gustavocave »

Refiz todo procedimento e nada, vou continuar na luta!

Obg por tudo até neste momento!
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Problemas com links (estilo Subsilver2)

Mensagem por robra »

Tenta a MOD Prime Links.

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
Trancado