Essa pergunta me deixou perplexo por um longo tempo. Meses atrás, não consegui encontrar a resposta e acabei de editar /usr/local/cpanel/base/horde/imp/config/mime_drivers.php
, alterando especificamente a seção:
$mime_drivers['imp']['html'] = array(
'inline' => false,
para:
$mime_drivers['imp']['html'] = array(
'inline' => true,
Como eu temia, toda vez que o cPanel atualizasse o Horde, essa alteração seria perdida e meus usuários reclamariam. Agora, acredito que encontrei uma solução. (No entanto, a Horda ainda não foi atualizada, por isso não tenho certeza se isso funciona).
Após a inclusão imp/config/mime_drivers.php
, o Horde procurará um diretório imp/config/mime_drivers.d/
e, se encontrado, include()
todos os arquivos que terminam .php
nesse diretório. Esse diretório não existe no cPanel; portanto, ele pode ser criado sem medo de ser substituído .
O arquivo /usr/local/cpanel/src/3rdparty/gpl/README-horde
contém detalhes sobre como o cPanel atualiza o Horde, bem como instruções sobre como personalizar o Horde. Alguns trechos relevantes desse arquivo fornecem pistas sobre como fazer as personalizações que eu queria permanentemente:
Durante a fase de manutenção de / scripts / upcp e / scripts / maintenance, o script de webmail encontrado em / usr / local / cpanel / install / webmail é executado. Por sua vez, executa / usr / local / cpanel / bin / update-horde. A seguir, é apresentado um resumo das etapas que o update-horde executa:
- A instalação do Horde é limpa (rm -rf / usr / local / cpanel / base / horde).
- Usando a versão especificada em update-horde, o tarball de origem da Horde apropriado será extraído para / usr / local / cpanel / base.
[...]
Depois de determinar qual tarball usar na instalação de origem e extraí-la, o script update-horde verifica o seguinte:
o /var/cpanel/horde/overlay.tar
o /var/cpanel/horde/overlay.tar.gz
o /var/cpanel/horde/overlay.$hordever.tar
o /var/cpanel/horde/overlay.$hordever.tar.gz
Como nos tarballs anteriores, o valor de $ hordever deve corresponder ao que está definido no script update-horde. O tarball de sobreposição fornece uma maneira simples de personalizar aspectos específicos da Horda. Por exemplo, certos gráficos, temas, módulos, plugins e similares podem ser fornecidos como uma sobreposição. Como é extraído em / usr / local / cpanel / base, o conteúdo do tarball deve corresponder ao layout do diretório encontrado em / usr / local / cpanel / base / horde.
A partir deste arquivo, pude descobrir as seguintes etapas para substituir a configuração de exibição HTML embutida:
tl; dr: aqui estão os passos:
Em um diretório temporário, crie a horde/imp/config/mime_drivers.d/
estrutura de diretórios que o cPanel espera:
mkdir -p /tmp/horde/imp/config/mime_drivers.d
Crie um arquivo de substituição nesse novo diretório. Eu nomeei o meu, html.php
mas você pode nomear o que quiser, desde que termine em.php
Insira o seguinte conteúdo em /tmp/horde/imp/config/mime_drivers.d/html.php
:
<?php
/**
* HTML driver settings
*/
$mime_drivers['imp']['html'] = array(
'inline' => true,
'handles' => array(
'text/html'
),
'icons' => array(
'default' => 'html.png'
),
/* If you don't want to display the link to open the HTML content in a
* separate window, set the following to false. */
'external' => true,
/* Run 'tidy' on all HTML output? This requires at least version 2.0 of the
* PECL 'tidy' extension to be installed on your system. */
'tidy' => false,
/* Check for phishing exploits? */
'phishing_check' => true
);
Crie uma .tar.gz
versão do /tmp/horde
diretório em /var/cpanel/horde/overlay.tar.gz
:
cd /tmp
tar -czvf /var/cpanel/horde/overlay.tar.gz horde
Esse arquivo deve ser expandido pelo cPanel toda vez que o Horde for atualizado, adicionando novamente a substituição da sua configuração.
Mova o /tmp/horde/imp/config/mime_drivers.d/
para o lugar:
mv /tmp/horde/imp/config/mime_drivers.d /usr/local/cpanel/base/horde/imp/config/
Entre na Horda para testar.