"Iniciado por" não aparece em certos quadros

Started by FragaCampos, April 04, 2013, 11:03:21 PM

Previous topic - Next topic

FragaCampos

Saudações.

Recentemente, reparei que alguns quadros não mostram o "Iniciado por". Como não faço ideia por que motivo aparece nuns e noutros não, venho aqui pedir ajuda.

Podem ver a diferença aqui e aqui.

margarett

 ??? ??? ???

Como é? Que coisa gira...
Precisava de ver o teu MessageIndex.template.php, mas como isso é um tema Dzinner Premium, se calhar não é boa ideia :)

Estive a espreitar com o Firebug e olha a diferença entre as 2 páginas em anexo...

Na prática, a variável $context['current_board'] parece que tem o conteúdo representado de forma diferente (com pontos e vírgulas e sei lá...) entre os teus quadros...
Já testaste com o tema padrão?
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Costa

Connection Problems
Sorry, SMF was unable to connect to the database. This may be caused by the server being busy. Please try again later.

Hugo "Costa" Fernandes - PT SMF
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

FragaCampos

Quote from: Costa on April 05, 2013, 10:43:34 AM
Connection Problems
Sorry, SMF was unable to connect to the database. This may be caused by the server being busy. Please try again later.



Terá sido algo temporário. Agora está tudo bem.

margarett, eu já tinha visto isso com o Firebug, não consigo perceber por que motivo estão diferentes.
Com o tema padrão é o mesmo.

Anexo aqui o MessageIndex.template.php. Não há problema nenhum. ;)

margarett

#4
Ora cá estamos de volta :P Lá se foi o fim de semana :)
Podes p.f. ir a esse MessageIndex (ou a outro qualquer, pelo que parece dá asneira em qualquer tema, por isso não será daqui...) e:

Encontra:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo '

E substitui por:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo $scripturl;
echo ' ';
echo $context['current_board'];
echo '


É só para vermos as variáveis separadas, num e noutro quadro. Depois experimenta p.f. sem os "pretty urls".
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Feito.
Eu não uso nenhum mod para Pretty Urls no fórum. É a isso que te referes?

margarett

Sim, é.

Os teus links são:
http://www.docspt.com/index.php/board,22.0.html
E não
http://www.docspt.com/index.php?board=22.0

O próprio SMF tem uma opção para activar os "links amigáveis para motores de busca", se não me falha a memória...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Ok, desativei a opção "URLs amigáveis dos motores de busca" e o problema mantém-se. :P

margarett

#8
A mim aparece-me na mesma com os links como estavam "amigáveis"...

edit: tenho andado a dar aqui mais uma vista de olhos... Nesse quadro que não mostra o texto, se ordenares por "Assunto", por exemplo, já aparece o "tal" texto :)

Mais um teste?
Troca isto:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo $scripturl;
echo ' ';
echo $context['current_board'];
echo '

Por isto:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo $scripturl;
echo ' ';
echo $context['current_board'];
echo ' ';
echo $txt['started_by'];
echo '


E em EN, continua a acontecer ou nem por isso?
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Quote from: margarett on April 08, 2013, 06:10:49 PM
A mim aparece-me na mesma com os links como estavam "amigáveis"...

Entretanto voltei a activar essa opção. :P

Quoteedit: tenho andado a dar aqui mais uma vista de olhos... Nesse quadro que não mostra o texto, se ordenares por "Assunto", por exemplo, já aparece o "tal" texto :)
:o Tens razão. E não só por assunto, também por "respostas", "visualizações" e "última mensagem".


QuoteMais um teste?
Troca isto:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo $scripturl;
echo ' ';
echo $context['current_board'];
echo '

Por isto:

// Are there actually any topics to show?
if (!empty($context['topics']))
{
echo $scripturl;
echo ' ';
echo $context['current_board'];
echo ' ';
echo $txt['started_by'];
echo '

Feito, mas acho que ficou na mesma.

QuoteE em EN, continua a acontecer ou nem por isso?
Continua a acontecer...  :-\

margarett

Ah ah!

Mas já vi... O problema é que o texto "iniciado por", por algum motivo, não é bem carregado e é um problema independente do idioma... Ou seja, não tem a ver com esse ficheiro, há-de ser qualquer coisa nos Sources...
Eu não consigo reproduzir isso aqui no meu setup de testes. Amanhã já vejo que ficheiros preciso de verificar a seguir...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

margarett

#11
Este tipo de problemas fazem-me tomar consciência que, de facto, não percebo nada disto :P
Não consigo reproduzir o teu problema, o que me diz que, em princípio é algo causado pelo teu conjunto de MODs. Acontece-te com qualquer tema e qualquer idioma, por isso deve ser qualquer coisa nos Sources.
Consegues ver se, com uma cópia da instalação na tua máquina local, também te acontece isso? Se acontecer, podes experimentar desabilitar os MODs uma a um para ver se identificamos um "culpado"?

Aparentemente, o problema está na variável txt['started_by'] que se "esquece" de ir buscar o texto aos ficheiros de linguagem... Agora porquê?...

Como forma de contornar isso, só para deixares de ter essa "crise", podes fazer assim:
Logo no início do ficheiro encontras:

function template_main()
{
global $context, $settings, $options, $scripturl, $modSettings, $txt;

E adicionas a seguir:

if (empty($txt['started_by']))
$txt['started_by'] = 'Iniciado por:';


E para já, é só o que te consigo fazer :(

edit: falando nisso, tens alguma coisa no registo de erros do fórum?
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Bom, agora voltou a aparecer.

Não tenho nenhum erro no registo... e o que dizes faz sentido. Deve ser algum mod que está a interferir com essa variável. Mas não vejo o que possa ser, ainda mais porque afecta apenas alguns quadros... Não tenho nenhum mod que afecte uns quadros e outros não. Ou melhor, até tenho, mas não desta maneira.

Eu vou tentar instalar tudo em localhost e desinstalar os mods um a um. Se obtiver resultados, depois comunico.

De qualquer forma, obrigado uma vez mais. Funciona, é o que interessa. ;)

margarett

Quote from: FragaCampos on April 09, 2013, 12:58:45 PM
Bom, agora voltou a aparecer.
Só para me situar, apareceu "do nada" ou com aquela alteração que te indiquei?

Também já podes remover isto:

echo $scripturl;
echo ' ';
echo $context['current_board'];
echo ' ';
echo $txt['started_by'];

Não há necessidade de ter lá essa informação agora. Podes comentar, apenas. Pode dar jeito mais tarde ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Não, apareceu depois de ter feito o que me disseste com o
if (empty($txt['started_by']))
$txt['started_by'] = 'Iniciado por:';


Ok, já retirei o código anterior.

FragaCampos

Descobri o culpado deste problema...
É o mod Go direct to moved topic.

Até ver, o hack do margarett funciona na perfeição.

margarett

Boa ;)

O que quer dizer que esse MOD, em algum lugar, destrói o carregamento da tal variável "started by". E pelo que tu postaste no tópico de suporte do MOD, é nos quadros que têm tópicos de redireccionamento.

Vamos lá a ver se o autor resolve o galho.

edit: estive a espreitar o parse e é bem de ver onde é que está o erro...
Sources/MessageIndex.php
Quote
         // // Added for the Direct to Moved Topic mod.
         $id_topic = $row['id_topic'];
         if($row['first_icon'] == 'moved')
         {
            $id_topic = substr(strstr($redirect_msg, 'topic='), 1);
            $id_topic = floor(substr($id_topic, 5, strpos($id_topic, '.')));            
            if(is_numeric($id_topic) && $id_topic > 0)
            {
               $row['first_subject'] = str_replace($txt['moved'] . ':', '<strong>' . $txt['moved'] . ':</strong>', $row['first_subject']);
               $row['first_body'] = substr($redirect_msg, 0,  -(strlen(strstr($redirect_msg, 'http'))));
               $row['num_replies'] = '----';
               $row['num_views'] = '----';
               $row['first_display_name'] = '';
               $txt['started_by'] = '';
               $row['first_id_member'] = 0;
               $row['locked'] = 0;
            }
            else
               $id_topic = $row['id_topic'];
         }
         // End Direct to Moved Topic mod.


O problema é que isso destrói a variável no contexto do tópico de redireccionamento, mas no resto também... Agora... esse MOD já não é actualizado desde o RC5, algures por 2011...

edit2: queres apagar essa linha e ver o que é que acontece? Tens de apagar o meu "hack" também... Já que tens uma instalação de testes ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

FragaCampos

Bom, acabei por "resolver" o problema de outra forma.
Instalei este mod, que além de fazer o que este outro fazia, ainda dá para escolher o "prazo de validade" dos avisos de tópicos movidos. É um dois em um e, pelo menos até agora, funciona sem erros.

Obrigado uma vez mais por toda a tua ajuda.  ;)

Advertisement: