name = "Besucherliste (Gruppen)"; $this->group = 0; $this->view = $this->VIEW_LIST; } /** @see CmsObject::update() */ //---------------------------------------------- function update(){ //---------------------------------------------- $this->view = $_POST['currentView']; if ($this->view == $this->VIEW_EDIT) { $this->customer = $_POST['customerId']; } } /** @see CmsObject::save() */ //--------------------------------------------- function save(){ //--------------------------------------------- if (!$this->customer) { return; } $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, changeDate = NOW() 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 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->doPrintGroups(); if ($this->view == $this->VIEW_LIST) { $out .= $this->doPrintList(); } else { $out .= $this->doPrintCustomer(); } return $out; } /** prints the alphabetical index */ //----------------------------------------------- function doPrintGroups(){ //----------------------------------------------- $t = new Template(CMS_TEMPLATE_DIR."customerlist4.html"); $groups = ""; $query = sprintf("SELECT * FROM bruckm_ticketcustomergroup ORDER BY name ASC"); $result = dbQuery($query); while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $groups .= ''; } $t->setVar("GROUPS", $groups); return $t->toString(); } /** prints the list view */ //----------------------------------------------- function doPrintList(){ //----------------------------------------------- $t = new Template(CMS_TEMPLATE_DIR."customerlist2.html"); $query = sprintf("SELECT name FROM bruckm_ticketcustomergroup WHERE id = %d", sqlnum($this->group)); $result = dbQuery($query); $line = mysqli_fetch_array($result, MYSQLI_ASSOC); $t->setVar("TITLE", htmlspecialchars("Gruppe '" . $line['name'] . "'")); $results = array(); $query = sprintf("SELECT customerId FROM bruckm_ticketcustomergroupmemberships WHERE groupId = %d", sqlnum($this->group)); $result = dbQuery($query); while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $query = sprintf("SELECT id, firstname, surname, email FROM bruckm_ticketcustomer WHERE id = %d", sqlnum($line['customerId'])); $results[] = mysqli_fetch_array(dbQuery($query), MYSQLI_ASSOC); } $results = $this->sortResults($results); $customers = ""; $i = 0; foreach ($results as $line) { if ($i++ % 2 == 0) { $customers .= '