8a4acb54b452ad801825c59cc7aa542eae0f9f3f
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php   1) <?php
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

class/domain.php    2) /*
class/domain.php    3) This file belongs to the Webinterface of schokokeks.org Hosting
class/domain.php    4) 
Bernd Wurst Copyright year update

Bernd Wurst authored 6 years ago

class/domain.php    5) Written 2008-2018 by schokokeks.org Hosting, namely
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 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) */
bernd 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) 
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 years ago

class/domain.php   21) class Domain
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php  22) {
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 years ago

class/domain.php   23)     protected $data = array();
bernd 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) 
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 years ago

class/domain.php   40)   function __set($key, $value)
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php  41)   {
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 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)   {
Bernd Wurst hardening the domain input

Bernd Wurst authored 6 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));
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 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);
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php  80)   }
class/domains.php  81) 
bernd 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() )
Bernd Wurst Entferne den FQDN aus Fehle...

Bernd Wurst authored 7 years ago

class/domain.php   85)       system_failure('Diese Domain gehört nicht Ihrem Kundenaccount.');
bernd 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() )
Bernd Wurst Entferne den FQDN aus Fehle...

Bernd Wurst authored 7 years ago

class/domain.php   91)       system_failure('Diese Domain gehört nicht Ihrem Benutzeraccount.');
bernd 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) 
Bernd Wurst Alte Klassen entfernt

Bernd Wurst authored 6 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) 
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php 124)   function parse($data)
class/domains.php 125)   {
bernd some updates

bernd authored 16 years ago

class/domain.php  126)     DEBUG($data);
bernd 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'];
Bernd Wurst Punycode-Konvertierung find...

Bernd Wurst authored 6 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']);
bernd 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;
bernd Domains alphabetisch sortieren

bernd authored 17 years ago

class/domain.php  152)     $query .= " useraccount={$uid}";
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php 153)   }
class/domains.php 154)   else
class/domains.php 155)   {
bernd Domains alphabetisch sortieren

bernd authored 17 years ago

class/domain.php  156)     $query .= " kunde={$customerno}";
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php 157)   }
bernd Domains alphabetisch sortieren

bernd authored 17 years ago

class/domain.php  158)   $query .= " ORDER BY domainname,tld";
Bernd Wurst Einige Statements auf Prepa...

Bernd Wurst authored 10 years ago

class/domain.php  159)   $result = db_query($query, array()); // FIXME Übergebe leeren array um die Warnung zu unterdrücken
bernd Ein paar neue Klassen

bernd authored 17 years ago

class/domains.php 160)   $domains = array();
Bernd Wurst Umstellung auf PDO-Datenban...

Bernd Wurst authored 10 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))
bernd neue Bilder, mehr SSL-Zerti...

bernd authored 15 years ago

class/domain.php  164)       array_push($domains, new Domain((int) $domain->id));
bernd 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;
bernd Mehr config-optionen und co...

bernd authored 15 years ago

class/domain.php  180)   $result[0]->fqdn = config('masterdomain');