Desenvolver um corte para uma instalação do vBulletin

Desenvolver um Hack
Neste artigo nós estaremos olhando como você ir sobre como desenvolver um hack para uma instalação vBulletin. Sendo baseado na linguagem PHP e MySQL em infra-estrutura de banco de dados faz vBulletin muito versátil, então nós estamos indo ter que limitar nosso escopo. Quase qualquer coisa que você gostaria de fazer com vBulletin é possível se você souber como alavanca para PHP e MySQL!
Em particular, vamos olhar para:
• How to hack um fórum de discussão, alterando um dos arquivos de modelo
• Como distribuir um hack por outros programadores dando instruções claras sobre as mudanças de código
Hacking vBulletin
Vamos dar uma olhada em como criar uma vBulletin hack. O truque que vamos estar desenvolvendo aqui está uma que permite controlar a forma como lida com as receitas vBulletin mensagem privada. Como vimos no artigo 3 º, mensagens privadas, conhecido como PMs, são mensagens que um membro pode enviar para outro membro do conselho.

  

Os tipos de mensagem de um membro para a janela de mensagem privada e depois clica no SubmitMessagebutton.
O destinatário pode recolher a mensagem que a próxima vez que entrar em (ou, se já estiver conectado, a próxima vez que solicitar uma nova página da placa).
Mas há uma característica que parece incomodar alguns membros (especialmente se for uma placa popular onde os membros fazem um monte de utilização do mecanismo de PM). Esta é a característica de confirmação de leitura. Quando um PM é submetido, uma caixa de mensagem é exibida perguntando se o remetente que deseja solicitar um recibo de leitura.

Os recibos de leitura são um recurso útil, mas o problema é a caixa de mensagem exibida pessoas acham que fica no caminho e muitas vezes eles não vão querer enviar um recibo de leitura a cada mensagem. Você como administrador pode fazer algo sobre isso, você pode cortar sua instalação vBulletin dar a seus membros um maior controle sobre como recibos de leitura são manipulados.
Você tem o poder ...
... Para mensagens privadas desabilitar confirmações de leitura completamente. No menu do lado esquerdo na AdminCP, clique sobre Usergroupsfollowed por Usergroup Manager. Então, para cada grupo de usuários que você não quer ter este recurso, clique em editusergroup e definir canuse Trackingand CanDeny Mensagem Privada MessageReadReceipt Requestto Não. Isso, no entanto, vai eliminar a possibilidade de membros para solicitar um recibo de leitura. Seria muito melhor do que simplesmente a mudança como funciona o pedido.

Fazer as alterações
Vamos agora trabalhar através de como fazer este hack possível. Há uma alteração de código que você precisa fazer para uma vBulletin modelo. Se as coisas vão mal, você já sabe como reverter os modelos de volta ao seu estado original. Contanto que você tomar cuidado e seguir o código aqui com cuidado, tudo vai correr bem. Mas mantenha sempre um backup para o caso!
Localizando o Template
No menu do lado esquerdo do AdminCP, clique em Estilos & Templates para expandi-lo e, em seguida, clique em Gestor de Estilos.

Isso traz a Managerpage Style no lado direito da tela do lado direito. Clique no botão marcado <<>> para expandir a janela de modelo.

Agora você precisa clicar no botão de novo marcado <<>> mais abaixo na página para ampliar todos os modelos, de modo a encontrar o que você está procurando.

Na janela de rolagem, trabalhar sua maneira para baixo até chegar a um modelo chamado pm_newpm. Dê um duplo clique no link para abrir o modelo.

Hacking a pm_newpm Template
Agora você pode fazer algumas mudanças para este modelo. Estas alterações envolvem removendo o código de registro que faz com que o prompt apareça e adicionar um novo código que fornece uma opção para que o remetente pode pedir um recibo de leitura, se eles querem um.
A primeira coisa que você precisa fazer é localizar o seguinte segmento de código JavaScript no modelo:
else if (formname.dopreview! = true)
(

if (confirm ( "$ vbphrase [request_receipt_for_message]"))
(
formname.receipt.value = 1;
)

)
Você precisa remover esta seção de código. Ao invés de excluí-lo completamente é muito melhor apenas para comentar o código, adicionando / e um espaço para o início de cada linha do script:
/ / Else if (formname.dopreview! = True)
/ / (
e assim por diante.
Enquanto estiver fazendo isso, é uma boa idéia para adicionar uma nota para que mais tarde você será lembrado depois por que você comentou it out!
/ / Begin PM recibo de leitura hack
/ / Else if (formname.dopreview! = True)
/ / (

/ /)
/ / End PM recibo de leitura hack

Em seguida, dentro do mesmo modelo, encontrar este segmento de código:

(Este será em uma longa fila, por isso pode ser bastante difícil de encontrar.) Comente esta fora também. Desde que este é HTML, comentá-lo, colocando em torno da linha. Novamente, é sábio para adicionar comentários ao código para lembrá-lo porque você removeu a linha:




Em seguida, procure o seguinte segmento de código:




Ao localizá-lo, você precisa adicionar abaixo da seguinte forma (lembrando-se novamente para adicionar os comentários):






Agora que você já fez as modificações no código, você pode salvá-lo clicando no botão Salvar.
Testando o Hack
O teste é simples, tente enviar uma PM! Quando você está na janela de mensagem privada, você vai ver a nova caixa de seleção que lhe permite especificar que você quer um recibo de leitura para a mensagem que você enviar. Experimente um par de ensaios, um com um pedido de confirmação de leitura e outra sem, apenas para se certificar de que todas as obras.

Em seguida, dentro do mesmo modelo, encontrar este segmento de código:

(Este será em uma longa fila, por isso pode ser bastante difícil de encontrar.) Comente esta fora também. Desde que este é HTML, comentá-lo, colocando em torno da linha. Novamente, é sábio para adicionar comentários ao código para lembrá-lo porque você removeu a linha:




Em seguida, procure o seguinte segmento de código:




Ao localizá-lo, você precisa adicionar abaixo da seguinte forma (lembrando-se novamente para adicionar os comentários):






Agora que você já fez as modificações no código, você pode salvá-lo clicando no botão Salvar.
Testando o Hack
O teste é simples, tente enviar uma PM! Quando você está na janela de mensagem privada, você vai ver a nova caixa de seleção que lhe permite especificar que você quer um recibo de leitura para a mensagem que você enviar. Experimente um par de ensaios, um com um pedido de confirmação de leitura e outra sem, apenas para se certificar de que todas as obras.

Distribuição Hack
Então, agora você tem um hack e quer torná-lo disponível para outras pessoas. A pergunta é, como você faz isso? O contrato de licença impede de distribuir todo modelos, e mesmo assim, você está apenas fazendo pequenas mudanças no modelo isso é bobagem para levar as pessoas a substituir o código que se inalterado.
A melhor maneira de distribuir hacks está na forma de instruções claras de que os outros podem facilmente seguir. Há muitas maneiras de fazer isso, mas o seguinte é um exemplo de uma forma que seja clara e direta.
MODIFICAÇÃO - PM recibo de leitura CHECKBOX Versão 1.0.2
-------------------------------------------------- ---
Open pm_newpm TEMPLATE
Encontrar e apagar / COMMENT OUT:
else if (formname.dopreview! = true)
(

if (confirm ( "$ vbphrase [request_receipt_for_message]"))
(
formname.receipt.value = 1;
)

)
Encontrar e apagar / COMMENT OUT:

Pesquisar:




Abaixo código ADD:



SAVE pm_newpm e fechar.
Modificação de teste.
FIM DE MODIFICAÇÃO

Com este hack precisávamos apenas para modificar templates, mas há momentos em que você precisa para documentar as edições para as configurações ou até mesmo para arquivos atuais do PHP. Alterações de configurações podem ser documentadas, especificando o menu de navegação e a alteração da configuração final.

Admin CP -> Grupos -> Grupo de Usuários Manager -> Edit Usergroup
Set "pode usar o controle de mensagens"
e "Can Deny mensagem particular a solicitação de confirmação de leitura" para "Não".
A modificação no arquivo PHP que vimos no artigo 4 º também pode ser documentado da seguinte maneira:
MODIFICAÇÃO PAYPAL Versão 1.0.2
---------------------------------
Open inclui \ functions_subscriptions.php
Pesquisar:

Substituir por:

Salve e carregue
Modificação de teste.
FIM DE MODIFICAÇÃO
-------------------
Dicas para Hack Distribuição
Aqui estão algumas dicas que tornam mais fácil a distribuição de código para você e para a pessoa seguir as instruções:
1. Hacks testar exaustivamente. Se possível, testá-los em uma instalação de teste do vBulletin antes de fazer alterações em sua diretoria em exercício.
2. Seja específico quanto à qual o ficheiro ou modelo requer a modificação.
3. Substitua linhas inteiras de código don't mess sobre a tentativa de explicar o que pouco a linha de evolução das necessidades.
4. Sinta-se livre para adicionar comentários ao código que você incluir. Isto irá facilitar a vida da pessoa com as instruções, mas também a granel para fora de seu código.
5. Seja claro quanto ao código que você deseja que o usuário a encontrar e que eles deverão, então, fazer com ele (por exemplo, substituí-lo com um código diferente ou acrescentar algo acima ou abaixo dele). Tenha o cuidado de verificar se o código que você deseja que o usuário pesquise não é repetido em outras partes do arquivo. Se este for o caso, então, ser mais específico e exibir mais de uma linha de código.
6. Não use esses números de linha pode mudar com as atualizações para o software. Além disso, qualquer alteração de código (ou outros hacks) acima da linha fará com que os números de linha para estar errado.
7. Certifique-se de que você dê o nome adequado para o modelo ou arquivo PHP que você quer editar. No caso de arquivos PHP, incluir o caminho dentro da instalação do vBulletin.

8. Mantenha os números de versão atualizada. Se você fizer uma pequena alteração no código (para corrigir um erro dizer ou fazer uma pequena modificação), em seguida, alterar o número de versão menor (digamos, de 1.0.2 a 1.0.3). Para grandes mudanças ou alterações que permitem que o código de trabalho para uma nova versão do vBulletin, alterar o número da versão principal (digamos, de 1.0.4 a 2.0.0).

um artigo submetido por Linda Gould


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Desenvolvimento de um corte para uma instalação vBulletin" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 446 users browsing the articles directory