Mensagens recentes

#21
Tutorial SMFPT / BoardNews Ehportal remover Pag...
Última mensagem por candidosa2 - 17 de Abril de 2026, 16:54
Bem tenho 2 boardnews mais quero que uma delas nao tenha a paginacao



1. Localize o ponto de edição
No arquivo PortalBlocks.php, vá até o final da função sp_boardNews. Você encontrará o código da paginação entre as linhas 723 e 725:

if (!empty($per_page))
echo '
<div class="sp_page_index">', $page_index, '</div>';

2. Aplique a correção por ID
Substitua essas linhas pelo código abaixo. Ele verifica se o bloco atual é o seu bloco VIP (ID 191) e, caso seja, impede a exibição das páginas:

// Ajuste Profissional: Esconde a paginação apenas para o bloco VIP ID 191
if (!empty($per_page) && $id != NUMEROIDDOBOARDNEWS)
echo '
<div class="sp_page_index">', $page_index, '</div>';

3. Por que esta solução resolve o seu problema:
Segmentação por ID: O código utiliza a variável $id (passada na linha 589 da função) para identificar especificamente o bloco que você está a configurar.

Preservação do Bloco Geral: Como o seu bloco de notícias geral possui um ID diferente de 191, ele continuará a mostrar a paginação normalmente.

Fim dos problemas de Cache/CSS: Ao remover o código diretamente no PHP, o "Páginas: [1]" deixa de existir no HTML gerado para o VIP, tornando desnecessária qualquer briga com arquivos CSS minificados ou caches de tema.

4. Procedimento pós-edição
Guarde o arquivo e envie-o para a pasta Sources/ no seu servidor.

Vá à Administração > Manutenção do Fórum > Rotina > Limpar o cache.

Agora você pode configurar o Maximum Characters do bloco VIP para 0 ou um valor alto, pois o layout não quebrará mais e a paginação terá sumido apenas deste quadro.


#22
Simpleportal / Re: Relato de bug – Problema c...
Última mensagem por candidosa2 - 12 de Abril de 2026, 23:18
Ao analisar o seu ficheiro PortalBlocks.php, vi que o seu sistema usa uma função própria chamada EhPortal_parsebbc. É logo a seguir a essa função que vamos dar o nosso "golpe de mestre".

Aqui estão os passos exatos para aplicar no ficheiro que acabou de enviar:

O Passo a Passo no PortalBlocks.php
1. Abra o seu PortalBlocks.php no editor.

2. Procure por esta linha exata (deve estar por volta da linha 527):

$row['body'] = EhPortal_parsebbc($row['body'], $row['smileys_enabled'], $row['id_msg']);
3. Pressione a tecla Enter no final dessa linha e cole este código exatamente por baixo dela:

// FIX ADELINO: Forçar resize de imagens geradas (Capas), ignorando smilies
$row['body'] = preg_replace(
'~<img(?![^>]*class="[^"]*smiley[^"]*")([^>]*)>~i',
'<img$1 style="max-height: 350px !important; max-width: 100% !important; width: auto !important; height: auto !important;">',
$row['body']
);

Como vai ficar o seu código (para ter a certeza):

$row['body'] = EhPortal_parsebbc($row['body'], $row['smileys_enabled'], $row['id_msg']);

// FIX ADELINO: Forçar resize de imagens geradas (Capas), ignorando smilies
$row['body'] = preg_replace(
'~<img(?![^>]*class="[^"]*smiley[^"]*")([^>]*)>~i',
'<img$1 style="max-height: 350px !important; max-width: 100% !important; width: auto !important; height: auto !important;">',
$row['body']
);

if (!empty($length) && $smcFunc['strlen']($row['body']) > $length && !$limited)
{


Como aumentar a imagem:
Abra novamente o PortalBlocks.php e vá ao código que acabámos de colar. Basta alterar o valor de max-height: 350px para 450px (ou 500px, dependendo do seu gosto).

Ficará exatamente assim:

// FIX ADELINO: Forçar resize de imagens geradas (Capas), ignorando smilies
$row['body'] = preg_replace(
'~<img(?![^>]*class="[^"]*smiley[^"]*")([^>]*)>~i',
'<img$1 style="max-height: 450px !important; max-width: 100% !important; width: auto !important; height: auto !important;">',
$row['body']
);
#23
Simpleportal / Relato de bug – Problema com r...
Última mensagem por Mr Ajuda - 12 de Abril de 2026, 10:02

Olá Equipa de Suporte,

Espero que se encontrem bem.

Gostaria de reportar um bug relacionado com a exibição de imagens ao utilizar o portal.

Detalhes do ambiente:

Versão do SMF: 2.1.7
Portal: EhPortal 1.40.3
Tema: Orangeline 2.1.4

Descrição do problema:
Ao ativar a opção "Resize images on portal", as imagens deixam de ser exibidas nas páginas do portal. O espaço da imagem fica vazio, embora a tag HTML da imagem (ex.: <img class="bbc_img" ...>) esteja presente no código.

Quando desativo esta opção, as imagens voltam a aparecer normalmente.

Notas adicionais:

O problema aparenta estar relacionado com CSS ou com a forma como o redimensionamento está a ser aplicado às imagens dentro dos blocos do portal.
Já testei algumas correções básicas em CSS (ex.: max-width: 100%; height: auto;), mas sem sucesso.
Este comportamento ocorre apenas no portal (EhPortal), não nos tópicos do fórum.

Poderiam, por favor, verificar esta situação ou indicar alguma solução ou alternativa?

Caso necessário, posso fornecer capturas de ecrã ou acesso para testes adicionais.

Com os melhores cumprimentos
#24
Modern / Orangeline
Última mensagem por candidosa2 - 08 de Abril de 2026, 02:33
#25
SimplePortal / Nao mostra lado direito so esq...
Última mensagem por candidosa2 - 07 de Abril de 2026, 13:18
Analisei o teu ficheiro index.template.php (versão 2.1.4/2.1.7) e o problema foi exatamente o que suspeitávamos: o código do EhPortal não existe neste ficheiro.

Quando instalaste o mod, ele provavelmente falhou a edição automática porque o teu tema é personalizado (Orangeline/SMFPT). Para resolveres isso e a coluna direita aparecer, tens de adicionar as chamadas do portal manualmente.

Faz o seguinte:

1. Ativar a Coluna Esquerda (que já vês)
Procura por esta linha (por volta da linha 477):

<div id="content_section">
<div id="main_content_section">

Adiciona ANTES dela:

// EhPortal - Lado Esquerdo
if (function_exists('template_ehportal_left'))
template_ehportal_left();

Ativar a Coluna Direita (o teu problema)
Procura por estas linhas (por volta da linha 489):

Se nao funcionar usar esta Opcao

1. Substitui a função template_body_above (Parte Superior)
Esta parte garante que a coluna esquerda apareça corretamente.

function template_body_above()
{
global $context, $settings, $scripturl, $txt, $modSettings, $maintenance;

// Wrapper div now echoes permanently for better layout options. h1 a is now target for "Go up" links.
echo '
<div id="top_section">
<div class="inner_wrap">';

// If the user is logged in, display some things that might be useful.
if ($context['user']['is_logged'])
{
// Firstly, the user's menu
echo '
<ul class="floatleft" id="top_info">
<li>
<a href="', $scripturl, '?action=profile"', !empty($context['self_profile']) ? ' class="active"' : '', ' id="profile_menu_top">';

if (!empty($context['user']['avatar']))
echo $context['user']['avatar']['image'];

echo '<span class="textmenu">', $context['user']['name'], '</span></a>
<div id="profile_menu" class="top_menu"></div>
</li>';

// Secondly, PMs if we're doing them
if ($context['allow_pm'])
echo '
<li>
<a href="', $scripturl, '?action=pm"', !empty($context['self_pm']) ? ' class="active"' : '', ' id="pm_menu_top">
<span class="main_icons inbox"></span>
<span class="textmenu">', $txt['pm_short'], '</span>', !empty($context['user']['unread_messages']) ? '
<span class="amt">' . $context['user']['unread_messages'] . '</span>' : '', '
</a>
<div id="pm_menu" class="top_menu scrollable"></div>
</li>';

// Thirdly, alerts
echo '
<li>
<a href="', $scripturl, '?action=profile;area=showalerts;u=', $context['user']['id'], '"', !empty($context['self_alerts']) ? ' class="active"' : '', ' id="alerts_menu_top">
<span class="main_icons alerts"></span>
<span class="textmenu">', $txt['alerts'], '</span>', !empty($context['user']['alerts']) ? '
<span class="amt">' . $context['user']['alerts'] . '</span>' : '', '
</a>
<div id="alerts_menu" class="top_menu scrollable"></div>
</li>';

// A logout button for people without JavaScript.
if (empty($settings['login_main_menu']))
echo '
<li id="nojs_logout">
<a href="', $scripturl, '?action=logout;', $context['session_var'], '=', $context['session_id'], '">', $txt['logout'], '</a>
<script>document.getElementById("nojs_logout").style.display = "none";</script>
</li>';

// And now we're done.
echo '
</ul>';
}
// Otherwise they're a guest. Ask them to either register or login.
elseif (empty($maintenance))
{
// Some people like to do things the old-fashioned way.
if (!empty($settings['login_main_menu']))
{
echo '
<ul class="floatleft">
<li class="welcome">', sprintf($txt[$context['can_register'] ? 'welcome_guest_register' : 'welcome_guest'], $context['forum_name_html_safe'], $scripturl . '?action=login', 'return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ', \'login\');', $scripturl . '?action=signup'), '</li>
</ul>';
}
else
{
echo '
<ul class="floatleft" id="top_info">
<li class="welcome">
', sprintf($txt['welcome_to_forum'], $context['forum_name_html_safe']), '
</li>
<li class="button_login">
<a href="', $scripturl, '?action=login" class="', $context['current_action'] == 'login' ? 'active' : 'open','" onclick="return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ', \'login\');">
<span class="main_icons login"></span>
<span class="textmenu">', $txt['login'], '</span>
</a>
</li>';

if ($context['can_register'])
echo '
<li class="button_signup">
<a href="', $scripturl, '?action=signup" class="', $context['current_action'] == 'signup' ? 'active' : 'open','">
<span class="main_icons regcenter"></span>
<span class="textmenu">', $txt['register'], '</span>
</a>
</li>';

echo '
</ul>';
}
}
else
// In maintenance mode, only login is allowed and don't show OverlayDiv
echo '
<ul class="floatleft welcome">
<li>', sprintf($txt['welcome_guest'], $context['forum_name_html_safe'], $scripturl . '?action=login', 'return true;'), '</li>
</ul>';

if (!empty($modSettings['userLanguage']) && !empty($context['languages']) && count($context['languages']) > 1)
{
echo '
<form id="languages_form" method="get" class="floatright">
<select id="language_select" name="language" onchange="this.form.submit()">';

foreach ($context['languages'] as $language)
echo '
<option value="', $language['filename'], '"', isset($context['user']['language']) && $context['user']['language'] == $language['filename'] ? ' selected="selected"' : '', '>', str_replace('-utf8', '', $language['name']), '</option>';

echo '
</select>
<noscript>
<input type="submit" value="', $txt['quick_mod_go'], '">
</noscript>
</form>';
}

if ($context['allow_search'])
{
echo '
<form id="search_form" class="floatright" action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '">
<input type="search" name="search" value="">&nbsp;';

// Using the quick search dropdown?
$selected = !empty($context['current_topic']) ? 'current_topic' : (!empty($context['current_board']) ? 'current_board' : 'all');

echo '
<select name="search_selection">
<option value="all"', ($selected == 'all' ? ' selected' : ''), '>', $txt['search_entireforum'], ' </option>';

// Can't limit it to a specific topic if we are not in one
if (!empty($context['current_topic']))
echo '
<option value="topic"', ($selected == 'current_topic' ? ' selected' : ''), '>', $txt['search_thistopic'], '</option>';

// Can't limit it to a specific board if we are not in one
if (!empty($context['current_board']))
echo '
<option value="board"', ($selected == 'current_board' ? ' selected' : ''), '>', $txt['search_thisboard'], '</option>';

// Can't search for members if we can't see the memberlist
if (!empty($context['allow_memberlist']))
echo '
<option value="members"', ($selected == 'members' ? ' selected' : ''), '>', $txt['search_members'], ' </option>';

echo '
</select>';

// Search within current topic?
if (!empty($context['current_topic']))
echo '
<input type="hidden" name="sd_topic" value="', $context['current_topic'], '">';

// If we're on a certain board, limit it to this board ;).
elseif (!empty($context['current_board']))
echo '
<input type="hidden" name="sd_brd" value="', $context['current_board'], '">';

echo '
<input type="submit" name="search2" value="', $txt['search'], '" class="button">
<input type="hidden" name="advanced" value="0">
</form>';
}

echo '
</div></div>';

echo '
<div id="header">
<h1 class="forumtitle">
<a id="top" href="', $scripturl, '">', empty($context['header_logo_url_html_safe']) ? '<img src="' . $settings['images_url'] . '/logo.png" alt="' . $context['forum_name_html_safe'] . '">' : '<img src="' . $context['header_logo_url_html_safe'] . '" alt="' . $context['forum_name_html_safe'] . '">', '</a>
</h1>';

echo '
', empty($settings['site_slogan']) ? '<img id="smflogo" src="' . $settings['images_url'] . '/smflogo.svg" alt="Simple Machines Forum" title="Simple Machines Forum">' : '<div id="siteslogan">' . $settings['site_slogan'] . '</div>', '';

echo '
</div>
<div id="wrapper">
<div id="upper_section">
<div id="inner_section">
<div id="inner_wrap"', !$context['user']['is_logged'] ? ' class="hide_720"' : '', '>
<div class="user">
<time datetime="', smf_gmstrftime('%FT%TZ'), '">', $context['current_time'], '</time>';

if ($context['user']['is_logged'])
echo '
<ul class="unread_links">
<li>
<a href="', $scripturl, '?action=unread" title="', $txt['unread_since_visit'], '">', $txt['view_unread_category'], '</a>
</li>
<li>
<a href="', $scripturl, '?action=unreadreplies" title="', $txt['show_unread_replies'], '">', $txt['unread_replies'], '</a>
</li>
</ul>';

echo '
</div>';

// Show a random news item? (or you could pick one from news_lines...)
if (!empty($settings['enable_news']) && !empty($context['random_news_line']))
echo '
<div class="news">
<h2>', $txt['news'], ': </h2>
<p>', $context['random_news_line'], '</p>
</div>';

echo '
</div>';

// Show the menu here, according to the menu sub template, followed by the navigation tree.
// Load mobile menu here
echo '
<a class="mobile_user_menu">
<span class="menu_icon"></span>
<span class="text_menu">', $txt['mobile_user_menu'], '</span>
</a>
<div id="main_menu">
<div id="mobile_user_menu" class="popup_container">
<div class="popup_window description">
<div class="popup_heading">', $txt['mobile_user_menu'], '
<a href="javascript:void(0);" class="main_icons hide_popup"></a>
</div>
', template_menu(), '
</div>
</div>
</div>';

theme_linktree();

echo '
</div></div>';

// The main content should go here.
echo '
<div id="content_section">';

// EhPortal - Lado Esquerdo
if (function_exists('template_ehportal_left'))
template_ehportal_left();

echo '
<div id="main_content_section">';
}

2. Substitui a função template_body_below (Parte Inferior)
Esta parte ativa a coluna direita que está em falta.

function template_body_below()
{
global $context, $txt, $scripturl, $modSettings;

echo '
</div></div>';

// EhPortal - Lado Direito
if (function_exists('template_ehportal_right'))
template_ehportal_right();

echo '
</div></div>';

// Show the footer with copyright, terms and help links.
echo '
<div id="footer">
<div class="inner_wrap">';

// There is now a global "Go to top" link at the right.
echo '
<ul>
<li class="floatright"><a href="', $scripturl, '?action=help">', $txt['help'], '</a> ', (!empty($modSettings['requireAgreement'])) ? '| <a href="' . $scripturl . '?action=agreement">' . $txt['terms_and_rules'] . '</a>' : '', ' | <a href="#top_section">', $txt['go_up'], ' &#9650;</a></li>
<li>Original Orangeline by <a href="https://www.jpr62.com/theme/" target="_blank" class="new_win" title="Crip Zone"><span><b>Crip</a></b> Updated to v2.1.4 by <a href="https://www.jpr62.com/theme/" target="_blank" class="new_win" title="The Crip Zone Team"><span><b>The Crip Zone Team Tradução e Modificação by <a href="https://www.smfpt.net" target="_blank" class="new_win" title="SMFPT - Suporte e Manutenção de Fórum em Português"><span><b>SMFPT Team</a></b></span></li>
<li>Tradução e Modificação by <a href="https://www.smfpt.net" target="_blank" class="new_win" title="SMFPT - Suporte e Manutenção de Fórum em Português"><span><b>SMFPT Team</a></b></span></li>

<li class="copyright">', theme_copyright(), '</li>
</ul>';

// Show the load time?
if ($context['show_load_time'])
echo '
<p>', sprintf($txt['page_created_full'], $context['load_time'], $context['load_queries']), '</p>';

echo '
</div>
</div>';

}
#26
Notícias e atualizações / Re: SMF 2.1.7 Released
Última mensagem por Root - 11 de Março de 2026, 01:21
Muito Obrigado
#27
Notícias e atualizações / SMF 2.1.7 Released
Última mensagem por Joomlamz - 11 de Março de 2026, 01:08
Caros membros,

A Simple Machines tem o prazer de anunciar um novo patch para a linha 2.1. x do SMF, elevando o número da versão para 2.1.7.

Alterações assinaláveis no SMF 2.1.7

  • Remoção do PHPSESSID
  • Correção da fila de e-mails
  • Correções de pesquisa para mb3 e tipos de memória
  • Correções de bugs do BBC
  • Correção de links de ativação partidos no Gmail
  • Correção de um bug no tratamento de imagens/avatares causado pela falta de manipuladores MIME
  • Correções do SCEditor
  • Correções de alertas de utilizadores
  • Correções de cache
  • Correções de atualização Unicode
  • Correções de deteção de proxy
  • Diversas outras correções de bugs

Consulte a lista de alterações no GitHub para obter mais informações.

Como atualizar para a versão 2.1.7

Se estiver a utilizar a versão 2.1.6, pode realizar a atualização utilizando o Gestor de Pacotes (Central de Administração > Gestor de Pacotes). Aí, verá uma notificação sobre a versão 2.1.7, incluindo um link para "actualizar o seu fórum". Se não vir esta notificação no Gestor de Pacotes, execute "Obter ficheiros do Simple Machines" na página Tarefas Agendadas (Centro de Administração > Manutenção > Tarefas Agendadas) e tente novamente.

Se estiver a utilizar uma versão entre 2.1.0 e 2.1.5, pode utilizar o processo descrito acima para aplicar os patches de atualização anteriores sucessivamente até chegar à versão 2.1.7.

Se estiver a utilizar uma versão anterior do SMF (incluindo o SMF 1. x, o SMF 2.0. x ou uma das versões Beta ou RC do SMF 2.1), pode atualizar diretamente para a versão 2.1.7 a partir da versão que está a utilizar atualmente, utilizando o pacote "Full Update" na página Transferências. Note que a utilização deste método de atualização exigirá a reinstalação de quaisquer personalizações adicionadas ao seu fórum; portanto, se estiver a executar o SMF 2.1.0 ou superior, recomenda-se a aplicação dos patches sucessivos em vez de utilizar a Atualização Completa.

Se tiver problemas para descarregar o patch através do painel de administração, pode descarregar o pacote de patches na página Atualizações do Gestor de Pacotes e instalá-lo através do Gestor de Pacotes, como faria com qualquer outro pacote de mods.

Consulte o Manual Online para obter mais detalhes sobre como aplicar patches e atualizar o jogo.

Por fim, como sempre, não utilize este tópico para pedidos de suporte. Receberá uma resposta muito mais rápida e eficiente publicando no Fórum de Suporte da versão 2.1.x.

Obrigado por utilizar o SMF!
#28
Show Case (Mostruário) / Re: Portal webmastermz
Última mensagem por candidosa2 - 07 de Janeiro de 2026, 02:15
Link to my forum: https://www.webmastersmz.com/
SMF version: SMF 2.1.6 © 2025
TP version: TinyPortal v3.0.2
Default Forum Language: Portuguese_Pt
Theme name and version: Original Orangeline by Crip Updated to v2.1.4 by The Crip Zone Team
Browser Name and Version: Waterfox 6.6.7
Mods installed:
1  - Styled Maintenance Mode Message v1.4
2  - Unread Notifications On Title v1.1.3
3  - Topic Solved v1.1.6
4  - Similar Topics v1.3.2
5  - SMF Post Prefix v4.3.4
6  - Tagging System For Topics v4.1.2
7  - Select Language On Register v0.2
8  - Treasury 2.12.12
9  - Thanks_2.1_By_SMFPT.NET
10 - Delete Unactivated Members v1.5
11 - CountryFlags v3.0
12 - Board Viewers (V22 Colors)
13 - Simple Audio Video Embedder v7.0.6a
14 - PM to New Members v1.2.2
15 - Similar Topics v1.3.2
16 - More Spiders v1.3.1
17 - Simple Colorizer v1.4
18 - Contact Page v7.1
19 - RSS Aggregator v1.1.1
20 - Full_Top_X_Stats_By_SMFPT.NET
21 - TinyPortal v3.0.2
22 - TinyPortal_pt_v.3.0.2
23 - Hide Tag Special 3.0
24 - Seo4SMF 2.1 FİNAL_SON_By_SMFPT.NET
25 - Stop Forum Spam v1.5.6
26 - Pretty URLs v4.2.2
27 - Aligned Child Boards (Pro V4.1 Clean)
28 - Google Analytics Code v1.6.1
29 - Spoiler v0.3.2
30 - Users Online Today Mod v2.2
31 - cbi v0.5 (Custom Board Icons) vcbi196
32 - Anti-Spam Links (SMF 2.1 & PHP 8)
33 - Optimus v3.0 RC5 Traducao e Configurado
34 - Upload de Imagens Manual script
#29
Trabalhos gráficos / BootstrapLight v1
Última mensagem por Big Boss - 07 de Janeiro de 2026, 00:32
Compatible With 2.1 RC2
Precisa de Fazer acertos, porque esta com muitos erros update para suporte 2.1.6

2: Undefined array key "quick_reply_desc"
#30
Página de demonstração SMFPT / Re: SMFPT - EZPORTAL
Última mensagem por candidosa2 - 05 de Janeiro de 2026, 07:14
em atualizacao