Subversion-Projekte lars-tiefland.ci

Revision

Revision 718 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
515 lars 1
<?php
2
 
3
/**
4
 * @author Lars Tiefland
5
 * @copyright 2016
6
 */
7
 
520 lars 8
/**
9
 * Basket
10
 *
11
 * Anzeige und Überarbeitung des Warenkorbs
12
 *
525 lars 13
 * @package WebanOS CI
14
 * @author Lars Tiefland
15
 * @copyright 2016
16
 * @version $Id: Basket.php 718 2016-09-30 19:00:56Z lars $
520 lars 17
 * @access public
18
 */
515 lars 19
class Basket extends CI_Controller
20
{
520 lars 21
	/**
22
	 * Basket::__construct()
23
	 *
24
	 * @return
25
	 */
515 lars 26
	public function __construct()
27
	{
28
		parent::__construct();
715 lars 29
		$_SESSION['SHOP']['MWST'] = array();
515 lars 30
		$this->load->model('artikel_model', 'artikel');
715 lars 31
		$landID = 47;
32
		if (isset($_SESSION['SHOP']['buy']["Persdata"]["liefer_land"]))
33
		{
34
			if (isset($GLOBALS["steuern"][$_SESSION['SHOP']['buy']["Persdata"]["liefer_land"]]))
35
			{
36
				$landID = $_SESSION['SHOP']['buy']["Persdata"]["liefer_land"];
37
			}
38
			elseif (isset($GLOBALS["INI"]["steuern"]["default_countryID"]))
39
			{
40
				$landID = $GLOBALS["INI"]["steuern"]["default_countryID"];
41
			}
42
		}
43
		elseif (isset($GLOBALS["INI"]["steuern"]["default_countryID"]))
44
		{
45
			$landID = $GLOBALS["INI"]["steuern"]["default_countryID"];
46
		}
515 lars 47
		if (!@is_array($_SESSION['SHOP']['BASKET']))
48
		{
49
			$_SESSION['SHOP']['BASKET'] = array();
50
			$_SESSION['SHOP']['SUMME'] = 0;
51
		}
715 lars 52
		else
53
		{
54
			foreach ($_SESSION['SHOP']['BASKET'] as $bItem)
55
			{
716 lars 56
				$item = $this->artikel->get_artikel($bItem['ID'], true);
715 lars 57
				$itemTax = (isset($item["tax1"]) && $item["tax1"] != "") ? $item["tax1"] : 0;
58
				$mwst = $GLOBALS["steuern"][$landID][$itemTax];
59
				//admin_debug($_SESSION['SHOP'], true);
60
				//$_SESSION["netto_preis"] ist gesetzt wenn ein Kunde sich einlogt und dieser zu einer Kundengruppe die in der
61
				// Ini gesetzt ist angeh�rt und dort das Flag netto_preis aktiviert ist.
62
				if ((isset($GLOBALS["INI"]["netto_preise"]) && $GLOBALS["INI"]["netto_preise"] ==
63
					1) || (isset($_SESSION["netto_preis"]) && $_SESSION["netto_preis"] == true))
64
				{
717 lars 65
					$mwst = $bItem['Menge'] * $bItem['preis'] * $mwst / 100;
715 lars 66
				}
67
				else
68
				{
717 lars 69
					$mwst = $bItem['Menge'] * $bItem['preis'] / (100 + $mwst) * $mwst;
715 lars 70
				}
718 lars 71
				if (!isset($_SESSION['SHOP']["MWST"][$GLOBALS["steuern"][$landID][$itemTax]]))
72
				{
73
					$_SESSION['SHOP']["MWST"][$GLOBALS["steuern"][$landID][$itemTax]] = 0;
74
				}
715 lars 75
				$_SESSION['SHOP']["MWST"][$GLOBALS["steuern"][$landID][$itemTax]] += $mwst;
76
			}
77
		}
78
		$_SESSION['SHOP']['MWSTVONSUMME'] = array_sum($_SESSION['SHOP']['MWST']);
693 lars 79
		$GLOBALS['order_db'] = $this->load->database('order_db', TRUE);
80
		$GLOBALS['db_red'] = $this->load->database('db_red', TRUE);
515 lars 81
	}
520 lars 82
	/**
83
	 * Basket::add()
84
	 *
85
	 * @return
86
	 */
515 lars 87
	public function add()
88
	{
691 lars 89
		$landID = 47;
90
		if (isset($_SESSION['SHOP']['buy']["Persdata"]["liefer_land"]))
91
		{
92
			if (isset($GLOBALS["steuern"][$_SESSION['SHOP']['buy']["Persdata"]["liefer_land"]]))
93
			{
94
				$landID = $_SESSION['SHOP']['buy']["Persdata"]["liefer_land"];
95
			}
96
			elseif (isset($GLOBALS["INI"]["steuern"]["default_countryID"]))
97
			{
98
				$landID = $GLOBALS["INI"]["steuern"]["default_countryID"];
99
			}
100
		}
101
		elseif (isset($GLOBALS["INI"]["steuern"]["default_countryID"]))
102
		{
103
			$landID = $GLOBALS["INI"]["steuern"]["default_countryID"];
104
		}
105
		$id_arr = array('ID' => $this->input->post('item'), );
515 lars 106
		$id = implode('-', $id_arr);
107
		$item = $this->artikel->get_artikel($this->input->post('item'), true);
108
		$menge = $this->input->post('Menge');
109
		if (isset($_SESSION['SHOP']['BASKET'][sha1($id)]))
110
		{
111
			$menge += $_SESSION['SHOP']['BASKET'][sha1($id)]['Menge'];
112
		}
113
		$item = array_merge($item, array(
114
			'Menge' => $menge,
115
			'preis' => $this->input->post('preis'),
116
			//'kurzbezeichnung' => $this->input->post('kurzbezeichnung'),
117
			));
691 lars 118
		$itemTax = (isset($item["tax1"]) && $item["tax1"] != "") ? $item["tax1"] : 0;
119
		$mwst = $GLOBALS["steuern"][$landID][$itemTax];
120
		//admin_debug($_SESSION['SHOP'], true);
121
		//$_SESSION["netto_preis"] ist gesetzt wenn ein Kunde sich einlogt und dieser zu einer Kundengruppe die in der
122
		// Ini gesetzt ist angeh�rt und dort das Flag netto_preis aktiviert ist.
703 lars 123
		if ((isset($GLOBALS["INI"]["netto_preise"]) && $GLOBALS["INI"]["netto_preise"] ==
124
			1) || (isset($_SESSION["netto_preis"]) && $_SESSION["netto_preis"] == true))
691 lars 125
		{
126
			$mwst = $item['Menge'] * $item['preis'] * $mwst / 100;
127
		}
128
		else
129
		{
130
			$mwst = $item['Menge'] * $item['preis'] / (100 + $mwst) * $mwst;
131
		}
132
 
133
		$_SESSION['SHOP']["MWST"][$GLOBALS["steuern"][$landID][$itemTax]] += $mwst;
515 lars 134
		//trigger_error(var_export($this->input->post(), true), E_USER_WARNING);
135
		$_SESSION['SHOP']['BASKET'][sha1($id)] = $item;
136
		$_SESSION['SHOP']['SUMME'] += $item["preis"];
691 lars 137
		$_SESSION['SHOP']['MWSTVONSUMME'] = array_sum($_SESSION['SHOP']['MWST']);
515 lars 138
		$this->smarty->view('header_wk.tpl');
139
	}
520 lars 140
	/**
141
	 * Basket::update()
142
	 *
143
	 * @param mixed $bId
144
	 * @param integer $menge
145
	 * @param integer $preis
146
	 * @return
147
	 */
515 lars 148
	public function update($bId, $menge = 1, $preis = 0)
149
	{
150
		$_SESSION['SHOP']['BASKET'][$bId]['Menge'] = $menge;
151
		header("Location:/basket.html");
152
	}
520 lars 153
	/**
154
	 * Basket::delete()
155
	 *
156
	 * @param mixed $bId
157
	 * @return
158
	 */
515 lars 159
	public function delete($bId)
160
	{
161
		$item = $_SESSION['SHOP']['BASKET'][$bId];
162
		$_SESSION['SHOP']['SUMME'] -= ($item["Menge"] * $item["preis"]);
163
		unset($_SESSION['SHOP']['BASKET'][$bId]);
164
		header("Location:/basket.html");
165
	}
166
 
520 lars 167
	/**
168
	 * Basket::index()
169
	 *
170
	 * @return
171
	 */
515 lars 172
	function index()
173
	{
174
		$this->smarty->view('login_center.tpl');
175
	}
176
}
177
 
178
?>