diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bf027f0a..ded363a6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,7 +55,6 @@ - Fixed seed bonus accrual [\#1518](https://github.com/torrentpier/torrentpier/pull/1518) ([belomaxorka](https://github.com/belomaxorka)) - [BETA] Added emojis support 😄😁 [\#1514](https://github.com/torrentpier/torrentpier/pull/1514) ([belomaxorka](https://github.com/belomaxorka)) - Pagination with `rel="next"` and `rel="prev"` support [\#1551](https://github.com/torrentpier/torrentpier/pull/1551) ([belomaxorka](https://github.com/belomaxorka)) -- Datastore improvements [\#1538](https://github.com/torrentpier/torrentpier/pull/1538) ([belomaxorka](https://github.com/belomaxorka)) - Resize user/group avatar image if too large 🌆 [\#1512](https://github.com/torrentpier/torrentpier/pull/1512) ([belomaxorka](https://github.com/belomaxorka)) - Increased `PASSWORD_MAX_LENGTH` [\#1510](https://github.com/torrentpier/torrentpier/pull/1510) ([belomaxorka](https://github.com/belomaxorka)) - Bring back forum description in `viewforum.php` [\#1540](https://github.com/torrentpier/torrentpier/pull/1540) ([belomaxorka](https://github.com/belomaxorka)) diff --git a/admin/admin_log.php b/admin/admin_log.php index ebea96a51..3d9ef8d47 100644 --- a/admin/admin_log.php +++ b/admin/admin_log.php @@ -59,7 +59,7 @@ $def_forums = $all_forums; $def_sort = $sort_desc; // Moderators data -if (!$mod = $datastore->get('moderators') and !$datastore->has('moderators')) { +if (!$mod = $datastore->get('moderators')) { $datastore->update('moderators'); $mod = $datastore->get('moderators'); } @@ -71,7 +71,7 @@ $users = array($lang['ACTS_LOG_ALL_ACTIONS'] => $all_users) + array_flip($mod['m unset($mod); // Forums data -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/admin/admin_ug_auth.php b/admin/admin_ug_auth.php index 0fd19fff1..90c27f636 100644 --- a/admin/admin_ug_auth.php +++ b/admin/admin_ug_auth.php @@ -181,7 +181,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) { bb_die($lang['NO_SUCH_USER']); } - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -300,7 +300,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) { bb_die($lang['GROUP_NOT_EXIST']); } - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/admin/index.php b/admin/index.php index 06f8e6bf7..e91d7ef16 100644 --- a/admin/index.php +++ b/admin/index.php @@ -10,21 +10,19 @@ require __DIR__ . '/pagestart.php'; // Statistics -if (!$stats = $datastore->get('stats') and !$datastore->has('stats')) { +if (!$stats = $datastore->get('stats')) { $datastore->update('stats'); $stats = $datastore->get('stats'); } // Files integrity check -// TODO: Replace with cron update -if (!$files_integrity_data = $datastore->get('files_integrity') and !$datastore->has('files_integrity')) { +if (!$files_integrity_data = $datastore->get('files_integrity')) { $datastore->update('files_integrity'); $files_integrity_data = $datastore->get('files_integrity'); } // Check for updates -// TODO: Replace with cron update -if (!$update_data = $datastore->get('check_updates') and !$datastore->has('check_updates')) { +if (!$update_data = $datastore->get('check_updates')) { $datastore->update('check_updates'); $update_data = $datastore->get('check_updates'); } diff --git a/index.php b/index.php index 7193dbc8c..19a5c3a2f 100644 --- a/index.php +++ b/index.php @@ -65,13 +65,13 @@ $tracking_topics = get_tracks('topic'); $tracking_forums = get_tracks('forum'); // Statistics -if (!$stats = $datastore->get('stats') and !$datastore->has('stats')) { +if (!$stats = $datastore->get('stats')) { $datastore->update('stats'); $stats = $datastore->get('stats'); } // Forums data -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -173,7 +173,7 @@ if (!$cat_forums = CACHE('bb_cache')->get($cache_name)) { // Obtain list of moderators $moderators = []; -if (!$mod = $datastore->get('moderators') and !$datastore->has('moderators')) { +if (!$mod = $datastore->get('moderators')) { $datastore->update('moderators'); $mod = $datastore->get('moderators'); } @@ -321,7 +321,7 @@ if ($bb_cfg['bt_show_dl_stat_on_index'] && !IS_GUEST) { // Latest news if ($bb_cfg['show_latest_news']) { - if (!$latest_news = $datastore->get('latest_news') and !$datastore->has('latest_news')) { + if (!$latest_news = $datastore->get('latest_news')) { $datastore->update('latest_news'); $latest_news = $datastore->get('latest_news'); } @@ -340,7 +340,7 @@ if ($bb_cfg['show_latest_news']) { // Network news if ($bb_cfg['show_network_news']) { - if (!$network_news = $datastore->get('network_news') and !$datastore->has('network_news')) { + if (!$network_news = $datastore->get('network_news')) { $datastore->update('network_news'); $network_news = $datastore->get('network_news'); } diff --git a/library/ajax/change_user_rank.php b/library/ajax/change_user_rank.php index 977eb41d5..fdf31437a 100644 --- a/library/ajax/change_user_rank.php +++ b/library/ajax/change_user_rank.php @@ -13,7 +13,7 @@ if (!defined('IN_AJAX')) { global $datastore, $lang; -if (!$ranks = $datastore->get('ranks') and !$datastore->has('ranks')) { +if (!$ranks = $datastore->get('ranks')) { $datastore->update('ranks'); $ranks = $datastore->get('ranks'); } diff --git a/library/ajax/index_data.php b/library/ajax/index_data.php index 91864c5e6..d07738598 100644 --- a/library/ajax/index_data.php +++ b/library/ajax/index_data.php @@ -17,19 +17,13 @@ if (!$mode = (string)$this->request['mode']) { $this->ajax_die('invalid mode (empty)'); } -$datastore->enqueue([ - 'stats', - 'moderators', - 'cat_forums' -]); - $html = ''; switch ($mode) { case 'birthday_week': - if (!$stats = $datastore->get('stats') and !$datastore->has('stats')) { - $datastore->update('stats'); - $stats = $datastore->get('stats'); - } + $stats = $datastore->get('stats'); + $datastore->enqueue([ + 'stats' + ]); $users = []; @@ -44,10 +38,10 @@ switch ($mode) { break; case 'birthday_today': - if (!$stats = $datastore->get('stats') and !$datastore->has('stats')) { - $datastore->update('stats'); - $stats = $datastore->get('stats'); - } + $stats = $datastore->get('stats'); + $datastore->enqueue([ + 'stats' + ]); $users = []; @@ -64,12 +58,13 @@ switch ($mode) { case 'get_forum_mods': $forum_id = (int)$this->request['forum_id']; - if (!$mod = $datastore->get('moderators') and !$datastore->has('moderators')) { - $datastore->update('moderators'); - $mod = $datastore->get('moderators'); - } + $datastore->enqueue([ + 'moderators', + 'cat_forums' + ]); $moderators = []; + $mod = $datastore->get('moderators'); if (isset($mod['mod_users'][$forum_id])) { foreach ($mod['mod_users'][$forum_id] as $user_id) { diff --git a/library/includes/bbcode.php b/library/includes/bbcode.php index 1a592a022..06a8fd809 100644 --- a/library/includes/bbcode.php +++ b/library/includes/bbcode.php @@ -116,10 +116,7 @@ function generate_smilies($mode) $user->session_start(); } - if (!$data = $datastore->get('smile_replacements') and !$datastore->has('smile_replacements')) { - $datastore->update('smile_replacements'); - $data = $datastore->get('smile_replacements'); - } + $data = $datastore->get('smile_replacements'); if ($sql = $data['smile']) { $num_smilies = 0; diff --git a/library/includes/functions.php b/library/includes/functions.php index e5abd036e..49a9ddafa 100644 --- a/library/includes/functions.php +++ b/library/includes/functions.php @@ -294,7 +294,7 @@ function auth($type, $forum_id, $ug_data, array $f_access = [], $group_perm = UG // If f_access has been passed, or auth is needed to return an array of forums // then we need to pull the auth information on the given forum (or all forums) if (empty($f_access)) { - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -987,7 +987,7 @@ function make_jumpbox(): void return; } - if (!$jumpbox = $datastore->get('jumpbox') and !$datastore->has('jumpbox')) { + if (!$jumpbox = $datastore->get('jumpbox')) { $datastore->update('jumpbox'); $jumpbox = $datastore->get('jumpbox'); } @@ -1008,7 +1008,7 @@ function get_forum_select($mode = 'guest', $name = POST_FORUM_URL, $selected = n $max_length = HTML_SELECT_MAX_LENGTH; } $select = null === $all_forums_option ? [] : [$lang['ALL_AVAILABLE'] => $all_forums_option]; - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -1895,7 +1895,7 @@ function profile_url(array $data, bool $target_blank = false, bool $no_link = fa { global $bb_cfg, $lang, $datastore; - if (!$ranks = $datastore->get('ranks') and !$datastore->has('ranks')) { + if (!$ranks = $datastore->get('ranks')) { $datastore->update('ranks'); $ranks = $datastore->get('ranks'); } @@ -2131,7 +2131,7 @@ function getBanInfo(int $userId = null): ?array global $datastore; // Get bans info from datastore - if (!$bans = $datastore->get('ban_list') and !$datastore->has('ban_list')) { + if (!$bans = $datastore->get('ban_list')) { $datastore->update('ban_list'); $bans = $datastore->get('ban_list'); } diff --git a/library/includes/ucp/viewprofile.php b/library/includes/ucp/viewprofile.php index 7cdf9eb2e..a93852529 100644 --- a/library/includes/ucp/viewprofile.php +++ b/library/includes/ucp/viewprofile.php @@ -30,7 +30,7 @@ if (!$profiledata = get_userdata($_GET[POST_USERS_URL], profile_view: true)) { bb_die($lang['NO_USER_ID_SPECIFIED']); } -if (!$ranks = $datastore->get('ranks') and !$datastore->has('ranks')) { +if (!$ranks = $datastore->get('ranks')) { $datastore->update('ranks'); $ranks = $datastore->get('ranks'); } diff --git a/search.php b/search.php index 029c3a622..9dbea3532 100644 --- a/search.php +++ b/search.php @@ -104,7 +104,7 @@ $tracker_tbl = BB_BT_TRACKER . ' tr'; $users_tbl = BB_USERS . ' u'; // Cat/forum data -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/src/Censor.php b/src/Censor.php index 940337115..676efcfd9 100644 --- a/src/Censor.php +++ b/src/Censor.php @@ -41,11 +41,15 @@ class Censor } // Get censored words - if (!$censoredWords = $datastore->get('censor') and !$datastore->has('censor')) { + if (!$censoredWords = $datastore->get('censor')) { $datastore->update('censor'); $censoredWords = $datastore->get('censor'); } + if (isset($censoredWords['no_words'])) { + return; + } + foreach ($censoredWords as $word) { $this->words[] = '#(?replacements[] = $word['replacement']; diff --git a/src/Legacy/BBCode.php b/src/Legacy/BBCode.php index cd82f3788..c9b7fa0aa 100644 --- a/src/Legacy/BBCode.php +++ b/src/Legacy/BBCode.php @@ -338,8 +338,7 @@ class BBCode { global $datastore; - if (!$this->smilies = $datastore->get('smile_replacements') and !$datastore->has('smile_replacements')) { - $datastore->update('smile_replacements'); + if (null === $this->smilies) { $this->smilies = $datastore->get('smile_replacements'); } diff --git a/src/Legacy/Common/User.php b/src/Legacy/Common/User.php index 43ecd6a93..eb136e191 100644 --- a/src/Legacy/Common/User.php +++ b/src/Legacy/Common/User.php @@ -708,7 +708,7 @@ class User return ''; } - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -771,7 +771,7 @@ class User if (bf($this->opt, 'user_opt', 'user_porn_forums')) { global $datastore; - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/src/Legacy/Datastore/Common.php b/src/Legacy/Datastore/Common.php index 8de3a7d92..b3c9cbf32 100644 --- a/src/Legacy/Datastore/Common.php +++ b/src/Legacy/Datastore/Common.php @@ -79,15 +79,6 @@ class Common return $this->data[$title]; } - /** - * @param $title - * @return bool - */ - public function has($title): bool - { - return isset($this->data[$title]); - } - /** * Store data into cache * diff --git a/src/Sitemap.php b/src/Sitemap.php index 7b7e7906d..271d3455d 100644 --- a/src/Sitemap.php +++ b/src/Sitemap.php @@ -31,7 +31,7 @@ class Sitemap $forumUrls = []; - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -61,7 +61,7 @@ class Sitemap $topicUrls = []; - if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { + if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/tracker.php b/tracker.php index a588ac1c1..ed16a7443 100644 --- a/tracker.php +++ b/tracker.php @@ -333,7 +333,7 @@ if ($search_id) { } // Get allowed for searching forums list -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/viewforum.php b/viewforum.php index 12dd54e10..a1b2c3689 100644 --- a/viewforum.php +++ b/viewforum.php @@ -43,7 +43,7 @@ define('REQUESTED_PAGE', $req_page); caching_output(IS_GUEST, 'send', REQUESTED_PAGE . '_guest'); set_die_append_msg(); -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -118,7 +118,7 @@ if ($mark_read && !IS_GUEST) { // Subforums $show_subforums = $bb_cfg['sf_on_first_page_only'] ? !$start : true; -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } diff --git a/viewtopic.php b/viewtopic.php index 9aa4bf3cf..17ee4bf59 100644 --- a/viewtopic.php +++ b/viewtopic.php @@ -200,7 +200,7 @@ if ($is_auth['auth_mod']) { if ($moderation) { if (IS_ADMIN) { - if (!$forum_select = $datastore->get('viewtopic_forum_select') and !$datastore->has('viewtopic_forum_select')) { + if (!$forum_select = $datastore->get('viewtopic_forum_select')) { $datastore->update('viewtopic_forum_select'); $forum_select = $datastore->get('viewtopic_forum_select'); } @@ -212,7 +212,7 @@ if ($moderation) { $template->assign_vars(['S_FORUM_SELECT' => $forum_select_html]); } -if (!$forums = $datastore->get('cat_forums') and !$datastore->has('cat_forums')) { +if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); $forums = $datastore->get('cat_forums'); } @@ -358,7 +358,7 @@ if ($postrow = DB()->fetch_rowset($sql)) { bb_die($lang['NO_POSTS_TOPIC']); } -if (!$ranks = $datastore->get('ranks') and !$datastore->has('ranks')) { +if (!$ranks = $datastore->get('ranks')) { $datastore->update('ranks'); $ranks = $datastore->get('ranks'); }