Packing::deletePicture()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 3
nc 3
nop 0
1
<?php
2
3
namespace XoopsModules\Oledrion;
4
5
/*
6
 You may not change or alter any portion of this comment or credits
7
 of supporting developers from this source code or any supporting source code
8
 which is considered copyrighted (c) material of the original comment or credit authors.
9
10
 This program is distributed in the hope that it will be useful,
11
 but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
*/
14
15
/**
16
 * oledrion
17
 *
18
 * @copyright   {@link https://xoops.org/ XOOPS Project}
19
 * @license     {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
20
 * @author      Hossein Azizabadi ([email protected])
21
 */
22
23
use XoopsModules\Oledrion;
24
25
/**
26
 * Class Packing
27
 */
28
class Packing extends OledrionObject
29
{
30
    /**
31
     * constructor
32
     *
33
     * normally, this is called from child classes only
34
     */
35
    public function __construct()
36
    {
37
        $this->initVar('packing_id', XOBJ_DTYPE_INT, null, false);
38
        $this->initVar('packing_title', XOBJ_DTYPE_TXTBOX, null, false);
39
        $this->initVar('packing_width', XOBJ_DTYPE_TXTBOX, null, false);
40
        $this->initVar('packing_length', XOBJ_DTYPE_TXTBOX, null, false);
41
        $this->initVar('packing_weight', XOBJ_DTYPE_TXTBOX, null, false);
42
        $this->initVar('packing_image', XOBJ_DTYPE_TXTBOX, null, false);
43
        $this->initVar('packing_description', XOBJ_DTYPE_OTHER, null, false);
44
        $this->initVar('packing_price', XOBJ_DTYPE_INT, null, false);
45
        $this->initVar('packing_online', XOBJ_DTYPE_INT, null, false);
46
    }
47
48
    /**
49
     * Retourne l'URL de l'image de la catégorie courante
50
     * @return string L'URL
51
     */
52
    public function getPictureUrl()
53
    {
54
        if ('' !== xoops_trim($this->getVar('product_image_url'))) {
55
            return OLEDRION_PICTURES_URL . '/' . $this->getVar('packing_image');
56
        }
57
58
        return '';
59
    }
60
61
    /**
62
     * Indique si l'image de la catégorie existe
63
     *
64
     * @return bool Vrai si l'image existe sinon faux
65
     */
66
    public function pictureExists()
67
    {
68
        $return = false;
69
        if ('' !== xoops_trim($this->getVar('packing_image')) && file_exists(OLEDRION_PICTURES_PATH . '/' . $this->getVar('packing_image'))) {
70
            $return = true;
71
        }
72
73
        return $return;
74
    }
75
76
    /**
77
     * Supprime l'image associée à une catégorie
78
     */
79
    public function deletePicture()
80
    {
81
        if ($this->pictureExists()) {
82
            if (false === @unlink(OLEDRION_PICTURES_PATH . '/' . $this->getVar('packing_image'))) {
83
                throw new \RuntimeException('The picture ' . OLEDRION_PICTURES_PATH . '/' . $this->getVar('packing_image') . ' could not be deleted.');
84
            }
85
        }
86
        $this->setVar('packing_image', '');
87
    }
88
89
    /**
90
     * Retourne les éléments du produits formatés pour affichage
91
     *
92
     * @param  string $format
93
     * @return array
94
     */
95
    public function toArray($format = 's')
96
    {
97
        $oledrionCurrency                = Oledrion\Currency::getInstance();
98
        $ret                             = [];
0 ignored issues
show
Unused Code introduced by
The assignment to $ret is dead and can be removed.
Loading history...
99
        $ret                             = parent::toArray($format);
100
        $ret['packing_price_fordisplay'] = $oledrionCurrency->amountForDisplay($this->getVar('packing_price'));
101
        $ret['packing_image_url']        = $this->getPictureUrl();
102
103
        return $ret;
104
    }
105
}
106