diff --git a/install/sql/incremental/upd_0080.sql b/install/sql/incremental/upd_0080.sql new file mode 100644 index 0000000000000000000000000000000000000000..fcdcb622e32cb7cb4b5438e1107dd5c73d8fe3e2 --- /dev/null +++ b/install/sql/incremental/upd_0080.sql @@ -0,0 +1 @@ +ALTER TABLE `web_domain` ADD COLUMN `enable_spdy` ENUM('y','n') NULL DEFAULT 'n' AFTER `proxy_directives`; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 6af74fb984e63132a0a9b871b3171784d6e43889..b6390e71230ae42d7c78e3747022abcf7ccade10 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -1877,6 +1877,7 @@ CREATE TABLE `web_domain` ( `traffic_quota_lock` enum('n','y') NOT NULL default 'n', `fastcgi_php_version` varchar(255) DEFAULT NULL, `proxy_directives` mediumtext, + `enable_spdy` ENUM('y','n') NULL DEFAULT 'n', `last_quota_notification` date NULL default NULL, `rewrite_rules` mediumtext, `added_date` date NOT NULL DEFAULT '0000-00-00', diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index c563650c75467728ca2fd17a84fc9ab491d4deb4..7805988a71d758a294c246daddbc4a119288b5a2 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -85,6 +85,7 @@ php_ini_path_apache=/etc/php5/apache2/php.ini php_ini_path_cgi=/etc/php5/cgi/php.ini check_apache_config=y enable_sni=y +enable_spdy=n enable_ip_wildcard=y overtraffic_notify_admin=y overtraffic_notify_client=y diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index c8d569b6bdd99a5852c716ba698b46c9b3ab4dd7..d9ec9b8d03cdc5e82104fa3299437be7aa49c482 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -86,7 +86,7 @@ class db extends mysqli $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); return false; } - if(!((bool)mysqli_query( $this->_iConnId, "USE $this->dbName"))) { + if(!((bool)mysqli_query( $this->_iConnId, 'USE `' . $this->dbName . '`'))) { $this->close(); $this->_sqlerror('Datenbank nicht gefunden / Database not found'); return false; diff --git a/interface/lib/classes/validate_client.inc.php b/interface/lib/classes/validate_client.inc.php index 0f90a5b3d1c5b706ffdc4f12ad35175df645b249..198701bc4cde14f3dcca5a089e2e395f5e610e41 100644 --- a/interface/lib/classes/validate_client.inc.php +++ b/interface/lib/classes/validate_client.inc.php @@ -136,7 +136,85 @@ class validate_client { } } + function check_vat_id ($field_name, $field_value, $validator){ + global $app, $page; + + $vatid = trim($field_value); + if(isset($app->remoting_lib->primary_id)) { + $country = $app->remoting_lib->dataRecord['country']; + } else { + $country = $page->dataRecord['country']; + } + + // check if country is member of EU + $country_details = $app->db->queryOneRecord("SELECT * FROM country WHERE iso = '".$country."'"); + if($country_details['eu'] == 'y' && $vatid != ''){ + + $vatid = preg_replace('/\s+/', '', $vatid); + $vatid = str_replace(array('.', '-', ','), '', $vatid); + $cc = substr($vatid, 0, 2); + $vn = substr($vatid, 2); + + // Test if the country of the VAT-ID matches the country of the customer + if($country != ''){ + if(strtoupper($cc) != $country){ + $errmsg = $validator['errmsg']; + if(isset($app->tform->wordbook[$errmsg])) { + return $app->tform->wordbook[$errmsg]."<br>\r\n"; + } else { + return $errmsg."<br>\r\n"; + } + } + } + $client = new SoapClient("http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl"); + + if($client){ + $params = array('countryCode' => $cc, 'vatNumber' => $vn); + try{ + $r = $client->checkVat($params); + if($r->valid == true){ + } else { + $errmsg = $validator['errmsg']; + if(isset($app->tform->wordbook[$errmsg])) { + return $app->tform->wordbook[$errmsg]."<br>\r\n"; + } else { + return $errmsg."<br>\r\n"; + } + } + + // This foreach shows every single line of the returned information + /* + foreach($r as $k=>$prop){ + echo $k . ': ' . $prop; + } + */ + + } catch(SoapFault $e) { + //echo 'Error, see message: '.$e->faultstring; + switch ($e->faultstring) { + case 'INVALID_INPUT': + $errmsg = $validator['errmsg']; + if(isset($app->tform->wordbook[$errmsg])) { + return $app->tform->wordbook[$errmsg]."<br>\r\n"; + } else { + return $errmsg."<br>\r\n"; + } + break; + // the following cases shouldn't be the user's fault, so we return no error + case 'SERVICE_UNAVAILABLE': + case 'MS_UNAVAILABLE': + case 'TIMEOUT': + case 'SERVER_BUSY': + break; + } + } + } else { + // Connection to host not possible, europe.eu down? + // this shouldn't be the user's fault, so we return no error + } + } + } } diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index debceae718a3af953598451fb71c550f3954eceb..190c8c4df2c7a02aa847196f5c608b476b08b825 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -1021,6 +1021,15 @@ $form["tabs"]['web'] = array( 'width' => '40', 'maxlength' => '255' ), + 'enable_spdy' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array ( + 0 => 'n', + 1 => 'y' + ) + ), 'apps_vhost_port' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 6a8e42187a1309e4fe9729eee32594aadf0848a9..14474114c09bb1c81b5c050b8102ee867151c911 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -262,4 +262,5 @@ $wb['php_ini_check_minutes_txt'] = 'Prüfe php.ini alle X Minuten auf Änderunge $wb['php_ini_check_minutes_error_empty'] = 'Bitte geben Sie einen Wert an, wie oft die php.ini auf Änderungen geprüft werden soll.'; $wb['php_ini_check_minutes_info_txt'] = '0 = keine Prüfung'; $wb['php_handler_txt'] = 'Standard-PHP-Handler'; +$wb['enable_spdy_txt'] = 'Stellt SPDY zur Verfügung'; ?> diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index b6288341aaa44307077ac720ab29ab60c35fc9f6..8affba0c14e111dfefa7123131b3ea413569f1c0 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -263,4 +263,5 @@ $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes'; $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.'; $wb['php_ini_check_minutes_info_txt'] = '0 = no check'; +$wb['enable_spdy_txt'] = 'Makes SPDY available'; ?> diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index 1ea52554a80d1089954ce5f7c958d679a05d652e..c4079bf2fa8a99e3784c52435ddac580609445c9 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -161,6 +161,14 @@ {tmpl_var name='enable_sni'} </div> </div> + <div class="ctrlHolder"> + <p class="label"> + <tmpl_var name="enable_spdy_txt"> + </p> + <div class="multiField"> + <tmpl_var name="enable_spdy"> + </div> + </div> <div class="ctrlHolder"> <label for="CA_path">{tmpl_var name='CA_path_txt'}</label> <input name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" size="40" maxlength="255" type="text" autocomplete="off" class="textInput" /> diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php index 362545256f54860e541716c93f0bc7a91c733a60..8d2ce89855339e565e0d24ad50feba3020041c9d 100644 --- a/interface/web/client/form/client.tform.php +++ b/interface/web/client/form/client.tform.php @@ -367,7 +367,12 @@ $form["tabs"]['address'] = array ( 'width' => '30', 'maxlength' => '255', 'rows' => '', - 'cols' => '' + 'cols' => '', + 'validators' => array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_client', + 'function' => 'check_vat_id', + 'errmsg'=> 'invalid_vat_id'), + ), ), 'company_id' => array ( 'datatype' => 'VARCHAR', diff --git a/interface/web/client/form/reseller.tform.php b/interface/web/client/form/reseller.tform.php index 8efedf710d30fd7aaa84934c62ded69e21abac93..b70c765386759e6affd609f51fa9bd15c0dde346 100644 --- a/interface/web/client/form/reseller.tform.php +++ b/interface/web/client/form/reseller.tform.php @@ -364,7 +364,12 @@ $form["tabs"]['address'] = array ( 'width' => '30', 'maxlength' => '255', 'rows' => '', - 'cols' => '' + 'cols' => '', + 'validators' => array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_client', + 'function' => 'check_vat_id', + 'errmsg'=> 'invalid_vat_id'), + ), ), 'company_id' => array ( 'datatype' => 'VARCHAR', diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index e5ba066ee89c31c095f86cab93dfa43082f89552..7ee7226d8cc780c7e6f22c35ac8effe9aa034c90 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -110,7 +110,7 @@ $wb['limit_webdav_user_error_notint'] = 'Das WebDAV Benutzer Limit muss eine Zah $wb['limit_backup_txt'] = 'Backupfunktion verfügbar'; $wb['limit_dns_slave_zone_error_notint'] = 'Das Secondary DNS Zonen Limit muss eine Zahl sein.'; $wb['customer_no_txt'] = 'Kundennummer'; -$wb['vat_id_txt'] = 'USt-ID'; +$wb['vat_id_txt'] = 'USt.-ID'; $wb['required_fields_txt'] = '* Benötigte Felder'; $wb['limit_mailmailinglist_txt'] = 'Max. Anzahl an Mailinglisten'; $wb['limit_mailmailinglist_error_notint'] = 'Das Mailinglisten Limit muss eine Zahl sein.'; @@ -176,4 +176,5 @@ $wb['limit_database_quota_error_notint'] = 'Das Datenbank-quota muß eine Nummer $wb['reseller_txt'] = 'Reseller'; $wb['btn_save_txt'] = 'Speichern'; $wb['btn_cancel_txt'] = 'Abbrechen'; +$wb['invalid_vat_id'] = 'Die USt.-ID ist ungültig.'; ?> diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng index 1595e567b951dc4da9da07e1182984faf8aa4731..541b5d2dd18879d2c87f371d7565e610d18cbeb3 100644 --- a/interface/web/client/lib/lang/de_reseller.lng +++ b/interface/web/client/lib/lang/de_reseller.lng @@ -106,7 +106,7 @@ $wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Secondary DNS Zonen'; $wb['limit_dns_slave_zone_error_notint'] = 'Das Secondary DNS Zonen Limit muss eine Zahl sein.'; $wb['limit_dns_record_error_notint'] = 'Das DNS Eintrag Limit muss eine Zahl sein.'; $wb['customer_no_txt'] = 'Kundennummer'; -$wb['vat_id_txt'] = 'USt-ID'; +$wb['vat_id_txt'] = 'USt.-ID'; $wb['required_fields_txt'] = '* Benötigte Felder'; $wb['limit_webdav_user_txt'] = 'Max. Anzahl an WebDAV Benutzern'; $wb['limit_webdav_user_error_notint'] = 'Das WebDAV Benutzer Limit muss eine Zahl sein.'; @@ -160,4 +160,5 @@ $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; +$wb['invalid_vat_id'] = 'Die USt.-ID ist ungültig.'; ?> diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng index 225b304d6339505a685660f4f10ee3ea54a4d4e8..e7e634bf08d749ce7658c371dbdd6d23dd3124ff 100644 --- a/interface/web/client/lib/lang/en_client.lng +++ b/interface/web/client/lib/lang/en_client.lng @@ -179,4 +179,5 @@ $wb['limit_database_quota_error_notint'] = 'The database quota limit must be a n $wb['reseller_txt'] = 'Reseller'; $wb['btn_save_txt'] = "Save"; $wb['btn_cancel_txt'] = "Cancel"; +$wb['invalid_vat_id'] = 'The VAT ID is invalid.'; ?> diff --git a/interface/web/client/lib/lang/en_reseller.lng b/interface/web/client/lib/lang/en_reseller.lng index b94c30e86098d290f29066624c0adbae5fbd04bb..e23657c0556ee875e02afa1fe6db8c35a69c4fc6 100644 --- a/interface/web/client/lib/lang/en_reseller.lng +++ b/interface/web/client/lib/lang/en_reseller.lng @@ -178,4 +178,5 @@ $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.'; +$wb['invalid_vat_id'] = 'The VAT ID is invalid.'; ?> diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng index a392ac4e33b18073de853b94f08b3f23510fc8a9..e0ef8c7d0c5667ca6d59aeb408d48d444c49882b 100644 --- a/interface/web/mail/lib/lang/de_mail_forward.lng +++ b/interface/web/mail/lib/lang/de_mail_forward.lng @@ -6,4 +6,5 @@ $wb['limit_mailforward_txt'] = 'Die maximale Anzahl an E-Mail Weiterleitungen f $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser Adresse.'; $wb['domain_txt'] = 'Domain'; $wb['source_txt'] = 'Quell E-Mail Adresse'; +$wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_forward.lng b/interface/web/mail/lib/lang/en_mail_forward.lng index 4482593654011688141fa8015313989e199f8130..5d371eee7591c6e5037601e3ed620c429fdf9ea1 100644 --- a/interface/web/mail/lib/lang/en_mail_forward.lng +++ b/interface/web/mail/lib/lang/en_mail_forward.lng @@ -6,4 +6,5 @@ $wb["limit_mailforward_txt"] = 'The max. number of email forwarders for your acc $wb["duplicate_mailbox_txt"] = 'There is already a mailbox with this email address'; $wb['domain_txt'] = 'Domain'; $wb["source_txt"] = 'Source Email'; +$wb['email_error_isemail'] = 'Please enter a valid email address.'; ?> diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php index 4d6b161db42aee7b7c110b1d0aaf6a14f5ac5551..c342605c9ae42da884e644e6cf89da8179007485 100644 --- a/interface/web/sites/form/web_vhost_domain.tform.php +++ b/interface/web/sites/form/web_vhost_domain.tform.php @@ -523,6 +523,15 @@ if($ssl_available) { 'default' => '', 'value' => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt') ), + 'enable_spdy' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array ( + 0 => 'n', + 1 => 'y' + ) + ), //################################# // ENDE Datatable fields //################################# diff --git a/interface/web/sites/lib/lang/de_web_vhost_domain.lng b/interface/web/sites/lib/lang/de_web_vhost_domain.lng index 7cce816805d2f9af7f35c5d1af1c14ab4b3c9825..a6b866df38e5914453c60292a904200ea3ef5406 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_domain.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_domain.lng @@ -136,4 +136,5 @@ $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; $wb['apache_directive_blocked_error'] = 'Die Apache Direktive wurde durch die Sicherheitsrichtline blockiert:'; $wb['btn_save_txt'] = 'Speichern'; $wb['btn_cancel_txt'] = 'Abbrechen'; +$wb['enable_spdy_txt'] = 'Aktiviere SPDY'; ?> diff --git a/interface/web/sites/lib/lang/en_web_vhost_domain.lng b/interface/web/sites/lib/lang/en_web_vhost_domain.lng index 1f6b45568dc7c60132d41fa465f402fe384a827f..3be30d054de71dda5737bb8b915919f3a7f3ffaa 100644 --- a/interface/web/sites/lib/lang/en_web_vhost_domain.lng +++ b/interface/web/sites/lib/lang/en_web_vhost_domain.lng @@ -139,4 +139,5 @@ $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid c $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.'; $wb['btn_save_txt'] = "Save"; $wb['btn_cancel_txt'] = "Cancel"; +$wb['enable_spdy_txt'] = 'Enable SPDY'; ?> diff --git a/interface/web/sites/templates/web_vhost_domain_advanced.htm b/interface/web/sites/templates/web_vhost_domain_advanced.htm index d2c3bb871caa7777281211ebc52bf6ac9a49a27a..8529819b6dc1efda67d014144cc610018d3ea193 100644 --- a/interface/web/sites/templates/web_vhost_domain_advanced.htm +++ b/interface/web/sites/templates/web_vhost_domain_advanced.htm @@ -176,4 +176,4 @@ }); } -</script> \ No newline at end of file +</script> diff --git a/interface/web/sites/templates/web_vhost_domain_ssl.htm b/interface/web/sites/templates/web_vhost_domain_ssl.htm index 4869c19aa875e3117b28949e9c1802d915c54ac6..e910e22b1c714c75b0d6ff524d71c86be436cbf2 100644 --- a/interface/web/sites/templates/web_vhost_domain_ssl.htm +++ b/interface/web/sites/templates/web_vhost_domain_ssl.htm @@ -64,6 +64,14 @@ {tmpl_var name='ssl_action'} </select> </div> + {tmpl_if name="is_spdy_enabled"} + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='enable_spdy_txt'}</p> + <div class="multiField"> + {tmpl_var name="enable_spdy"} + </div> + </div> + {/tmpl_if} </fieldset> <input type="hidden" name="id" value="{tmpl_var name='id'}"> @@ -74,4 +82,4 @@ </div> </div> -</div> \ No newline at end of file +</div> diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php index 8935713063338d801a62953ae677e8bd490c5c5f..27ece43ef50cbafc508f430963cbca3bb733519c 100644 --- a/interface/web/sites/web_vhost_domain_edit.php +++ b/interface/web/sites/web_vhost_domain_edit.php @@ -699,6 +699,8 @@ class page_action extends tform_actions { $app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type); + $app->tpl->setVar('is_spdy_enabled', ($web_config['enable_spdy'] === 'y')); + parent::onShowEnd(); } @@ -1068,6 +1070,10 @@ class page_action extends tform_actions { } } + if($web_config['enable_spdy'] === 'n') { + unset($app->tform->formDef["tabs"]['ssl']['fields']['enable_spdy']); + } + parent::onSubmit(); } diff --git a/server/conf/apache_apps.vhost.master b/server/conf/apache_apps.vhost.master index bc6c6bcfb087906df401e6298a1eaca022c97599..7d6d66590aa1c593525bb0faeafc34ee88d56526 100644 --- a/server/conf/apache_apps.vhost.master +++ b/server/conf/apache_apps.vhost.master @@ -10,11 +10,17 @@ <VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}> ServerAdmin webmaster@localhost {tmpl_var name='apps_vhost_servername'} - + <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> - + + {tmpl_if name="enable_spdy" op="==" value="y"} + <IfModule spdy_module> + SpdyEnabled on + </IfModule> + {/tmpl_if} + <IfModule mod_php5.c> DocumentRoot {tmpl_var name='apps_vhost_dir'} AddType application/x-httpd-php .php diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master index 222bf2989e3419568a602f7d1961749bbc09d59f..5236a1958ed94dba5245fed733bd122ab7bf6bd2 100644 --- a/server/conf/nginx_vhost.conf.master +++ b/server/conf/nginx_vhost.conf.master @@ -5,10 +5,10 @@ server { </tmpl_if> <tmpl_if name='ssl_enabled'> - listen <tmpl_var name='ip_address'>:443 ssl; + listen <tmpl_var name='ip_address'>:443 ssl{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if}; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; <tmpl_if name='ipv6_enabled'> - listen [<tmpl_var name='ipv6_address'>]:443 ssl; + listen [<tmpl_var name='ipv6_address'>]:443 ssl{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if};; </tmpl_if> ssl_certificate <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt; ssl_certificate_key <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key; @@ -242,4 +242,4 @@ server { } </tmpl_if> } -</tmpl_loop> \ No newline at end of file +</tmpl_loop> diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index c0eed64b24bb43de05c4226f5e447f58842455c9..6f443fb00786277116520f42f3b917bf6f259946 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -86,7 +86,7 @@ class db extends mysqli $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); return false; } - if(!((bool)mysqli_query( $this->_iConnId, "USE $this->dbName"))) { + if(!((bool)mysqli_query( $this->_iConnId, 'USE `' . $this->dbName . '`'))) { $this->close(); $this->_sqlerror('Datenbank nicht gefunden / Database not found'); return false;