1<?php
2	class cms_hostname_controller extends controller {
3		private function show_hostnames() {
4			if (($hostnames = $this->model->get_hostnames()) === false) {
5				$this->output->add_tag("result", "Database error.");
6			} else {
7				$this->output->open_tag("hostnames");
8				foreach ($hostnames as $hostname) {
9					$this->output->add_tag("hostname", $hostname["hostname"], array(
10						"id"      => $hostname["id"],
11						"visible" => show_boolean($hostname["visible"])));
12				}
13				$this->output->close_tag();
14			}
15		}
16
17		public function execute() {
18			if ($_SERVER["REQUEST_METHOD"] == "POST") {
19				/* Delete hostnames
20				 */
21				if (is_array($_POST["delete"])) foreach ($_POST["delete"] as $hostname_id) {
22					if (($hostname = $this->model->get_hostname($hostname_id)) != false) {
23						if ($this->model->delete_hostname($hostname_id) == false) {
24							$this->output->add_system_warning("Error while deleting hostname %s.", $hostname);
25						} else {
26							$this->output->add_system_message("Hostname %s has been deleted.", $hostname);
27							$this->user->log_action("hostname %s deleted", $hostname);
28						}
29					}
30				}
31
32				/* Update hostnames
33				 */
34				if ($this->model->update_hostnames($_POST["hostname"]) == false) {
35					$this->output->add_system_warning("Error while updating hostname visibility.");
36				} else {
37					$this->output->add_system_message("Hostname visibility has been updated.");
38				}
39			}
40
41			$this->show_hostnames();
42		}
43	}
44?>
45