XoopsModules25x /
xnewsletter
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | namespace XoopsModules\Xnewsletter; |
||
| 4 | |||
| 5 | /** |
||
| 6 | * **************************************************************************** |
||
| 7 | * - A Project by Developers TEAM For Xoops - ( https://xoops.org ) |
||
| 8 | * **************************************************************************** |
||
| 9 | * XNEWSLETTER - MODULE FOR XOOPS |
||
| 10 | * Copyright (c) 2007 - 2012 |
||
| 11 | * Goffy ( wedega.com ) |
||
| 12 | * |
||
| 13 | * You may not change or alter any portion of this comment or credits |
||
| 14 | * of supporting developers from this source code or any supporting |
||
| 15 | * source code which is considered copyrighted (c) material of the |
||
| 16 | * original comment or credit authors. |
||
| 17 | * |
||
| 18 | * This program is distributed in the hope that it will be useful, |
||
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
| 21 | * GNU General Public License for more details. |
||
| 22 | * --------------------------------------------------------------------------- |
||
| 23 | * @copyright Goffy ( wedega.com ) |
||
| 24 | * @license GNU General Public License 2.0 |
||
| 25 | * @package xnewsletter |
||
| 26 | * @author Goffy ( [email protected] ) |
||
| 27 | * |
||
| 28 | * **************************************************************************** |
||
| 29 | */ |
||
| 30 | |||
| 31 | //use XoopsModules\Xnewsletter; |
||
| 32 | |||
| 33 | require_once dirname(__DIR__) . '/include/common.php'; |
||
| 34 | |||
| 35 | /** |
||
| 36 | * Class AttachmentHandler |
||
| 37 | */ |
||
| 38 | class AttachmentHandler extends \XoopsPersistableObjectHandler |
||
| 39 | { |
||
| 40 | /** |
||
| 41 | * @var Helper |
||
| 42 | * @access public |
||
| 43 | */ |
||
| 44 | public $helper = null; |
||
| 45 | |||
| 46 | /** |
||
| 47 | * @param null|\XoopsDatabase $db |
||
| 48 | * @param \XoopsModules\Xnewsletter\Helper|null $helper |
||
| 49 | */ |
||
| 50 | public function __construct(\XoopsDatabase $db = null, Helper $helper = null) |
||
| 51 | { |
||
| 52 | parent::__construct($db, 'xnewsletter_attachment', Attachment::class, 'attachment_id', 'attachment_letter_id'); |
||
| 53 | /** @var Helper $this->helper */ |
||
| 54 | if (null === $helper) { |
||
| 55 | $this->helper = Helper::getInstance(); |
||
| 56 | } else { |
||
| 57 | $this->helper = $helper; |
||
| 58 | } |
||
| 59 | } |
||
| 60 | |||
| 61 | /** |
||
| 62 | * Delete attachment ({@link attachment} object) and file from filesystem |
||
| 63 | * |
||
| 64 | * @param \XoopsObject $attachmentObj |
||
| 65 | * @param bool $force |
||
| 66 | * |
||
| 67 | * @internal param object $object |
||
| 68 | * @return bool |
||
| 69 | */ |
||
| 70 | public function delete(\XoopsObject $attachmentObj, $force = false) |
||
| 71 | { |
||
| 72 | $res = true; |
||
|
0 ignored issues
–
show
|
|||
| 73 | $attachment_letter_id = (int)$attachmentObj->getVar('attachment_letter_id'); |
||
| 74 | $attachment_name = (string)$attachmentObj->getVar('attachment_name'); |
||
| 75 | |||
| 76 | if ($res = parent::delete($attachmentObj, $force)) { |
||
| 77 | // delete file from filesystem |
||
| 78 | @unlink(XOOPS_UPLOAD_PATH . $this->helper->getConfig('xn_attachment_path') . $attachment_letter_id . '/' . $attachment_name); |
||
|
0 ignored issues
–
show
It seems like you do not handle an error condition here. This can introduce security issues, and is generally not recommended.
If you suppress an error, we recommend checking for the error condition explicitly: // For example instead of
@mkdir($dir);
// Better use
if (@mkdir($dir) === false) {
throw new \RuntimeException('The directory '.$dir.' could not be created.');
}
Loading history...
|
|||
| 79 | } |
||
| 80 | |||
| 81 | return $res; |
||
| 82 | } |
||
| 83 | } |
||
| 84 |
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.