From 94cb6ab73c39d6a25f2861f985ccb2f8a291978c Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Sat, 23 Dec 2023 14:20:06 +0700 Subject: [PATCH] Minor improvements (#1253) * Minor improvements * Update .gitignore * Update admin_smilies.php * Update CHANGELOG.md --- .gitignore | 1 + CHANGELOG.md | 2 +- admin/admin_smilies.php | 36 +++++++++++++++---------------- library/attach_mod/displaying.php | 16 +++++++------- src/Legacy/Attach.php | 12 ++--------- src/Legacy/Common/Upload.php | 16 ++++---------- 6 files changed, 33 insertions(+), 50 deletions(-) diff --git a/.gitignore b/.gitignore index b3f6e9a7a..7a09326f6 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ vendor *.zip *.7z *.torrent +*.pak ### Windows ### Thumbs.db diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ba4716b3..f5c450c77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ - search.php parameter sanitizing [\#1213](https://github.com/torrentpier/torrentpier/pull/1213) ([kovalensky](https://github.com/kovalensky), [belomaxorka](https://github.com/belomaxorka)) - Limit execution time for forum file-listing [\#1211](https://github.com/torrentpier/torrentpier/pull/1211) ([kovalensky](https://github.com/kovalensky), [belomaxorka](https://github.com/belomaxorka)) - Some reported bugfixes [\#1214](https://github.com/torrentpier/torrentpier/pull/1214) ([belomaxorka](https://github.com/belomaxorka)) -- Minor improvements [\#1215](https://github.com/torrentpier/torrentpier/pull/1215), [\#1217](https://github.com/torrentpier/torrentpier/pull/1217), [\#1219](https://github.com/torrentpier/torrentpier/pull/1219), [\#1220](https://github.com/torrentpier/torrentpier/pull/1220), [\#1224](https://github.com/torrentpier/torrentpier/pull/1224), [\#1228](https://github.com/torrentpier/torrentpier/pull/1228), [\#1229](https://github.com/torrentpier/torrentpier/pull/1229), [\#1230](https://github.com/torrentpier/torrentpier/pull/1230), [\#1234](https://github.com/torrentpier/torrentpier/pull/1234), [\#1236](https://github.com/torrentpier/torrentpier/pull/1236), [\#1243](https://github.com/torrentpier/torrentpier/pull/1243), [\#1248](https://github.com/torrentpier/torrentpier/pull/1248) ([belomaxorka](https://github.com/belomaxorka)) +- Minor improvements [\#1215](https://github.com/torrentpier/torrentpier/pull/1215), [\#1217](https://github.com/torrentpier/torrentpier/pull/1217), [\#1219](https://github.com/torrentpier/torrentpier/pull/1219), [\#1220](https://github.com/torrentpier/torrentpier/pull/1220), [\#1224](https://github.com/torrentpier/torrentpier/pull/1224), [\#1228](https://github.com/torrentpier/torrentpier/pull/1228), [\#1229](https://github.com/torrentpier/torrentpier/pull/1229), [\#1230](https://github.com/torrentpier/torrentpier/pull/1230), [\#1234](https://github.com/torrentpier/torrentpier/pull/1234), [\#1236](https://github.com/torrentpier/torrentpier/pull/1236), [\#1243](https://github.com/torrentpier/torrentpier/pull/1243), [\#1248](https://github.com/torrentpier/torrentpier/pull/1248), [\#1253](https://github.com/torrentpier/torrentpier/pull/1253) ([belomaxorka](https://github.com/belomaxorka)) - Fixed extensions issue [\#1218](https://github.com/torrentpier/torrentpier/pull/1218) ([belomaxorka](https://github.com/belomaxorka)) - Fixed broken sorting in group.php [\#1221](https://github.com/torrentpier/torrentpier/pull/1221) ([belomaxorka](https://github.com/belomaxorka)) - Code re-formatting [\#1225](https://github.com/torrentpier/torrentpier/pull/1225) ([kovalensky](https://github.com/kovalensky)) diff --git a/admin/admin_smilies.php b/admin/admin_smilies.php index 48208ee01..e44a51cb8 100644 --- a/admin/admin_smilies.php +++ b/admin/admin_smilies.php @@ -22,27 +22,25 @@ if (isset($_POST['mode']) || isset($_GET['mode'])) { $mode = ''; } +$pathToSmilesDir = BB_ROOT . $bb_cfg['smilies_path']; $delimeter = '=+:'; $s_hidden_fields = ''; -$smiley_paks = []; +$smiley_paks = $smiley_images = []; -// Read a listing of uploaded smilies for use in the add or edit smliey code -$dir = opendir(BB_ROOT . $bb_cfg['smilies_path']); +// Read a listing of uploaded smiles +$smilesDirectory = new DirectoryIterator($pathToSmilesDir); -while ($file = @readdir($dir)) { - if (!is_dir(realpath(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file))) { - $img_size = getimagesize(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file); - - if ($img_size[0] && $img_size[1]) { - $smiley_images[] = $file; - } elseif (preg_match('/.pak$/i', $file)) { - $smiley_paks[] = $file; +foreach ($smilesDirectory as $files) { + if ($files->isFile()) { + $extension = strtolower(pathinfo($files->getFilename(), PATHINFO_EXTENSION)); + if (in_array($extension, ['png', 'gif'], true) && getimagesize($pathToSmilesDir . '/' . $files->getFilename())) { + $smiley_images[] = $files->getFilename(); + } else if ($extension === 'pak') { + $smiley_paks[] = $files->getFilename(); } } } -closedir($dir); - // Select main mode if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) { $smile_pak = (string)request_var('smile_pak', ''); @@ -71,7 +69,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) { } } - $fcontents = file(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smile_pak); + $fcontents = file($pathToSmilesDir . '/' . $smile_pak); if (empty($fcontents)) { bb_die('Could not read smiley pak file'); @@ -167,11 +165,11 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) { $template->assign_vars([ 'TPL_SMILE_EDIT' => true, - 'SMILEY_IMG' => BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smiley_images[0], + 'SMILEY_IMG' => $pathToSmilesDir . '/' . $smiley_images[0], 'S_SMILEY_ACTION' => 'admin_smilies.php', 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_FILENAME_OPTIONS' => $filename_list, - 'S_SMILEY_BASEDIR' => BB_ROOT . $bb_cfg['smilies_path'] + 'S_SMILEY_BASEDIR' => $pathToSmilesDir ]); } elseif ($mode != '') { switch ($mode) { @@ -217,11 +215,11 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) { 'TPL_SMILE_EDIT' => true, 'SMILEY_CODE' => $smile_data['code'], 'SMILEY_EMOTICON' => $smile_data['emoticon'], - 'SMILEY_IMG' => BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smiley_edit_img, + 'SMILEY_IMG' => $pathToSmilesDir . '/' . $smiley_edit_img, 'S_SMILEY_ACTION' => 'admin_smilies.php', 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_FILENAME_OPTIONS' => $filename_list, - 'S_SMILEY_BASEDIR' => BB_ROOT . $bb_cfg['smilies_path'] + 'S_SMILEY_BASEDIR' => $pathToSmilesDir ]); break; @@ -308,7 +306,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) { $template->assign_block_vars('smiles', [ 'ROW_CLASS' => $row_class, - 'SMILEY_IMG' => BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smilies[$i]['smile_url'], + 'SMILEY_IMG' => $pathToSmilesDir . '/' . $smilies[$i]['smile_url'], 'CODE' => $smilies[$i]['code'], 'EMOT' => $smilies[$i]['emoticon'], diff --git a/library/attach_mod/displaying.php b/library/attach_mod/displaying.php index 210294fe2..6c7905645 100644 --- a/library/attach_mod/displaying.php +++ b/library/attach_mod/displaying.php @@ -275,18 +275,18 @@ function display_attachments($post_id) } if ($thumbnail) { - // Get the thumbnail image - $thumbnail_filename = $upload_dir . '/' . THUMB_DIR . '/t_' . basename($attachments['_' . $post_id][$i]['physical_filename']); - - // Checks the thumbnail existence - if (!is_file($thumbnail_filename)) { - continue; - } - // Images, but display Thumbnail if ($attach_config['upload_dir'][0] == '/' || ($attach_config['upload_dir'][0] != '/' && $attach_config['upload_dir'][1] == ':')) { $thumb_source = BB_ROOT . DL_URL . $attachments['_' . $post_id][$i]['attach_id'] . '&thumb=1'; } else { + // Get the thumbnail image + $thumbnail_filename = $upload_dir . '/' . THUMB_DIR . '/t_' . basename($attachments['_' . $post_id][$i]['physical_filename']); + + // Checks the thumbnail existence + if (!is_file($thumbnail_filename)) { + continue; + } + $thumb_source = $thumbnail_filename; } diff --git a/src/Legacy/Attach.php b/src/Legacy/Attach.php index 65cee65c6..933ba4f90 100644 --- a/src/Legacy/Attach.php +++ b/src/Legacy/Attach.php @@ -898,21 +898,13 @@ class Attach // Upload Attachment if (!$error) { - // Descide the Upload method - $ini_val = 'ini_get'; - - if (@$ini_val('open_basedir')) { - $upload_mode = 'move'; - } elseif (@$ini_val('safe_mode')) { + if (ini_get('open_basedir')) { $upload_mode = 'move'; } else { $upload_mode = 'copy'; } - // Ok, upload the Attachment - if (!$error) { - $this->move_uploaded_attachment($upload_mode, $file); - } + $this->move_uploaded_attachment($upload_mode, $file); } // Now, check filesize parameters diff --git a/src/Legacy/Common/Upload.php b/src/Legacy/Common/Upload.php index 8e5129248..3e123b1f2 100644 --- a/src/Legacy/Common/Upload.php +++ b/src/Legacy/Common/Upload.php @@ -74,13 +74,6 @@ class Upload */ public array $errors = []; - /** - * Upload status code - * - * @var int - */ - public int $error = UPLOAD_ERR_OK; - /** * Image types array * @@ -109,7 +102,6 @@ class Upload $this->cfg = array_merge($this->cfg, $cfg); $this->file = $post_params; - $this->error = $this->file['error']; // Check upload allowed if (!$this->cfg['up_allowed']) { @@ -118,9 +110,9 @@ class Upload } // Handling errors while uploading - if (isset($this->error) && ($this->error !== UPLOAD_ERR_OK)) { - if (isset($lang['UPLOAD_ERRORS'][$this->error])) { - $this->errors[] = $lang['UPLOAD_ERROR_COMMON'] . '

' . $lang['UPLOAD_ERRORS'][$this->error]; + if (isset($this->file['error']) && ($this->file['error'] !== UPLOAD_ERR_OK)) { + if (isset($lang['UPLOAD_ERRORS'][$this->file['error']])) { + $this->errors[] = $lang['UPLOAD_ERROR_COMMON'] . '

' . $lang['UPLOAD_ERRORS'][$this->file['error']]; } else { $this->errors[] = $lang['UPLOAD_ERROR_COMMON']; } @@ -158,7 +150,7 @@ class Upload // Actions for images [E.g. Change avatar] if ($this->cfg['max_width'] || $this->cfg['max_height']) { if ($img_info = getimagesize($this->file['tmp_name'])) { - [$width, $height, $type, $attr] = $img_info; + [$width, $height, $type] = $img_info; // redefine ext if (!$width || !$height || !$type || !isset($this->img_types[$type])) {