示例#1
0
 function createDefaultTemplate($webipaddress, $mmailipaddress = "0.0.0.0.0", $nameserver = "defaultnameserver", $secnamserver = null)
 {
     $this->ttl = "86000";
     if (!preg_match('/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+(([a-z]{2,6})|(xn--[a-z0-9]{4,14}))$/i', $nameserver)) {
         throw new lxexception('invalid_domain_in_primary_ns', 'nameserver_f');
     }
     $this->addRec('ns', $nameserver, $nameserver);
     if ($secnamserver) {
         if (!preg_match('/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)+(([a-z]{2,6})|(xn--[a-z0-9]{4,14}))$/i', $secnamserver)) {
             throw new lxexception('invalid_domain_in_secondary_ns', 'secnameserver_f');
         }
         $this->addRec('ns', $secnamserver, $secnamserver);
     }
     // Extra dot added at the end of a_rec...
     $cpip = getOneIPForServer("localhost");
     if (!$cpip) {
         $cpip = $webipaddress;
     }
     $this->addRec("a", "cp", $cpip);
     $this->addRec("a", "__base__", $webipaddress);
     $this->addRec("a", "ns", $webipaddress);
     $this->addRec("a", "ns1", $webipaddress);
     $this->addRec("a", "ns2", $webipaddress);
     $this->addRec("a", "mail", $mmailipaddress);
     $this->addRec("cn", "www", "__base__");
     $this->addRec("cn", "ftp", "__base__");
     $this->addRec("cn", "webmail", "mail");
     $this->addRec("cn", "lists", "mail");
     $this->addRec("mx", "10", "mail.{$this->nname}");
     return;
 }
示例#2
0
文件: weblib.php 项目: zseand/kloxo
 function makeDnsChanges($newserver)
 {
     $ip = getOneIPForServer($newserver);
     $dns = $this->getParentO()->getObject('dns');
     $dns->dns_record_a['a___base__']->param = $ip;
     $dns->setUpdateSubaction('subdomain');
     $dns->was();
     $var = "webpserver";
     $domain = $this->getParentO();
     $domain->{$var} = $newserver;
     $domain->setUpdateSubaction();
     $domain->write();
 }
示例#3
0
function getFQDNforServer($v)
{
    $sql = new Sqlite(null, "pserver");
    $server = $sql->rawQuery("select * from pserver where nname = '{$v}'");
    $servername = trim($server[0]['realhostname']);
    if ($servername) {
        return $servername;
    }
    return getOneIPForServer($v);
}
示例#4
0
function getFQDNforServer($v)
{
    $sql = new Sqlite(null, "pserver");
    $server = $sql->rawQuery("select * from pserver where nname = '{$v}'");
    $servername = trim($server[0]['realhostname']);
    if ($servername) {
        return $servername;
    }
    // Did not found a hostname in the database, getting a IP from the database
    $ServerIP = getOneIPForServer($v);
    // Try to find a hostname using the system tool host. When that fails it returns the IP
    return getHostNameFromIP($ServerIP);
}
示例#5
0
 function createDefaultTemplate($webipaddress, $mmailipaddress = "0.0.0.0.0", $nameserver = "defaultnameserver", $secnamserver = null)
 {
     $this->ttl = "86000";
     $this->addRec('ns', $nameserver, $nameserver);
     if ($secnamserver) {
         $this->addRec('ns', $secnamserver, $secnamserver);
     }
     // Extra dot added at the end of a_rec...
     $cpip = getOneIPForServer("localhost");
     if (!$cpip) {
         $cpip = $webipaddress;
     }
     $this->addRec("a", "cp", $cpip);
     $this->addRec("a", "__base__", $webipaddress);
     $this->addRec("a", "ns", $webipaddress);
     $this->addRec("a", "ns1", $webipaddress);
     $this->addRec("a", "ns2", $webipaddress);
     $this->addRec("a", "mail", $mmailipaddress);
     $this->addRec("cn", "www", "__base__");
     $this->addRec("cn", "ftp", "__base__");
     $this->addRec("cn", "webmail", "mail");
     $this->addRec("cn", "lists", "mail");
     $this->addRec("mx", "10", "mail.{$this->nname}");
     return;
 }
示例#6
0
 static function generateKloxoUrl($parentclname, $selfurl, $url)
 {
     global $gbl, $sgbl, $login, $ghtml;
     if (!$selfurl) {
         $selfurl = "frm_action=show";
     }
     if (is_object($parentclname)) {
         $parent = $parentclname;
     } else {
         list($class, $name) = getParentNameAndClass($parentclname);
         $parent = new $class(null, null, $name);
         $parent->get();
     }
     $string = 'secret';
     $ssl['string'] = $string;
     $priv_key_res = openssl_get_privatekey($parent->text_private_key, "");
     openssl_private_encrypt($string, $encrypted_string, $priv_key_res);
     $ssl['encrypted_string'] = base64_encode($encrypted_string);
     $selfip = $_SERVER['SERVER_NAME'];
     list($host, $port) = explode(":", $selfip);
     if ($port === '8887') {
         $prot = "https";
         $lxport = "7777";
     } else {
         $prot = "http";
         $lxport = "7778";
     }
     $ssl_param['backurl'] = "{$prot}://{$selfip}/display.php?{$selfurl}";
     $ssl_param['backbase'] = "{$prot}://{$selfip}/display.php";
     $ssl_param['parent_clname'] = $parent->getClName();
     $ssl['ssl_param'] = $ssl_param;
     $ssl = base64_encode(serialize($ssl));
     if ($parent->isClass('pserver')) {
         $ip = getOneIPForServer($parent->nname);
     } else {
         if ($parent->mainipaddress) {
             $ip = $parent->mainipaddress;
         } else {
             $ip = getFirstFromList($parent->vmipaddress_a)->nname;
         }
         if (!$ip) {
             throw new lxexception("no_ipaddress_for_the_vps", '', $name);
         }
     }
     $url = @$ghtml->getFullUrl($url, null);
     $url = "{$prot}://{$ip}:{$lxport}/{$url}&frm_ssl={$ssl}";
     return $url;
 }
示例#7
0
$request = $_SERVER['REQUEST_URI'];
if (!csa($request, "sitepreview/")) {
    header("HTTP/1.0 404 Not Found");
    print "404--- <br> ";
    exit;
}
$request = strfrom($request, "sitepreview/");
$domain = strtilfirst($request, "/");
dprint($domain);
$sq = new Sqlite(null, 'web');
$res = $sq->getRowsWhere("nname = '{$domain}'");
if (!$res) {
    print "Domain Doesn't exist\n";
    exit;
}
$server = $res[0]['syncserver'];
$ip = getOneIPForServer($server);
rl_exec_get(null, 'localhost', 'addtoEtcHost', array($domain, $ip));
$file = curl_general_get("http://{$request}");
$pinfo = pathinfo($request);
$ext = $pinfo['extension'];
if (isset($res[$ext]) && $res[$ext] !== 'text/html' && $res[$ext] !== 'text/css') {
    header("Content-Type  {$res[$ext]}");
    print $file;
    exit;
}
rl_exec_get(null, 'localhost', 'removeFromEtcHost', array($domain));
include "/usr/local/lxlabs/kloxo/httpdocs/lib/hn_urlrewrite_example/hn_urlrewrite.class.php";
$rewrite = new hn_urlrewrite();
$page = $rewrite->_rewrite_page($domain, $file);
print $page;