name = "Besucher hinzufügen"; $this->customer = 0; } /** @see CmsObject::update() */ //---------------------------------------------- function update(){ //---------------------------------------------- $this->customer = $_POST['id']; } /** @see CmsObject::save() */ //--------------------------------------------- function save(){ //--------------------------------------------- if (!$this->customer) { $this->doCreateCustomer(); } else { $this->doUpdateCustomer(); } } /** creates a new customer */ //--------------------------------------------- function doCreateCustomer(){ //--------------------------------------------- // check if customer exists $query = sprintf("SELECT id FROM bruckm_ticketcustomer WHERE email = %s AND surname = %s AND firstname = %s LIMIT 1", sqlstring($_POST['email']), sqlstring($_POST['surname']), sqlstring($_POST['firstname'])); $result = dbQuery($query); if ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $this->customer = $line['id']; $this->doUpdateCustomer(); return; } // insert customer $query = sprintf("INSERT INTO bruckm_ticketcustomer (firstname, surname, email, address, zip, city, acad, phone, newsletter, loose, locked, creationDate) VALUES (%s, %s, %s, %s, %d, %s, %s, %s, %s, 'true', 'false', NOW())", sqlstring($_POST['firstname']), sqlstring($_POST['surname']), sqlstring($_POST['email']), sqlstring($_POST['address']), sqlnum($_POST['zip']), sqlstring($_POST['city']), sqlstring($_POST['acad']), sqlstring($_POST['phone']), sqlstring($_POST['newsletter']), sqlstring($_POST['info'])); dbQuery($query); $this->customer = mysql_insert_id(); // insert group memberships $query = sprintf("SELECT id FROM bruckm_ticketcustomergroup ORDER BY id ASC"); $result = dbQuery($query); while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if (isset($_POST['groups']) && in_array($line['id'], $_POST['groups'])) { $query = sprintf("INSERT INTO bruckm_ticketcustomergroupmemberships (groupId, customerId) VALUES (%d, %d)", sqlnum($line['id']), sqlnum($this->customer)); dbQuery($query); } } } /** updates an existing customer */ //--------------------------------------------- function doUpdateCustomer(){ //--------------------------------------------- $query = sprintf("SELECT loose, newsletter FROM bruckm_ticketcustomer WHERE id = %d", sqlnum($this->customer)); $result = dbQuery($query); $line = mysqli_fetch_array($result, MYSQLI_ASSOC); // update customer data (if registration is loose) if ($line['loose'] == 'true') { $query = sprintf("UPDATE bruckm_ticketcustomer SET firstname = %s, surname = %s, email = %s, acad = %s, address = %s, zip = %d, city = %s, phone = %s WHERE id = %d", sqlstring($_POST['firstname']), sqlstring($_POST['surname']), sqlstring($_POST['email']), sqlstring($_POST['acad']), sqlstring($_POST['address']), sqlnum($_POST['zip']), sqlstring($_POST['city']), sqlstring($_POST['phone']), sqlnum($this->customer)); dbQuery($query); } // update newsletter subscription if (isset($_POST['newsletter']) && $line['newsletter'] != $_POST['newsletter']) { $query = sprintf("UPDATE bruckm_ticketcustomer SET newsletter = %s WHERE id = %d", sqlstring($_POST['newsletter']), sqlnum($this->customer)); dbQuery($query); } // update info mail subscription if (isset($_POST['info']) && $line['info'] != $_POST['info']) { $query = sprintf("UPDATE bruckm_ticketcustomer SET info = %s WHERE id = %d", sqlstring($_POST['info']), sqlnum($this->customer)); dbQuery($query); } // update group memberships $query = sprintf("SELECT id FROM bruckm_ticketcustomergroup ORDER BY id ASC"); $result = dbQuery($query); while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if (isset($_POST['groups']) && in_array($line['id'], $_POST['groups'])) { $query = sprintf("SELECT * FROM bruckm_ticketcustomergroupmemberships WHERE groupId = %d AND customerId = %d LIMIT 1", sqlnum($line['id']), sqlnum($this->customer)); if (mysql_num_rows(dbQuery($query)) == 0) { $query = sprintf("INSERT INTO bruckm_ticketcustomergroupmemberships (groupId, customerId) VALUES (%d, %d)", sqlnum($line['id']), sqlnum($this->customer)); dbQuery($query); } } else { $query = sprintf("DELETE FROM bruckm_ticketcustomergroupmemberships WHERE groupId = %d AND customerId = %d LIMIT 1", sqlnum($line['id']), sqlnum($this->customer)); dbQuery($query); } } } /** @see CmsObject::printContent() */ //----------------------------------------------- function printContent(){ //----------------------------------------------- $out = $this->doPrintCustomer(); return $out; } /** prints the edit customer view */ //----------------------------------------------- function doPrintCustomer(){ //----------------------------------------------- $t = new Template(CMS_TEMPLATE_DIR."customerlist3.html"); if ($this->customer > 0) { $query = sprintf("SELECT * FROM bruckm_ticketcustomer WHERE id = %d", sqlnum($this->customer)); $result = dbQuery($query); $line = mysqli_fetch_array($result, MYSQLI_ASSOC); } else { $line = array('id' => '', 'firstname' => '', 'surname' => '', 'email' => '', 'address' => '', 'zip' => '', 'city' => '', 'phone' => '', 'acad' => '', 'loose' => 'true', 'newsletter' => 'true', 'info' => 'true'); } $t->setVar("ID", $line['id']); $t->setVar("FIRSTNAME", $line['firstname']); $t->setVar("SURNAME", $line['surname']); $t->setVar("EMAIL", $line['email']); $t->setVar("ADDRESS", $line['address']); $t->setVar("ZIP", $line['zip']); $t->setVar("CITY", $line['city']); $t->setVar("PHONE", $line['phone']); $t->setVar("ACAD", $line['acad']); if ($line['loose'] == 'true') { $t->setVar("GLOBAL_DISABLE", ""); } else { $t->setVar("GLOBAL_DISABLE", "disabled=\"disabled\""); } if ($line['newsletter'] == 'false') { $t->setVar("NEWSLETTER_TRUE", "disabled=\"disabled\""); $t->setVar("NEWSLETTER_FALSE", "checked=\"checked\" disabled=\"disabled\""); } else { $t->setVar("NEWSLETTER_TRUE", "checked=\"checked\""); $t->setVar("NEWSLETTER_FALSE", ""); } if ($line['info'] == 'false') { $t->setVar("INFO_TRUE", "disabled=\"disabled\""); $t->setVar("INFO_FALSE", "checked=\"checked\" disabled=\"disabled\""); } else { $t->setVar("INFO_TRUE", "checked=\"checked\""); $t->setVar("INFO_FALSE", ""); } // group memberships $groups = ""; $query = sprintf("SELECT * FROM bruckm_ticketcustomergroup ORDER BY name ASC"); $result = dbQuery($query); while ($group = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $query = sprintf("SELECT * FROM bruckm_ticketcustomergroupmemberships WHERE groupId = %d AND customerId = %d LIMIT 1", sqlnum($group['id']), sqlnum($line['id'])); if (mysql_num_rows(dbQuery($query)) > 0) { $groups .= '' . $group['name'] . '
'; } else { $groups .= '' . $group['name'] . '
'; } } $t->setVar("GROUPS", $groups); return $t->toString(); } /** @see CmsObject::getCssClass() */ //----------------------------------------------- function getCssClass(){ //----------------------------------------------- return "itemCustomers"; } // === ADDITIONAL METHODS ================================================================= // /** sets the id * @param id id */ //----------------------------------------------- function setId($id){ //----------------------------------------------- $this->id = $id; } }; ?>