News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Sub-forum em ordem alfabética

Started by JoseRoberto, October 02, 2007, 08:59:05 AM

Previous topic - Next topic

petervmaster

Boas
Infelizmente não dá???
Amigo margarett não será necessário editar também esta parte:

//finalmente, se for para ordenar no quadro.....

Cump
petervmaster

margarett

Experimenta como tá agora...

Não é aí. Se vires, é feito ao contrário... Ou seja, faz-se o "normal" a não ser que seja um desses quadros. Por isso esse ultimo "else" é o restinho das operações. Aí não deve ser preciso mexer em nada...
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

petervmaster

Não amigo agora aparece-me este erro:

Parse error: syntax error, unexpected '{' in /home/ptforumn/public_html/teste/Sources/MessageIndex.php on line 394


margarett

Faltava-me um ")"

Experimenta agora?
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

petervmaster

Continua a não dar, já não dá o erro mas não ordena quadro nenhum!

Cump
petervmaster

margarett

Tá dificil :P

Tenta agora. Nota que alterei em 2 posts ;)
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

petervmaster

 :D Foi desta amigo, está tudo a funcionar na perfeição

Vou alterar no live  ;)

Cump
petervmaster

margarett

Lá está... A diferença entre um "AND" e um "OR"... :P
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

pass25

Olá,

Eu não conssigo!  :(

Não sei onde é que meti àgua!

// Default sort methods.
$sort_methods = array(
'subject' => 'mf.subject',
'starter' => 'IFNULL(memf.realName, mf.posterName)',
'last_poster' => 'IFNULL(meml.realName, ml.posterName)',
'replies' => 't.numReplies',
'views' => 't.numViews',
'first_post' => 't.ID_TOPIC',
'last_post' => 't.ID_LAST_MSG'
);

// They didn't pick one, default to by last post descending.
if ((($board !=5.0) && ($board !=26.0) && ($board !=30.0) && ($board !=31.0) && ($board !=71.0) && ($board !=100.0) && ($board !=32.0) && ($board !=33.0) && ($board !=34.0) && ($board !=36.0) && ($board !=37.0) && ($board !=38.0) && ($board !=39.0) && ($board !=41.0) && ($board !=42.0) && ($board !=44.0) && ($board !=45.0) && ($board !=46.0) && ($board !=48.0) && ($board !=49.0) && ($board !=51.0) && ($board !=52.0) && ($board !=72.0) && ($board !=54.0) && ($board !=55.0) && ($board !=56.0) && ($board !=57.0) && ($board !=59.0) && ($board !=60.0) && ($board !=61.0) && ($board !=62.0) && ($board !=84.0) && ($board !=64.0) && ($board !=69.0) && ($board !=67.0) && ($board !=68.0) ) && ($board !=73.0) && ($board !=99.0) && (!isset($_REQUEST['sort']) || isset($sort_methods[$_REQUEST['sort']])))
{&&
$context['sort_by'] = 'last_post';
$_REQUEST['sort'] = 'ID_LAST_MSG';
$ascending = isset($_REQUEST['asc']);
}

// Otherwise default to ascending.
elseif (($board !=5.0) && ($board !=26.0) && ($board !=30.0) && ($board !=31.0) && ($board !=71.0) && ($board !=100.0) && ($board !=32.0) && ($board !=33.0) && ($board !=34.0) && ($board !=36.0) && ($board !=37.0) && ($board !=38.0) && ($board !=39.0) && ($board !=41.0) && ($board !=42.0) && ($board !=44.0) && ($board !=45.0) && ($board !=46.0) && ($board !=48.0) && ($board !=49.0) && ($board !=51.0) && ($board !=52.0) && ($board !=72.0) && ($board !=54.0) && ($board !=55.0) && ($board !=56.0) && ($board !=57.0) && ($board !=59.0) && ($board !=60.0) && ($board !=61.0) && ($board !=62.0) && ($board !=84.0) && ($board !=64.0) && ($board !=69.0) && ($board !=67.0) && ($board !=68.0) ) && ($board !=73.0) && ($board !=99.0))
{
$context['sort_by'] = $_REQUEST['sort'];
$_REQUEST['sort'] = $sort_methods[$_REQUEST['sort']];
$ascending = !isset($_REQUEST['desc']);
}
          //finalmente, se for para ordenar no quadro "xx"
        else
        {
$context['sort_by'] = 'subject';
$_REQUEST['sort'] = 'mf.subject';
$ascending = !isset($_REQUEST['desc']);
       }

$context['sort_direction'] = $ascending ? 'up' : 'down';



Se alguém me pudesse ajudar agradecia!

Um abraço!

pass25

Margarett se poderes ajuda-me lá!!!

Eu sei que tens muita gente para ajudar!!!

Um abraço!

petervmaster

#30
Boas amigo
Tem de ficar assim:

// Default sort methods.
$sort_methods = array(
'subject' => 'mf.subject',
'starter' => 'IFNULL(memf.realName, mf.posterName)',
'last_poster' => 'IFNULL(meml.realName, ml.posterName)',
'replies' => 't.numReplies',
'views' => 't.numViews',
'first_post' => 't.ID_TOPIC',
'last_post' => 't.ID_LAST_MSG'
);

// They didn't pick one, default to by last post descending.
if ((($board != 5.0) && ($board != 26.0) && ($board != 30.0) && ($board != 31.0) && ($board != 71.0) && ($board != 100.0) && ($board != 32.0) && ($board != 33.0) && ($board != 41.0) && ($board != 42.0) && ($board != 44.0) && ($board != 45.0) && ($board != 46.0) && ($board != 48.0) && ($board != 49.0) && ($board != 51.0) && ($board != 52.0) && ($board != 72.0) && ($board != 54.0) && ($board != 55.0) && ($board != 56.0) && ($board != 57.0) && ($board != 59.0) && ($board != 60.0) && ($board != 61.0) && ($board != 62.0) && ($board != 84.0) && ($board != 64.0) && ($board != 69.0) && ($board != 67.0) && ($board != 68.0) && ($board != 73.0) && ($board != 99.0)) && (!isset($_REQUEST['sort']) || isset($sort_methods[$_REQUEST['sort']])))
{
$context['sort_by'] = 'last_post';
$_REQUEST['sort'] = 'ID_LAST_MSG';
$ascending = isset($_REQUEST['asc']);

}
// Otherwise default to ascending.
elseif (($board != 5.0) && ($board != 26.0) && ($board != 30.0) && ($board != 31.0) && ($board != 71.0) && ($board != 100.0) && ($board != 32.0) && ($board != 33.0) && ($board != 41.0) && ($board != 42.0) && ($board != 44.0) && ($board != 45.0) && ($board != 46.0) && ($board != 48.0) && ($board != 49.0) && ($board != 51.0) && ($board != 52.0) && ($board != 72.0) && ($board != 54.0) && ($board != 55.0) && ($board != 56.0) && ($board != 57.0) && ($board != 59.0) && ($board != 60.0) && ($board != 61.0) && ($board != 62.0) && ($board != 84.0) && ($board != 64.0) && ($board != 69.0) && ($board != 67.0) && ($board != 68.0) && ($board != 73.0) && ($board != 99.0))
{
$context['sort_by'] = $_REQUEST['sort'];
$_REQUEST['sort'] = $sort_methods[$_REQUEST['sort']];
$ascending = !isset($_REQUEST['desc']);
}
          //finalmente, se for para ordenar no quadro "xx"
        else
        {
$context['sort_by'] = 'subject';
$_REQUEST['sort'] = 'mf.subject';
$ascending = !isset($_REQUEST['desc']);
       }

$context['sort_direction'] = $ascending ? 'up' : 'down';


Copia e cola no teu MessageIndex.php

Cump
petervmaster

pass25

Olá,

Obrigado amigo!

Já deu, foi há segunda vez mas deu logo!
A 1ª vez, deu este erro "Nota: Parece que a sua base de dados precisa de ser actualizada. Os ficheiros estão na versão SMF 1.1.4, enquanto a sua base de dados está na versão1.1.2. Recomenda-se que seja executada a actualização para a última versão.", não sei porquê!

Mas voltei a fazer e deu logo!

Obrigado! Um abraço!

margarett

#32
Não precisam do "5.0", etc... O "5" chega perfeitamente ;)

Agora é que tou a ver... Vocês usam mesmo MUITOS quadros :P

Isso deveria ser possível meter num array, sempre era mais fácil de perceber o código... Mas não sei trabalhar com arrays :P

edit: @peter: mete isso dentro de code em vez de quote. fica mais legível...
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

petervmaster

Já está em code  ;D

Eu ainda tenho mais quadros  :D para os indices são cerca de 80 quadros

Cump
petervmaster

margarett

Xiiiiiiiiiii...

Vou ver se meto isso num array então. Pelo menos fica muito mais legível...
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

Lá está:
http://www.simplemachines.org/community/index.php?topic=201922.0

Podem então tentar facilitar a leitura do código e usar um array se quiserem ;)
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

pass25

Olá amigo,

Não sei se percebi bem! Então substituimos onde está if ((($board != 5.0) && ($board != 26.0) && ($board != 30.0) && ($board != 31.0) && ($board != 71.0) && ($board != 100.0) && ($board != 32.0) && ($board != 33.0) && ($board != 41.0) && ($board != 42.0) && ($board != 44.0) && ($board != 45.0) && ($board != 46.0) && ($board != 48.0) && ($board != 49.0) && ($board != 51.0) && ($board != 52.0) && ($board != 72.0) && ($board != 54.0) && ($board != 55.0) && ($board != 56.0) && ($board != 57.0) && ($board != 59.0) && ($board != 60.0) && ($board != 61.0) && ($board != 62.0) && ($board != 84.0) && ($board != 64.0) && ($board != 69.0) && ($board != 67.0) && ($board != 68.0) && ($board != 73.0) && ($board != 99.0)) && (!isset($_REQUEST['sort']) || isset($sort_methods[$_REQUEST['sort']])))

pelo array? É isso?

Existe maneira de meter apenas os novos tópicos a aparecerem em 1º lugar há mesma e depois de vistos voltarem para a ordem?

Um abraço!

margarett

É mais ou menos isso, eu depois adapto. Agora são 2 da matina :P

Essa segunda alteração já não consigo... Deve dar eventualmente, digo eu...
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

Ora isto é outra vez sem testar, mas de certeza que os amigos vão testar :P
A ideia é substituir aquele ENORME "if" pelo conteudo de um array.

Antes de mais, vamos criar o nosso array com os quadros que nos interessam:
$myarray = array(1, 2, 3, 4, 5, 6, 7);
Aqui adicionam a quantidade que quiserem (em PCs acho que não há limite de tamanho para os arrays).
Devem colocar o vosso array antes de:
// They didn't pick one, default to by last post descending.

Então, pegando na ideia acima de colocar mais que uma board:

// They didn't pick one, default to by last post descending.
if ((($board != xx) && ($board != yy) && ($board != zz)) && (!isset($_REQUEST['sort']) || isset($sort_methods[$_REQUEST['sort']])))

Passa a:

// They didn't pick one, default to by last post descending.
if ((!in_array($board, $myarray)) && (!isset($_REQUEST['sort']) || isset($sort_methods[$_REQUEST['sort']])))


E:

// Otherwise default to ascending.
elseif (($board != xx) && ($board != yy) && ($board != zz))


Passa a:

// Otherwise default to ascending.
elseif (!in_array($board, $myarray))


E acredito que seja isto... Mais uma vez não testado...
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

Advertisement: