shop-old/modules/admin_shipping_area_editor.php
2026-04-20 01:03:43 +02:00

373 lines
11 KiB
PHP

<?php
/**
* @version $Id: admin_shipping_area_editor.php
* @package Easyshop
* @copyright Copyright (C) 2005 - 2011 TA-EDV
* @license proprietary
* @author Richard Kammermayer <rk@ta-edv.de>
* Easyshop is a web shop system
*/
include_once './core/shipping_area.class.php';
include_once './core/deliverer.class.php';
include_once './core/customer_group.class.php';
include_once './core/customergrouppmconf.class.php';
class admin_shipping_area_editor {
private $base_object;
private $config;
private $layout_object;
private $customer_group_object;
private $customer_group_data;
function __construct($base_object, $layout_object) {
$this->base_object = $base_object;
$this->config = $base_object->config_object;
$this->layout_object = $layout_object;
$this->customer_group_object = new Customer_group($base_object);
$this->customer_group_data = $this->customer_group_object->get_all();
}
function run() {
if(isset($_GET['id']) && $_GET['id']) {
$has_id = true;
$id = $_GET['id'];
} else if(isset($_POST['id']) && $_POST['id']) {
$has_id = true;
$id = $_POST['id'];
} else {
$has_id = false;
}
if(isset($_POST['submit'])) {
$is_submitted = true;
} else {
$is_submitted = false;
}
$customer_groups = $this->customer_group_object->get_all();
$this->layout_object->assign('groups', $customer_groups);
// get deliverer
$deliverer_object = new Deliverer($this->base_object);
$deliverers = $deliverer_object->get_all();
$this->layout_object->assign('deliverers', $deliverers);
// decide what CRUD method to call and call it in ListAndEdit
// create
$shipping_area_object = new Shipping_area($this->base_object);
if($is_submitted && !$has_id) {
$form_data = $shipping_area_object->data_filter($_POST['form_field']);
$shipping_area_object->create($form_data);
$shipping_area_data = $shipping_area_object->get_data();
// MUST BE saved first
// $this->load_payment_method_setings($shipping_area_data);
// $this->save_payment_method_setings();
$this->layout_object->assign('form_data', $shipping_area_data);
}// read
elseif($has_id && !$is_submitted && $_GET['mod'] != 'delete') {
// template variable name
$shipping_area_object->id = $_GET['id'];
$shipping_area_data = $shipping_area_object->get_data();
$this->load_payment_method_setings($shipping_area_data);
$this->layout_object->assign('form_data', $shipping_area_data);
} // update
elseif($has_id && $is_submitted && $_GET['mod'] != 'delete') {
$shipping_area_object->id = $_POST['id'];
$form_data = $shipping_area_object->data_filter($_POST['form_field']);
$shipping_area_object->update($form_data);
$this->save_payment_method_setings($id);
$shipping_area_data = $shipping_area_object->get_data();
$this->load_payment_method_setings($shipping_area_data);
$this->layout_object->assign('form_data', $shipping_area_data);
} // delete
elseif($has_id && isset($_GET['mod']) && $_GET['mod'] == 'delete'){
$shipping_area_object->id = $_GET['id'];
$shipping_area_object->delete();
}
else {
}
return $this->layout_object->fetch('admin_shipping_area_editor.tpl');
}
private function save_payment_method_setings($id) {
if (isset($_POST['form_field'])) {
$pm = $_POST['form_field'];
}
// Vorauskasse
if (isset($pm['active_vk']) && $pm['active_vk'] == 2) {
$prepayment = $_POST['prepayment'];
$data = $this->make_save_array($prepayment);
$pm_id = 1;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Nachnahme
if (isset($pm['active_nn']) && $pm['active_nn'] == 2) {
$collect_on_delivery = $_POST['collect_on_delivery'];
$data = $this->make_save_array($collect_on_delivery);
$pm_id = 2;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Paypal
if (isset($pm['active_pp']) && $pm['active_pp'] == 2) {
$paypal = $_POST['paypal'];
$data = $this->make_save_array($paypal);
$pm_id = 4;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Rechnung
if (isset($pm['active_r']) && $pm['active_r'] == 2) {
$invoice = $_POST['invoice'];
$data = $this->make_save_array($invoice);
$pm_id = 3;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Bankeinzug
if (isset($pm['active_be']) && $pm['active_be'] == 2) {
$direct_debit = $_POST['direct_debit'];
$data = $this->make_save_array($direct_debit);
$pm_id = 6;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Barverkauf
if (isset($pm['active_bar']) && $pm['active_bar'] == 2) {
$cash = $_POST['cash'];
$data = $this->make_save_array($cash);
$pm_id = 7;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Klarna Rechnung
if (isset($pm['active_klarna_rechnung']) && $pm['active_klarna_rechnung'] == 2) {
$klarna_re = $_POST['klarna_re'];
$data = $this->make_save_array($klarna_re);
$pm_id = 8;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// Klarna Raten
if (isset($pm['active_klarna_raten']) && $pm['active_klarna_raten'] == 2) {
$klarna_ra = $_POST['klarna_ra'];
$data = $this->make_save_array($klarna_ra);
$pm_id = 9;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// paymorrow Rechnung
if (isset($pm['active_paymorrow_rechnung']) && $pm['active_paymorrow_rechnung'] == 2) {
$paymorrow_re = $_POST['paymorrow_re'];
$data = $this->make_save_array($paymorrow_re);
$pm_id = 10;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// paymorrow Raten
if (isset($pm['active_paymorrow_raten']) && $pm['active_paymorrow_raten'] == 2) {
$paymorrow_ra = $_POST['paymorrow_ra'];
$data = $this->make_save_array($paymorrow_ra);
$pm_id = 11;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// billpay invoice
if (isset($pm['active_billpay_invoice']) && $pm['active_billpay_invoice'] == 2) {
$billpay_invoice = $_POST['billpay_invoice'];
$data = $this->make_save_array($billpay_invoice);
$pm_id = 12;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// computop creditcard
if (isset($pm['active_computop_creditcard']) && $pm['active_computop_creditcard'] == 2) {
$computop_creditcard = $_POST['computop_creditcard'];
$data = $this->make_save_array($computop_creditcard);
$pm_id = 13;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
// customized
if (isset($pm['active_customized']) && $pm['active_customized'] == 2) {
$customized = $_POST['customized'];
$data = $this->make_save_array($customized);
$pm_id = 14;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$prepayment_conf->save_array($data);
}
}
private function make_save_array($data) {
foreach($this->customer_group_data as $customer_group) {
if (isset($data[$customer_group->id])) {
$tmp['group'] = $customer_group->id;
$tmp['active'] = '1';
$return[] = $tmp;
} else {
$tmp['group'] = $customer_group->id;
$tmp['active'] = '0';
$return[] = $tmp;
}
}
return $return;
}
private function load_payment_method_setings($data) {
$id = $data->id;
// Vorauskasse
if ($data->active_vk == '2') {
$pm_id = 1;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('prepayment', $mydata);
}
// Nachnahme
if ($data->active_nn == '2') {
$pm_id = 2;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('collect_on_delivery', $mydata);
}
// Paypal
if ($data->active_pp == '2') {
$pm_id = 4;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('paypal', $mydata);
}
// Rechnung
if ($data->active_r == '2') {
$pm_id = 3;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('invoice', $mydata);
}
// Bankeinzug
if ($data->active_be == '2') {
$pm_id = 6;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('direct_debit', $mydata);
}
// Barverkauf
if ($data->active_bar == '2') {
$pm_id = 7;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('cash', $mydata);
}
// Klarna Rechnung
if ($data->active_klarna_rechnung == '2') {
$pm_id = 8;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('klarna_re', $mydata);
}
// Klarna Raten
if ($data->active_klarna_raten == '2') {
$pm_id = 9;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('klarna_ra', $mydata);
}
// paymorrow Rechnung
if ($data->active_paymorrow_rechnung == '2') {
$pm_id = 10;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('paymorrow_re', $mydata);
}
// paymorrow Raten
if ($data->active_paymorrow_raten == '2') {
$pm_id = 11;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('paymorrow_ra', $mydata);
}
// billpay invoice
if ($data->active_billpay_invoice == '2') {
$pm_id = 12;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('billpay_invoice', $mydata);
}
// computop creditcard
if ($data->active_computop_creditcard == '2') {
$pm_id = 13;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('computop_creditcard', $mydata);
}
// customized
if ($data->active_customized == '2') {
$pm_id = 14;
$prepayment_conf = new CustomerGroupPMConf($pm_id, $id);
$mydata = $prepayment_conf->get_all();
$this->layout_object->assign('customized', $mydata);
}
}
}
?>