From 2612d47d00185a49a934f4186b7c4d727d637c22 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Fri, 2 Mar 2018 20:27:22 +0100 Subject: [PATCH] Miglioramento della segnalazione bug --- bug.php | 268 ++++++++++++++++++++++--------------------------- update/2_4.sql | 6 +- 2 files changed, 125 insertions(+), 149 deletions(-) diff --git a/bug.php b/bug.php index 197bb2a15..db2fc7e73 100644 --- a/bug.php +++ b/bug.php @@ -2,39 +2,27 @@ include_once __DIR__.'/core.php'; -$pageTitle = tr('Bug'); -$jscript_modules[] = App::getPaths()['js'].'/ckeditor/ckeditor.js'; +$mail = Mail::get(); +$bug_email = 'info@openstamanager.com'; + +$user = Auth::user(); if (filter('op') == 'send') { // Preparazione email $mail = new Mail(); - // Mittente - $mail->From = $post['email_from']; - $mail->FromName = $_SESSION['username']; - $mail->AddReplyTo($post['email_from']); - // Destinatario - $mail->AddAddress($post['email_to']); + $mail->AddAddress($bug_email); - // Copia - if (!empty($post['email_cc'])) { - $mail->AddCC($post['email_cc']); - } + // Oggetto + $mail->Subject = 'Segnalazione bug OSM '.$version; - // Copia nascosta - if (!empty($post['email_bcc'])) { - $mail->AddBCC($post['email_bcc']); - } - - $mail->Subject = 'Segnalazione bug OSM '.$version.' ('.(!empty($revision) ? 'R'.$revision : tr('In sviluppo')).')'; - - // Se ho scelto di inoltrare i file di log, allego + // Aggiunta dei file di log (facoltativo) if (!empty($post['log']) && file_exists($docroot.'/logs/error.log')) { $mail->AddAttachment($docroot.'/logs/error.log'); } - // Se ho scelto di inoltrare copia del db + // Aggiunta della copia del database (facoltativo) if (!empty($post['sql'])) { $backup_file = $docroot.'/Backup OSM '.date('Y-m-d').' '.date('H_i_s').'.sql'; backup_tables($backup_file); @@ -44,11 +32,23 @@ if (filter('op') == 'send') { $_SESSION['infos'][] = tr('Backup del database eseguito ed allegato correttamente!'); } - $body = $post['body'].'

'.tr('IP').': '.get_client_ip(); + // Aggiunta delle informazioni di base sull'installazione + $infos = [ + 'Utente' => $user['username'], + 'IP' => get_client_ip(), + 'Versione OSM' => $version.' ('.(!empty($revision) ? $revision : 'In sviluppo').')', + 'PHP' => phpversion(), + ]; - // Se ho scelto di inoltrare le INFO del mio sistema + // Aggiunta delle informazioni sul sistema (facoltativo) if (!empty($post['info'])) { - $body .= $_SERVER['HTTP_USER_AGENT'].' - '.getOS(); + $infos['Sistema'] = $_SERVER['HTTP_USER_AGENT'].' - '.getOS(); + } + + // Completamento del body + $body = $post['body'].'
'; + foreach ($infos as $key => $value) { + $body .= '

'.$key.': '.$value.'

'; } $mail->Body = $body; @@ -62,6 +62,7 @@ if (filter('op') == 'send') { $_SESSION['infos'][] = tr('Email inviata correttamente!'); } + // Rimozione del dump del database if (!empty($post['sql'])) { delete($backup_file); } @@ -70,153 +71,124 @@ if (filter('op') == 'send') { exit(); } +$pageTitle = tr('Bug'); +$jscript_modules[] = App::getPaths()['js'].'/ckeditor/ckeditor.js'; + if (file_exists($docroot.'/include/custom/top.php')) { include $docroot.'/include/custom/top.php'; } else { include $docroot.'/include/top.php'; } -$email_to = Settings::get('Destinatario'); -$email_from = Settings::get('Indirizzo per le email in uscita'); - -$mail = Mail::get(); - -if (empty($email_to) || empty($email_from) || empty($mail['server'])) { +if (empty($mail['from_address']) || empty($mail['server'])) { echo ' -
- - '.tr('Attenzione!').' '.tr('Per utilizzare correttamente il modulo di segnalazione bug devi configurare alcuni parametri riguardanti le impostazione delle email').'.'; +
+ + '.tr('Attenzione!').' '.tr('Per utilizzare correttamente il modulo di segnalazione bug devi configurare alcuni parametri riguardanti le impostazione delle email').'. - if (empty($email_to) || empty($email_from)) { - echo Modules::link('Impostazioni', $dbo->fetchArray("SELECT `idimpostazione` FROM `zz_settings` WHERE sezione='Email'")[0]['idimpostazione'], tr('Correggi impostazioni'), null, 'class="btn btn-warning pull-right"'); - } - - if (empty($mail['server'])) { - echo Modules::link('Account email', $mail['id'], tr('Correggi account'), null, 'class="btn btn-warning pull-right"'); - } - - echo ' -
-
'; + '.Modules::link('Account email', $mail['id'], tr('Correggi account'), null, 'class="btn btn-warning pull-right"').' +
+
'; } echo ' -
-
-

'.tr('Segnalazione bug').'

-
+
+
+

'.tr('Segnalazione bug').'

+
-
-
- - - - - +
+ + - -
- - - +
'.tr('Da').': - {[ "type": "email", "placeholder": "'.tr('Mittente').'", "name": "email_from", "value": "'.$email_from.'", "required": 1 ]} -
'.tr('A').': - {[ "type": "email", "placeholder": "'.tr('Destinatario').'", "name": "email_to", "value": "'.$email_to.'", "required": 1 ]} -
+ + + + - - - - - + + + + + - - - - - + + + + + +
'.tr('Da').':'.$mail['from_address'].'
'.tr('Cc').': - {[ "type": "email", "placeholder": "'.tr('Copia a').'...", "name": "email_cc" ]} -
'.tr('A').':'.$bug_email.'
'.tr('Bcc').': - {[ "type": "email", "placeholder": "'.tr('Copia nascosta a').'...", "name": "email_bcc" ]} -
'.tr('Versione OSM').':'.$version.' ('.(!empty($revision) ? $revision : tr('In sviluppo')).')
- - - '.tr('Versione OSM').': - - - {[ "type": "span", "placeholder": "'.tr('Versione OSM').'", "value": "'.$version.' ('.(!empty($revision) ? $revision : tr('In sviluppo')).')" ]} - - - - -
-
- {[ "type": "checkbox", "placeholder": "'.tr('Allega file di log').'", "name": "log", "value": "1" ]} -
- -
- {[ "type": "checkbox", "placeholder": "'.tr('Allega copia del database').'", "name": "sql", "value": "0", "extra":"'.((!$user['is_admin']) ? 'readonly' : '').'" ]} -
- -
- {[ "type": "checkbox", "placeholder": "'.tr('Allega informazioni sul PC').'", "name": "info", "value": "1" ]} -
-
- -
-
- - {[ "type": "textarea", "label": "'.tr('Descrizione del bug').'", "name": "body" ]} - - -
-
- -
+
+
+ {[ "type": "checkbox", "placeholder": "'.tr('Allega file di log').'", "name": "log", "value": "1" ]}
- -
-
- '; +'; if (file_exists($docroot.'/include/custom/bottom.php')) { include $docroot.'/include/custom/bottom.php'; diff --git a/update/2_4.sql b/update/2_4.sql index 0154127d4..88702470f 100644 --- a/update/2_4.sql +++ b/update/2_4.sql @@ -278,6 +278,10 @@ INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable -- apilayer API key (per validazione piva) INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES (NULL, 'apilayer API key for VAT number', '', 'string', '1', 'Generali'); --- -- Aggiorno query modulo movimenti per ordinarli in funzione della data del movimento UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_movimenti` JOIN `mg_articoli` ON `mg_articoli`.id = `mg_movimenti`.`idarticolo` WHERE 1=1 HAVING 2=2 ORDER BY `Data` DESC' WHERE `zz_modules`.`name` = 'Movimenti'; + +-- Rimozione impostazioni inutilizzate +DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Indirizzo per le email in uscita'; +DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Destinatario'; +DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Destinatario fisso in copia (campo CC)';