name = "Besucherliste (alphabetisch)"; $this->char = 65; // 'A' $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 newsletter 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->doPrintAlphabet(); if ($this->view == $this->VIEW_LIST) { $out .= $this->doPrintList(); } else { $out .= $this->doPrintCustomer(); } return $out; } /** prints the alphabetical index */ //----------------------------------------------- function doPrintAlphabet(){ //----------------------------------------------- $t = new Template(CMS_TEMPLATE_DIR."customerlist1.html"); $alpha = ""; for ($i = 65; $i <= 90; $i++) { $alpha .= '' . chr($i) . ' '; } $alpha .= 'Ä '; $alpha .= 'Ö '; $alpha .= 'Ü '; $t->setVar("ALPHABET", $alpha); return $t->toString(); } /** prints the list view */ //----------------------------------------------- function doPrintList(){ //----------------------------------------------- $t = new Template(CMS_TEMPLATE_DIR."customerlist2.html"); $t->setVar("TITLE", "Besucher '" . htmlspecialchars(chr($this->char)) . "'"); $customers = ""; $query = sprintf( "SELECT id, firstname, surname, email FROM bruckm_ticketcustomer WHERE address != '' AND surname LIKE %s ORDER BY surname ASC", sqlstring(chr($this->char) . "%") ); $result = dbQuery($query); $i = 0; while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if ($i++ % 2 == 0) { $customers .= '