yf_manage_shop_units admin module

Fileplugins/shop/admin_modules/manage_shop/yf_manage_shop_units.class.php
Useadmin URL ?object=manage_shop_units

Public properties

PropertyDefaultDescription
None declared in this class.

Public methods 5

unit_add

public function unit_add()
    public function unit_add()
    {
        if (main()->is_post()) {
            if ( ! ($_POST['title'] ?? null)) {
                _re('Unit title must be filled');
            }
            if ( ! common()->_error_exists()) {
                $sql_array = [
                    'title' => ($_POST['title'] ?? null),
                    'description' => ($_POST['description'] ?? null),
                    'step' => (int) (($_POST['step'] ?? null)),
                    'k' => (float) (($_POST['k'] ?? null)),
                ];
                db()->insert(db('shop_product_units'), db()->es_for_builder($sql_array));
                common()->admin_wall_add(['shop product unit added: ' . $_POST['title'], db()->insert_id()]);
            }
            return js_redirect('./?object=' . main()->_get('object') . '&action=units');
        }

        $replace = [
            'title' => '',
            'description' => '',
            'step' => '',
            'k' => '',
            'form_action' => './?object=' . main()->_get('object') . '&action=unit_add',
            'back_url' => './?object=' . main()->_get('object') . '&action=units',
        ];
        return form($replace)
            ->text('title')
            ->textarea('description', 'Description')
            ->text('step')
            ->text('k')
            ->save_and_back();
    }

unit_delete

public function unit_delete()
    public function unit_delete()
    {
        $_GET['id'] = (int) (($_GET['id'] ?? null));
        if ( ! empty($_GET['id'])) {
            $info = db()->query_fetch('SELECT * FROM ' . db('shop_product_units') . ' WHERE id=' . (int) (($_GET['id'] ?? null)));
        }
        if ( ! empty($info['id'])) {
            db()->query('DELETE FROM ' . db('shop_product_units') . ' WHERE id=' . (int) (($_GET['id'] ?? null)) . ' LIMIT 1');
            common()->admin_wall_add(['shop product unit deleted: ' . $info['name'], ($_GET['id'] ?? null)]);
        }
        if (($_POST['ajax_mode'] ?? null)) {
            main()->NO_GRAPHICS = true;
            echo $_GET['id'] ?? null;
        } else {
            return js_redirect('./?object=' . main()->_get('object') . '&action=units');
        }
    }

unit_edit

public function unit_edit()
    public function unit_edit()
    {
        $_GET['id'] = (int) (($_GET['id'] ?? null));
        if (empty($_GET['id'])) {
            return _e('Empty ID!');
        }
        $unit_info = db()->query_fetch('SELECT * FROM ' . db('shop_product_units') . ' WHERE id=' . (int) $_GET['id']);
        if (main()->is_post()) {
            if ( ! ($_POST['title'] ?? null)) {
                _re('Unit title must be filled');
            }
            if ( ! common()->_error_exists()) {
                $sql_array = [
                    'title' => ($_POST['title'] ?? null),
                    'description' => ($_POST['description'] ?? null),
                    'step' => (int) (($_POST['step'] ?? null)),
                    'k' => tofloat(($_POST['k'] ?? null)),
                ];
                db()->update('shop_product_units', db()->es_for_builder($sql_array), 'id=' . (int) $_GET['id']);
                common()->admin_wall_add(['shop product unit updated: ' . $_POST['title'], $_GET['id']]);
            }
            return js_redirect('./?object=' . main()->_get('object') . '&action=units');
        }
        $replace = [
            'title' => $unit_info['title'],
            'description' => $unit_info['description'],
            'step' => $unit_info['step'],
            'k' => $unit_info['k'],
            'form_action' => './?object=' . main()->_get('object') . '&action=unit_edit&id=' . $unit_info['id'],
            'back_url' => './?object=' . main()->_get('object') . '&action=units',
        ];
        return form($replace)
            ->text('title')
            ->textarea('description', 'Description')
            ->text('step')
            ->text('k')
            ->save_and_back();
    }

units

public function units()
    public function units()
    {
        return table('SELECT * FROM ' . db('shop_product_units'), [
                'filter' => ($_SESSION[$_GET['object'] . '__units'] ?? null),
                'hide_empty' => 1,
            ])
            ->text('title')
            ->text('description')
            ->text('step')
            ->text('k')
            ->btn_edit('', './?object=' . main()->_get('object') . '&action=unit_edit&id=%d', ['no_ajax' => 1])
            ->btn_delete('', './?object=' . main()->_get('object') . '&action=unit_delete&id=%d')
            ->footer_add('', './?object=' . main()->_get('object') . '&action=unit_add');
    }

Methods starting with _ hooks and helpers; not routable as page actions

_init

public function _init()
    public function _init()
    {
        $this->_class_price = _class('_shop_price', 'modules/shop/');
    }