Projeto

Geral

Perfil

Defeito #264

Erro ao obter quota de email

Adicionado por Mauricio Luiz Viani mais de 6 anos atrás. Atualizado mais de 6 anos atrás.

Situação:
Fechada
Prioridade:
Normal
Atribuído para:
Categoria:
ExpressoMail
Início:
16/04/2018
Data prevista:
% Terminado:

100%


Descrição

Corrigir o seguinte Php Warning:

imap_get_quotaroot(): c-client imap_getquotaroot failed in /var/www/expresso/expressoMail1_2/inc/class.imap_functions.inc.php on line 3283, referer: https://expresso.pr.gov.br/expressoMail1_2/index.php

Revisões associadas

Revisão bf0405d1
Adicionado por Mauricio Luiz Viani mais de 6 anos atrás

Issue #264 - Ocultação de warning no imap_get_quotaroot

Histórico

#1 Atualizado por Mauricio Luiz Vianimais de 6 anos

  • Versão alterado de Expresso Livre - Milestone 18 para Expresso Livre - Milestone 19

#2 Atualizado por Mauricio Luiz Vianimais de 6 anos

  • Versão alterado de Expresso Livre - Milestone 19 para Expresso Livre - Milestone 20

#3 Atualizado por Mauricio Luiz Vianimais de 6 anos

Foi aplicado o seguinte patch em produção para capturar dados do erro:

diff --git a/expressoMail1_2/inc/class.imap_functions.inc.php b/expressoMail1_2/inc/class.imap_functions.inc.php
index 350d948..85e1d72 100755
--- a/expressoMail1_2/inc/class.imap_functions.inc.php
+++ b/expressoMail1_2/inc/class.imap_functions.inc.php
@@ -3303,12 +3303,21 @@ class imap_functions
         if(!$this->mbox || !is_resource($this->mbox))
             $this->mbox = $this->open_mbox();

-        $quota = imap_get_quotaroot( $this->mbox, $folder_id );
+        try {
+            $quota = imap_get_quotaroot( $this->mbox, $folder_id );
+        } catch ( Exception $e ) {
+            error_log(print_r($e->getMessage(), true) . PHP_EOL, 3, '/tmp/log_imap_get_quotaroot.log');
+            error_log(print_r($this->mbox, true) . PHP_EOL, 3, '/tmp/log_imap_get_quotaroot.log');
+            error_log(print_r($folder_id, true) . PHP_EOL, 3, '/tmp/log_imap_get_quotaroot.log');
+            error_log(print_r($this->fullNameUser, true) . PHP_EOL, 3, '/tmp/log_imap_get_quotaroot.log');
+            error_log(print_r("-------", true) . PHP_EOL, 3, '/tmp/log_imap_get_quotaroot.log');
+        }
+
         if ( $this->mbox && is_resource( $this->mbox ) ) $this->close_mbox( $this->mbox );
-        
+
         // Auto raise to default user quota, configured in expressoAdmin
         if (
-            ( isset($_SESSION['phpgw_info']['expresso']['expressoAdmin']['expressoAdmin_autoRaiseQuota']) && 
+            ( isset($_SESSION['phpgw_info']['expresso']['expressoAdmin']['expressoAdmin_autoRaiseQuota']) &&
                 $_SESSION['phpgw_info']['expresso']['expressoAdmin']['expressoAdmin_autoRaiseQuota'] === 'true' ) &&
             ( isset( $quota['limit'] ) ) &&
             ( $quota['limit'] < (

#4 Atualizado por Mauricio Luiz Vianimais de 6 anos

  • Situação alterado de Nova para Resolvida
  • % Terminado alterado de 0 para 80

#5 Atualizado por Mauricio Luiz Vianimais de 6 anos

  • % Terminado alterado de 80 para 100
  • Situação alterado de Resolvida para Fechada
  • Atribuído para ajustado para Mauricio Luiz Viani

O try ... catch foi deixado em funcionamento por dois dias e não pegou nenhum warning. Consultando no log não apareceu mais nenhuma ocorrência da mensagem.

Exportar para Atom PDF