From c8acc4b02ec582ad5ba76d9c41940f55feba82d3 Mon Sep 17 00:00:00 2001 From: Yuriy Pikhtarev Date: Thu, 15 Jun 2017 00:41:45 +0300 Subject: [PATCH] Fix some notices in admin panel reported by BugSnag. --- admin/admin_rebuild_search.php | 29 ++++++++++++---- admin/admin_user_search.php | 63 +++++++++++++++++----------------- common.php | 22 ++++++------ composer.json | 3 +- library/config.php | 6 ++-- 5 files changed, 71 insertions(+), 52 deletions(-) diff --git a/admin/admin_rebuild_search.php b/admin/admin_rebuild_search.php index e246d5abd..a688edb72 100644 --- a/admin/admin_rebuild_search.php +++ b/admin/admin_rebuild_search.php @@ -294,8 +294,16 @@ if ($mode == 'submit' || $mode == 'refresh') { } // calculate the percent - $session_percent = ($session_posts_processed / $session_posts_processing) * 100; - $total_percent = ($total_posts_processed / $total_posts) * 100; + if ($session_posts_processing > 0) { + $session_percent = ($session_posts_processed / $session_posts_processing) * 100; + } else { + $session_percent = 100; + } + if ($total_posts > 0) { + $total_percent = ($total_posts_processed / $total_posts) * 100; + } else { + $total_percent = 100; + } // get the db sizes list($search_data_size, $search_index_size, $search_tables_size) = get_db_sizes(); @@ -310,7 +318,11 @@ if ($mode == 'submit' || $mode == 'refresh') { // calculate various times $session_time = $last_session_data['session_time']; - $session_average_cycle_time = round($session_time / $last_session_data['session_cycles']); + if ($last_session_data['session_cycles'] > 0) { + $session_average_cycle_time = round($session_time / $last_session_data['session_cycles']); + } else { + $session_average_cycle_time = 0; + } $session_estimated_time = round($session_time * (100 / $session_percent)) - $session_time; // create the percent boxes @@ -333,8 +345,8 @@ if ($mode == 'submit' || $mode == 'refresh') { 'LAST_CYCLE_TIME' => delta_time(TIMENOW), 'SESSION_TIME' => delta_time($last_session_data['start_time']), - 'SESSION_AVERAGE_CYCLE_TIME' => delta_time($session_average_cycle_time, 0), - 'SESSION_ESTIMATED_TIME' => delta_time($session_estimated_time, 0), + 'SESSION_AVERAGE_CYCLE_TIME' => delta_time((int)$session_average_cycle_time, 0), + 'SESSION_ESTIMATED_TIME' => delta_time((int)$session_estimated_time, 0), 'SEARCH_TABLES_SIZE' => humn_size($search_tables_size), 'FINAL_SEARCH_TABLES_SIZE' => humn_size($final_search_tables_size), @@ -516,8 +528,13 @@ function get_total_posts($mode = 'after', $post_id = 0) } $row = DB()->fetch_row($sql); + $totalPosts = (int)$row['total_posts']; - return (int)$row['total_posts']; + if ($totalPosts < 0) { + return 0; + } + + return $totalPosts; } function clear_search_tables($mode = '') diff --git a/admin/admin_user_search.php b/admin/admin_user_search.php index 947365f1f..6dca052a9 100644 --- a/admin/admin_user_search.php +++ b/admin/admin_user_search.php @@ -811,47 +811,48 @@ if (!isset($_REQUEST['dosearch'])) { $select_sql .= ' ORDER BY '; - switch (strtolower($_GET['sort'])) { - case 'regdate': - $sort = 'regdate'; - $select_sql .= 'u.user_regdate'; - break; + if (isset($_GET['sort'])) { + switch (strtolower($_GET['sort'])) { + case 'regdate': + $sort = 'regdate'; + $select_sql .= 'u.user_regdate'; + break; - case 'posts': - $sort = 'posts'; - $select_sql .= 'u.user_posts'; - break; + case 'posts': + $sort = 'posts'; + $select_sql .= 'u.user_posts'; + break; - case 'user_email': - $sort = 'user_email'; - $select_sql .= 'u.user_email'; - break; + case 'user_email': + $sort = 'user_email'; + $select_sql .= 'u.user_email'; + break; - case 'lastvisit': - $sort = 'lastvisit'; - $select_sql .= 'u.user_lastvisit'; - break; + case 'lastvisit': + $sort = 'lastvisit'; + $select_sql .= 'u.user_lastvisit'; + break; - case 'username': - default: - $sort = 'username'; - $select_sql .= 'u.username'; + case 'username': + $sort = 'username'; + $select_sql .= 'u.username'; + } + } else { + $sort = 'username'; + $select_sql .= 'u.username'; } - switch ($_GET['order']) { - case 'DESC': - $order = 'DESC'; - $o_order = 'ASC'; - break; - - default: - $o_order = 'DESC'; - $order = 'ASC'; + if (isset($_GET['order'])) { + $o_order = 'ASC'; + $order = 'DESC'; + } else { + $o_order = 'DESC'; + $order = 'ASC'; } $select_sql .= " $order"; - $page = isset($_GET['page']) ? (int)$_GET['page'] : (int)trim($_POST['page']); + $page = isset($_GET['page']) ? (int)$_GET['page'] : 0; if ($page < 1) { $page = 1; diff --git a/common.php b/common.php index 7bed15a72..00b0466a5 100644 --- a/common.php +++ b/common.php @@ -151,17 +151,17 @@ define('BOT_UID', -746); /** * Progressive error reporting */ -if (DBG_USER) { - if ($bb_cfg['bugsnag']['enabled'] && !empty($bb_cfg['bugsnag']['api_key'])) { - /** @var Bugsnag\Handler $bugsnag */ - $bugsnag = Bugsnag\Client::make($bb_cfg['bugsnag']['api_key']); - Bugsnag\Handler::register($bugsnag); - } else { - /** @var Whoops\Run $whoops */ - $whoops = new \Whoops\Run; - $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); - $whoops->register(); - } +if ($bb_cfg['bugsnag']['enabled'] && env('APP_ENV', 'production') !== 'local') { + /** @var Bugsnag\Handler $bugsnag */ + $bugsnag = Bugsnag\Client::make($bb_cfg['bugsnag']['api_key']); + Bugsnag\Handler::register($bugsnag); +} + +if (DBG_USER && env('APP_ENV', 'production') === 'local') { + /** @var Whoops\Run $whoops */ + $whoops = new \Whoops\Run; + $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); + $whoops->register(); } /** diff --git a/composer.json b/composer.json index bfadf024e..59dfa135b 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,8 @@ "rych/bencode": "^1.0", "samdark/sitemap": "^2.0", "swiftmailer/swiftmailer": "^5.4", - "symfony/dotenv": "^3.3" + "symfony/dotenv": "^3.3", + "symfony/var-dumper": "^3.3" }, "autoload": { "psr-4": { diff --git a/library/config.php b/library/config.php index 79392e587..a9a7443a6 100644 --- a/library/config.php +++ b/library/config.php @@ -36,8 +36,8 @@ $bb_cfg = []; $bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1; // Version info -$bb_cfg['tp_version'] = '2.2.0'; -$bb_cfg['tp_release_date'] = '12-06-2017'; +$bb_cfg['tp_version'] = '2.2.1'; +$bb_cfg['tp_release_date'] = '16-06-2017'; $bb_cfg['tp_release_codename'] = 'Aurochs'; // Database @@ -390,7 +390,7 @@ $bb_cfg['reg_email_activation'] = true; // Требовать активацию $bb_cfg['emailer'] = [ 'enabled' => true, 'smtp' => [ - 'enabled' => true, // send email via external SMTP server + 'enabled' => false, // send email via external SMTP server 'host' => '', // SMTP server host 'port' => 25, // SMTP server port 'username' => '', // SMTP username (if server requires it)