Browse Source

Verción v2.0 inicio. WebDNS con control de limitaciones para DNS, Sitio Web y Bases de Datos.

master
David Ramos 8 years ago
parent
commit
87217ad9c4
4 changed files with 97 additions and 0 deletions
  1. +78
    -0
      clases/limites.inc.php
  2. +3
    -0
      lib/lang/en_new_service_webdns.lng
  3. +3
    -0
      lib/lang/es_new_service_webdns.lng
  4. +13
    -0
      new_service_webdns.php

+ 78
- 0
clases/limites.inc.php View File

@@ -0,0 +1,78 @@
<?php
/*
PHP por David Ramos García, Open6Hosting <dramos@open6hosting.com>

Clase para el control de los límites de los usuarios con el módulo WebDNS.

2017, All rights reserved.
*/

require_once '../../lib/app.inc.php';

class limites {

public $cliente;
public $cliente_grupo_id;

public function __construct($cliente_group_id){
global $app, $conf;
$this->cliente = $client = $app->db->queryOneRecord(
"SELECT limit_dns_zone, limit_web_domain, limit_database FROM sys_group, client
WHERE sys_group.client_id = client.client_id
and sys_group.groupid = ?", $cliente_group_id);
$this->cliente_grupo_id = $cliente_group_id;
}

public function limClienteDns(){
global $app, $conf;
//Si el cliente esta vacío es admin.
if($this->cliente){
if($this->cliente["limit_dns_zone"] >= 0) {
$tmp = $app->db->queryOneRecord(
"SELECT count(id) as number FROM dns_soa WHERE sys_groupid = ?", $this->cliente_grupo_id);
if($tmp["number"] >= $this->cliente["limit_dns_zone"]) {
$app->error($app->tform->wordbook["limit_dns_zone_txt"]);
}
}
}
return false;
}

public function limClienteWebDominio(){
global $app, $conf;
//Si el cliente esta vacío es admin.
if($this->cliente){
if($this->cliente["limit_web_domain"] >= 0) {
$tmp = $app->db->queryOneRecord(
"SELECT count(domain_id) as number FROM web_domain
WHERE sys_groupid = ? and type = 'vhost'", $this->cliente_grupo_id);

if($tmp["number"] >= $this->cliente["limit_web_domain"]) {
$app->error($app->tform->wordbook["limit_web_domain_txt"]);
return true;
}
}
}
return false;
}

public function limClienteDB(){
global $app, $conf;
//Si el cliente esta vacío es admin.
if($this->cliente){
if($this->cliente["limit_database"] >= 0) {
$tmp = $app->db->queryOneRecord(
"SELECT count(database_id) as number
FROM web_database WHERE sys_groupid = ?", $this->cliente_grupo_id);
if($tmp["number"] >= $this->cliente["limit_database"]) {
$app->error($app->tform->wordbook["limit_database_txt"]);
}
}
}
return false;
}

}

?>

+ 3
- 0
lib/lang/en_new_service_webdns.lng View File

@@ -86,6 +86,8 @@ $wb["client_txt"] = 'Client';
$wb["limit_web_domain_txt"] = 'The max. number of web domains for your account is reached.';
$wb["limit_web_aliasdomain_txt"] = 'The max. number of aliasdomains for your account is reached.';
$wb["limit_web_subdomain_txt"] = 'The max. number of web subdomains for your account is reached.';
$wb["limit_database_txt"] = 'The max. number of databases is reached.';
$wb["limit_dns_zone_txt"] = 'The max. number of DNS zones for your account is reached.';
$wb["apache_directives_txt"] = 'Apache Directives';
$wb["domain_error_empty"] = 'Domain is empty.';
$wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
@@ -210,4 +212,5 @@ $wb['globalsearch_searchfield_watermark_txt'] = "Search";
$wb['globalsearch_suggestions_text_txt'] = "Suggestions";
$wb['limit_database_user_txt'] = "The max. number of database users is reached.";
$wb['database_password_error_empty'] = 'Database password is empty.';
$wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.';
?>

+ 3
- 0
lib/lang/es_new_service_webdns.lng View File

@@ -84,6 +84,8 @@ $wb['client_txt'] = 'Cliente';
$wb['limit_web_domain_txt'] = 'Se ha alcanzado el número máximo de dominios web de esta cuenta';
$wb['limit_web_aliasdomain_txt'] = 'Se ha alcanzado el número máximo de alias de dominios de esta cuenta';
$wb['limit_web_subdomain_txt'] = 'Se ha alcanzado el número máximo de subdominios web de esta cuenta';
$wb['limit_database_txt'] = 'Ha alcanzado el número máx. de bases de dato.';
$wb['limit_dns_zone_txt'] = 'Ha alcanzado el número máx. de zonas DNS permitidos para su cuenta.';
$wb['apache_directives_txt'] = 'Directivas de Apache';
$wb['domain_error_empty'] = 'El dominio está vacío.';
$wb['domain_error_unique'] = 'Ya existe un sitio web o sub/aliasdominio con este nombre de dominio.';
@@ -210,4 +212,5 @@ $wb['globalsearch_searchfield_watermark_txt'] = 'Buscar';
$wb['globalsearch_suggestions_text_txt'] = 'Sugerencias';
$wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
$wb['database_password_error_empty'] = 'Database password is empty.';
$wb['limit_dns_record_txt'] = 'Ha alcanzado el número máx. de registros DNS permitidos para su cuenta.';
?>

+ 13
- 0
new_service_webdns.php View File

@@ -8,6 +8,9 @@ SQL y expresiones regulares por Pablo Sarria Pérez, Open6Hosting <pablo@sarriap

require_once '../../lib/config.inc.php';
require_once '../../lib/app.inc.php';
//INICIO---CLASE PARA LOS LIMITES--------------------------------------------------------------------------------------------
require_once 'clases/limites.inc.php';
//FIN------CLASE PARA LOS LIMITES--------------------------------------------------------------------------------------------
//require 'pdf_o6h.php';

//Variable para cargar los distintos formularios.
@@ -1436,6 +1439,16 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
if($this->servidoresActivados()){
return;
}
//------INICIO LIMITES--------------------------------------------------------------------------------------------------
$limitado = new limites($this->cli_grupo_id);
$tieneLimitesDNS = $limitado->limClienteDns();
$tieneLimitesWeb = $limitado->limClienteWebDominio();
$tieneLimitesDB = $limitado->limClienteDB();

if($tieneLimitesDNS || $tieneLimitesWeb || $tieneLimitesDB){
return;
}
//------FIN LIMITES-----------------------------------------------------------------------------------------------------
if($this->existeDominio($fields)){
return;
}


Loading…
Cancel
Save