Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 1) <?php
|
Added license tags for CC0,...
Bernd Wurst authored 13 years ago
|
class/domain.php 2) /*
class/domain.php 3) This file belongs to the Webinterface of schokokeks.org Hosting
class/domain.php 4)
|
Copyright year update
Bernd Wurst authored 7 years ago
|
class/domain.php 5) Written 2008-2018 by schokokeks.org Hosting, namely
|
Added license tags for CC0,...
Bernd Wurst authored 13 years ago
|
class/domain.php 6) Bernd Wurst <bernd@schokokeks.org>
class/domain.php 7) Hanno Böck <hanno@schokokeks.org>
class/domain.php 8)
class/domain.php 9) To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
class/domain.php 10)
class/domain.php 11) You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
class/domain.php 12) http://creativecommons.org/publicdomain/zero/1.0/
class/domain.php 13)
class/domain.php 14) Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
class/domain.php 15) */
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 16)
class/domains.php 17) require_once('inc/base.php');
class/domains.php 18) require_once('inc/debug.php');
class/domains.php 19)
class/domains.php 20)
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 21) class Domain
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 22) {
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 23) protected $data = array();
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 24) function __construct($init = NULL)
class/domains.php 25) {
class/domains.php 26) $this->setup();
class/domains.php 27) switch (gettype($init))
class/domains.php 28) {
class/domains.php 29) case 'string':
class/domains.php 30) $this->loadByName($init);
class/domains.php 31) break;
class/domains.php 32) case 'integer':
class/domains.php 33) $this->loadByID($init);
class/domains.php 34) break;
class/domains.php 35) case 'NULL':
class/domains.php 36) break;
class/domains.php 37) }
class/domains.php 38) }
class/domains.php 39)
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 40) function __set($key, $value)
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 41) {
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 42) if (array_key_exists($key, $this->data)) {
class/domain.php 43) $this->data[$key] = $value;
class/domain.php 44) } elseif (isset($this->$key)) {
class/domain.php 45) $this->$key = $value;
class/domain.php 46) } else {
class/domain.php 47) $this->data[$key] = $value;
class/domain.php 48) }
class/domain.php 49) }
class/domain.php 50)
class/domain.php 51)
class/domain.php 52) function __get($key)
class/domain.php 53) {
class/domain.php 54) if (array_key_exists($key, $this->data))
class/domain.php 55) return $this->data[$key];
class/domain.php 56) elseif (isset($this->$key))
class/domain.php 57) return $this->$key;
class/domain.php 58) // else werfe fehler
class/domain.php 59) }
class/domain.php 60)
class/domain.php 61)
class/domain.php 62) function loadByID($id)
class/domain.php 63) {
class/domain.php 64) $res = db_query("SELECT * FROM kundendaten.domains WHERE id=?", array($id));
class/domain.php 65) if ($res->rowCount() < 1)
class/domain.php 66) return false;
class/domain.php 67) $data = $res->fetch();
class/domain.php 68) $this->parse($data);
class/domain.php 69) }
class/domain.php 70)
class/domain.php 71) function loadByName($name)
class/domain.php 72) {
|
hardening the domain input
Bernd Wurst authored 7 years ago
|
class/domain.php 73) $raw = $name;
class/domain.php 74) $utf8 = idn_to_utf8($raw, 0, INTL_IDNA_VARIANT_UTS46);
class/domain.php 75) $res = db_query("SELECT * FROM kundendaten.domains WHERE CONCAT_WS('.', domainname, tld)=? OR CONCAT_WS('.', domainname, tld)=?", array($raw, $utf8));
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 76) if ($res->rowCount() < 1)
class/domain.php 77) return false;
class/domain.php 78) $data = $res->fetch();
class/domain.php 79) $this->parse($data);
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 80) }
class/domains.php 81)
|
Mehr config-optionen und co...
bernd authored 15 years ago
|
class/domain.php 82) function ensure_customerdomain()
class/domain.php 83) {
class/domain.php 84) if (! $this->is_customerdomain() )
|
Entferne den FQDN aus Fehle...
Bernd Wurst authored 8 years ago
|
class/domain.php 85) system_failure('Diese Domain gehört nicht Ihrem Kundenaccount.');
|
Mehr config-optionen und co...
bernd authored 15 years ago
|
class/domain.php 86) }
class/domain.php 87)
class/domain.php 88) function ensure_userdomain()
class/domain.php 89) {
class/domain.php 90) if (! $this->is_userdomain() )
|
Entferne den FQDN aus Fehle...
Bernd Wurst authored 8 years ago
|
class/domain.php 91) system_failure('Diese Domain gehört nicht Ihrem Benutzeraccount.');
|
Mehr config-optionen und co...
bernd authored 15 years ago
|
class/domain.php 92) }
class/domain.php 93)
class/domain.php 94) function is_customerdomain()
class/domain.php 95) {
class/domain.php 96) if (! isset($_SESSION['customerinfo']) )
class/domain.php 97) return false;
class/domain.php 98) $customerno = (int) $_SESSION['customerinfo']['customerno'];
class/domain.php 99) return ($this->kunde == $customerno);
class/domain.php 100) }
class/domain.php 101)
class/domain.php 102) function is_userdomain()
class/domain.php 103) {
class/domain.php 104) if (! isset($_SESSION['userinfo']) )
class/domain.php 105) return false;
class/domain.php 106) $uid = (int) $_SESSION['userinfo']['uid'];
class/domain.php 107) return ($this->useraccount == $uid);
class/domain.php 108) }
class/domain.php 109)
|
Alte Klassen entfernt
Bernd Wurst authored 7 years ago
|
class/domain.php 110) function setup()
class/domain.php 111) {
class/domain.php 112) $fields = array();
class/domain.php 113) $res = db_query("DESCRIBE kundendaten.domains");
class/domain.php 114) while ($f = $res->fetch(PDO::FETCH_OBJ))
class/domain.php 115) {
class/domain.php 116) $fields[$f->Field] = $f->Default;
class/domain.php 117) }
class/domain.php 118) $this->data = $fields;
class/domain.php 119) $this->data['id'] = NULL;
class/domain.php 120) }
class/domain.php 121)
class/domain.php 122)
class/domain.php 123)
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 124) function parse($data)
class/domains.php 125) {
|
some updates
bernd authored 16 years ago
|
class/domain.php 126) DEBUG($data);
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 127) foreach (array_keys($this->data) as $key)
class/domains.php 128) if (array_key_exists($key, $data))
class/domains.php 129) $this->data[$key] = $data[$key];
class/domains.php 130) $this->data['fqdn'] = $data['domainname'].'.'.$data['tld'];
|
Punycode-Konvertierung find...
Bernd Wurst authored 7 years ago
|
class/domain.php 131) $this->data['punycode'] = idn_to_ascii($this->data['fqdn'], 0, INTL_IDNA_VARIANT_UTS46);
class/domain.php 132) $this->data['is_idn'] = ($this->data['fqdn'] != $this->data['punycode']);
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 133) $this->data['reg_date'] = $data['registrierungsdatum'];
class/domains.php 134) $this->data['cancel_date'] = $data['kuendigungsdatum'];
class/domains.php 135) }
class/domains.php 136)
class/domains.php 137) }
class/domains.php 138)
class/domains.php 139)
class/domains.php 140)
class/domains.php 141)
class/domains.php 142)
class/domains.php 143)
class/domains.php 144)
class/domains.php 145) function get_domain_list($customerno, $uid = NULL)
class/domains.php 146) {
class/domains.php 147) $customerno = (int) $customerno;
class/domains.php 148) $query = "SELECT id FROM kundendaten.domains WHERE";
class/domains.php 149) if ($uid !== NULL)
class/domains.php 150) {
class/domains.php 151) $uid = (int) $uid;
|
Domains alphabetisch sortieren
bernd authored 17 years ago
|
class/domain.php 152) $query .= " useraccount={$uid}";
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 153) }
class/domains.php 154) else
class/domains.php 155) {
|
Domains alphabetisch sortieren
bernd authored 17 years ago
|
class/domain.php 156) $query .= " kunde={$customerno}";
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 157) }
|
Domains alphabetisch sortieren
bernd authored 17 years ago
|
class/domain.php 158) $query .= " ORDER BY domainname,tld";
|
Einige Statements auf Prepa...
Bernd Wurst authored 11 years ago
|
class/domain.php 159) $result = db_query($query, array()); // FIXME Übergebe leeren array um die Warnung zu unterdrücken
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 160) $domains = array();
|
Umstellung auf PDO-Datenban...
Bernd Wurst authored 11 years ago
|
class/domain.php 161) DEBUG('Result set is '.$result->rowCount()." rows.<br />\n");
class/domain.php 162) if ($result->rowCount() > 0)
class/domain.php 163) while ($domain = $result->fetch(PDO::FETCH_OBJ))
|
neue Bilder, mehr SSL-Zerti...
bernd authored 15 years ago
|
class/domain.php 164) array_push($domains, new Domain((int) $domain->id));
|
Ein paar neue Klassen
bernd authored 17 years ago
|
class/domains.php 165) DEBUG($domains);
class/domains.php 166) return $domains;
class/domains.php 167) }
class/domains.php 168)
class/domains.php 169)
class/domains.php 170)
class/domains.php 171) function get_jabberable_domains()
class/domains.php 172) {
class/domains.php 173) require_role(ROLE_CUSTOMER);
class/domains.php 174) $customerno = (int) $_SESSION['customerinfo']['customerno'];
class/domains.php 175)
class/domains.php 176) $domains = get_domain_list($customerno);
class/domains.php 177) DEBUG($domains);
class/domains.php 178) $result = array( new Domain() );
class/domains.php 179) $result[0]->id = 0;
|
Mehr config-optionen und co...
bernd authored 15 years ago
|
class/domain.php 180) $result[0]->fqdn = config('masterdomain');
|