69 lines
1.9 KiB
PHP
69 lines
1.9 KiB
PHP
<?php
|
|
namespace admin\controls;
|
|
class ShopPromotion
|
|
{
|
|
// usunięcie promocji
|
|
static public function promotion_delete()
|
|
{
|
|
$promotion = \R::load( 'pp_shop_promotion', (int)\S::get( 'id' ) );
|
|
if ( \R::trash( $promotion ) )
|
|
\S::alert( 'Promocja została usunięta' );
|
|
|
|
header( 'Location: /admin/shop_promotion/view_list/' );
|
|
exit;
|
|
}
|
|
|
|
// zapisanie promocji
|
|
static public function save()
|
|
{
|
|
$response = [ 'status' => 'error', 'msg' => 'Podczas zapisywania promocji wystąpił błąd. Proszę spróbować ponownie' ];
|
|
$values_tmp = json_decode( \S::get( 'values' ), true );
|
|
|
|
$values = [];
|
|
|
|
foreach ( $values_tmp as $item )
|
|
{
|
|
$name = $item['name'];
|
|
$value = $item['value'];
|
|
$keys = \S::parse_name( $name );
|
|
\S::set_array_value( $values, $keys, $value );
|
|
}
|
|
|
|
if ( $id = \admin\factory\ShopPromotion::save(
|
|
$values['id'],
|
|
$values['name'],
|
|
$values['status'] == 'on' ? 1 : 0,
|
|
$values['condition_type'],
|
|
$values['discount_type'],
|
|
$values['amount'],
|
|
$values['date_to'],
|
|
$values['categories'],
|
|
$values['condition_categories'],
|
|
$values['include_coupon'] == 'on' ? 1 : 0,
|
|
$values['include_product_promo'] == 'on' ? 1 : 0,
|
|
$values['min_product_count'],
|
|
$values['price_cheapest_product']
|
|
) )
|
|
$response = [ 'status' => 'ok', 'msg' => 'Promocja została zapisana', 'id' => $id ];
|
|
|
|
echo json_encode( $response );
|
|
exit;
|
|
}
|
|
|
|
// edycja promocji
|
|
static public function edit()
|
|
{
|
|
return \Tpl::view( 'shop-promotion/promotion-edit', [
|
|
'promotion' => \admin\factory\ShopPromotion::promotion_details( (int)\S::get( 'id' ) ),
|
|
'categories' => \admin\factory\ShopCategory::subcategories( null ),
|
|
'dlang' => \front\factory\Languages::default_language()
|
|
] );
|
|
}
|
|
|
|
// lista promocji
|
|
public static function view_list()
|
|
{
|
|
return \Tpl::view( 'shop-promotion/view-list' );
|
|
}
|
|
|
|
} |