*
* Easyway Shop is a web e-commerce system
*/
include_once './core/itemhelper.class.php';
include_once './core/item.class.php';
class admin_item_actions {
private $base_object;
private $layout_object;
private $db;
function __construct($base_object, $layout_object) {
$this->layout_object = $layout_object;
$this->base_object = $base_object;
$this->db = $base_object->db;
}
function run() {
if (isset($_GET['action'])) {
$action = $_GET['action'];
} elseif (isset($_POST['action'])) {
$action = $_POST['action'];
} else {
$action = false;
}
if ($action == "get_variant_price") {
$this->get_variant_price();
} elseif ($action == "ping") {
$this->ping();
} elseif ($action == "get_google_categories") {
$this->get_google_categories($_POST['parent_id']);
} elseif ($action == "update_image") {
$this->update_image();
} elseif ($action == "update_accessory_ordering") {
$this->update_accessory_ordering();
}
}
protected function get_attribute($name) {
if (isset($_POST[$name])) {
return $_POST[$name];
} elseif (isset($_GET[$name])) {
return $_GET[$name];
}
return false;
}
protected function update_accessory_ordering() {
$id = $this->get_attribute('item_id');
$accessories = $this->get_attribute('accessories');
if ($id && $accessories) {
$position = $accessories['position'];
$item_id = $accessories['item_id'];
$len = count($position);
//$this->db->autocommit(false);
for ($i = 0; $i < $len; $i++) {
$sql = 'UPDATE
item_item_assign
SET
position=' . $this->db->real_escape_string($position[$i]) . '
WHERE
item_parent_id=' . $this->db->real_escape_string($id) . '
AND item_child_id=' . $this->db->real_escape_string($item_id[$i]);
echo $sql;
echo "
";
//$this->db->query($sql);
}
exit();
//$result = $this->db->commit();
//$this->db->autocommit(true);
}
echo "ok no accessories or no itemmnd?";
exit();
}
private function update_image() {
if (isset($_POST['image_id'])) {
$image_id = $_POST['image_id'];
} else {
$image_id = false;
}
if (isset($_POST['key'])) {
$key = $_POST['key'];
} else {
$key = false;
}
if (isset($_POST['value'])) {
$value = $_POST['value'];
} else {
$value = false;
}
if ($image_id && $key && $value) {
if ($key == 'variant') {
$value = explode('_', $value);
$sql = "UPDATE item_files
SET attribut1='" . $this->db->real_escape_string($value[0]) . "'
, attribut2='" . $this->db->real_escape_string($value[1]) . "'
WHERE id=" . $this->db->real_escape_string($image_id);
} else {
$sql = 'UPDATE item_files
SET ' . $this->db->real_escape_string($key) . "='" . $this->db->real_escape_string($value) . "'
WHERE id=" . $this->db->real_escape_string($image_id);
}
if ($this->db->query($sql)) {
$return_data = array('status' => 'success');
} else {
$return_data = array('status' => 'error');
}
} else {
$return_data = array('status' => 'error');
}
echo json_encode($return_data);
exit();
}
private function get_variant_price() {
if (isset($_GET['id'])) {
$item_id = $_GET['id'];
} else {
$item_id = false;
}
if (isset($_GET['variant1'])) {
$variant1 = $_GET['variant1'];
} else {
$variant1 = false;
}
if (isset($_GET['variant2'])) {
$variant2 = $_GET['variant2'];
} else {
$variant2 = false;
}
if (isset($_GET['group'])) {
$group_id = $_GET['group'];
} else {
$group_id = false;
}
if ($item_id && $variant1 && $variant2 && $group_id) {
$taxrate = ItemHelper::get_item_taxrate($item_id);
if (!$taxrate) {
// TODO: is there a default taxrate somewhere?
$taxrate = 19;
}
$result = ItemHelper::get_item_variant_prices($item_id, $group_id, $taxrate);
if ($result) {
if ($variant2 == 'null') {
$variant2 = '';
}
$return_data = $result[$variant1][$variant2];
$return = array('status' => 'success', 'data' => $return_data);
} else {
$return = array('status' => 'error', 'message' => 'no result');
}
} else {
$return = array('status' => 'error', 'message' => 'missing argument');
}
echo json_encode($return);
exit();
}
private function ping() {
$data = $_GET;
unset($data['admin_modul']);
unset($data['action']);
foreach ($data as $key => $value) {
echo $key . ' : ' . $value . '
';
}
exit();
}
private function get_google_categories($parent_id) {
$item_object = new Item($this->base_object);
$google_item_categories = $item_object->get_all_google_item_categories($parent_id);
echo json_encode($google_item_categories);
exit();
}
}