1 files renamed
10 files added
215 files modified
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2007, Till Brehm, projektfarm Gmbh |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | | are permitted provided that the following conditions are met: |
| | | |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright notice, |
| | | this list of conditions and the following disclaimer in the documentation |
| | | and/or other materials provided with the distribution. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| | | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| | | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| | | IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| | | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| | | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| | | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | //*** Fedora 9 default settings |
| | | |
| | | //* Main |
| | | $conf['language'] = 'en'; |
| | | $conf['distname'] = 'centos72'; |
| | | $conf['hostname'] = 'server1.domain.tld'; // Full hostname |
| | | $conf['ispconfig_install_dir'] = '/usr/local/ispconfig'; |
| | | $conf['ispconfig_config_dir'] = '/usr/local/ispconfig'; |
| | | $conf['ispconfig_log_priority'] = 2; // 0 = Debug, 1 = Warning, 2 = Error |
| | | $conf['ispconfig_log_dir'] = '/var/log/ispconfig'; |
| | | $conf['server_id'] = 1; |
| | | $conf['init_scripts'] = '/etc/init.d'; |
| | | $conf['runlevel'] = '/etc'; |
| | | $conf['shells'] = '/etc/shells'; |
| | | $conf['pam'] = '/etc/pam.d'; |
| | | |
| | | //* Services provided by this server, this selection will be overridden by the expert mode |
| | | $conf['services']['mail'] = true; |
| | | $conf['services']['web'] = true; |
| | | $conf['services']['dns'] = true; |
| | | $conf['services']['file'] = true; |
| | | $conf['services']['db'] = true; |
| | | $conf['services']['vserver'] = true; |
| | | |
| | | //* MySQL |
| | | $conf['mysql']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mysql']['init_script'] = 'mariadb'; |
| | | $conf['mysql']['host'] = 'localhost'; |
| | | $conf['mysql']['ip'] = '127.0.0.1'; |
| | | $conf['mysql']['port'] = '3306'; |
| | | $conf['mysql']['database'] = 'dbispconfig'; |
| | | $conf['mysql']['admin_user'] = 'root'; |
| | | $conf['mysql']['admin_password'] = ''; |
| | | $conf['mysql']['charset'] = 'utf8'; |
| | | $conf['mysql']['ispconfig_user'] = 'ispconfig'; |
| | | $conf['mysql']['ispconfig_password'] = md5(uniqid(rand())); |
| | | $conf['mysql']['master_slave_setup'] = 'n'; |
| | | $conf['mysql']['master_host'] = ''; |
| | | $conf['mysql']['master_database'] = 'dbispconfig'; |
| | | $conf['mysql']['master_admin_user'] = 'root'; |
| | | $conf['mysql']['master_admin_password'] = ''; |
| | | $conf['mysql']['master_ispconfig_user'] = ''; |
| | | $conf['mysql']['master_ispconfig_password'] = md5(uniqid(rand())); |
| | | |
| | | //* Apache |
| | | $conf['apache']['installed'] = false; // will be detected automatically during installation |
| | | $conf['apache']['user'] = 'apache'; |
| | | $conf['apache']['group'] = 'apache'; |
| | | $conf['apache']['init_script'] = 'httpd'; |
| | | $conf['apache']['version'] = '2.2'; |
| | | $conf['apache']['vhost_conf_dir'] = '/etc/httpd/conf/sites-available'; |
| | | $conf['apache']['vhost_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled'; |
| | | $conf['apache']['vhost_port'] = '8080'; |
| | | $conf['apache']['php_ini_path_apache'] = '/etc/php.ini'; |
| | | $conf['apache']['php_ini_path_cgi'] = '/etc/php.ini'; |
| | | |
| | | //* Website base settings |
| | | $conf['web']['website_basedir'] = '/var/www'; |
| | | $conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]'; |
| | | $conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/'; |
| | | |
| | | //* Apps base settings |
| | | $conf['web']['apps_vhost_ip'] = '_default_'; |
| | | $conf['web']['apps_vhost_port'] = '8081'; |
| | | $conf['web']['apps_vhost_servername'] = ''; |
| | | $conf['web']['apps_vhost_user'] = 'ispapps'; |
| | | $conf['web']['apps_vhost_group'] = 'ispapps'; |
| | | |
| | | //* Fastcgi |
| | | $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/'; |
| | | $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; |
| | | $conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi'; |
| | | |
| | | //* Postfix |
| | | $conf['postfix']['installed'] = false; // will be detected automatically during installation |
| | | $conf['postfix']['config_dir'] = '/etc/postfix'; |
| | | $conf['postfix']['init_script'] = 'postfix'; |
| | | $conf['postfix']['user'] = 'postfix'; |
| | | $conf['postfix']['group'] = 'postfix'; |
| | | $conf['postfix']['vmail_userid'] = '5000'; |
| | | $conf['postfix']['vmail_username'] = 'vmail'; |
| | | $conf['postfix']['vmail_groupid'] = '5000'; |
| | | $conf['postfix']['vmail_groupname'] = 'vmail'; |
| | | $conf['postfix']['vmail_mailbox_base'] = '/var/vmail'; |
| | | |
| | | //* Mailman |
| | | $conf['mailman']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mailman']['config_dir'] = '/etc/mailman'; |
| | | $conf['mailman']['init_script'] = 'mailman'; |
| | | |
| | | //* Getmail |
| | | $conf['getmail']['installed'] = false; // will be detected automatically during installation |
| | | $conf['getmail']['config_dir'] = '/etc/getmail'; |
| | | $conf['getmail']['program'] = '/usr/bin/getmail'; |
| | | |
| | | //* Courier |
| | | $conf['courier']['installed'] = false; // will be detected automatically during installation |
| | | $conf['courier']['config_dir'] = '/etc/authlib'; |
| | | $conf['courier']['courier-authdaemon'] = 'courier-authlib'; |
| | | $conf['courier']['courier-imap'] = 'courier-imap'; |
| | | $conf['courier']['courier-imap-ssl'] = ''; |
| | | $conf['courier']['courier-pop'] = ''; |
| | | $conf['courier']['courier-pop-ssl'] = ''; |
| | | |
| | | //* Dovecot |
| | | $conf['dovecot']['installed'] = false; // will be detected automatically during installation |
| | | $conf['dovecot']['config_dir'] = '/etc/dovecot'; |
| | | $conf['dovecot']['init_script'] = 'dovecot'; |
| | | |
| | | //* SASL |
| | | $conf['saslauthd']['installed'] = false; // will be detected automatically during installation |
| | | $conf['saslauthd']['config'] = '/etc/sysconfig/saslauthd'; |
| | | $conf['saslauthd']['init_script'] = 'saslauthd'; |
| | | |
| | | //* Amavisd |
| | | $conf['amavis']['installed'] = false; // will be detected automatically during installation |
| | | $conf['amavis']['config_dir'] = '/etc/amavisd'; |
| | | $conf['amavis']['init_script'] = 'amavisd'; |
| | | |
| | | //* ClamAV |
| | | $conf['clamav']['installed'] = false; // will be detected automatically during installation |
| | | $conf['clamav']['init_script'] = 'clamd@amavisd'; |
| | | |
| | | //* Pureftpd |
| | | $conf['pureftpd']['installed'] = false; // will be detected automatically during installation |
| | | $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd'; |
| | | $conf['pureftpd']['init_script'] = 'pure-ftpd'; |
| | | |
| | | //* MyDNS |
| | | $conf['mydns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mydns']['config_dir'] = '/etc'; |
| | | $conf['mydns']['init_script'] = 'mydns'; |
| | | |
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* BIND DNS Server |
| | | $conf['bind']['installed'] = false; // will be detected automatically during installation |
| | | $conf['bind']['bind_user'] = 'named'; |
| | | $conf['bind']['bind_group'] = 'named'; |
| | | $conf['bind']['bind_zonefiles_dir'] = '/var/named'; |
| | | $conf['bind']['named_conf_path'] = '/etc/named.conf'; |
| | | $conf['bind']['named_conf_local_path'] = '/etc/named.conf.local'; |
| | | $conf['bind']['init_script'] = 'named'; |
| | | |
| | | //* Jailkit |
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /bin/basename /usr/bin/dirname /usr/bin/nano'; |
| | | $conf['jailkit']['jailkit_chroot_cron_programs'] = '/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/php'; |
| | | |
| | | //* Squid |
| | | $conf['squid']['installed'] = false; // will be detected automatically during installation |
| | | $conf['squid']['config_dir'] = '/etc/squid'; |
| | | $conf['squid']['init_script'] = 'squid'; |
| | | |
| | | //* Nginx |
| | | $conf['nginx']['installed'] = false; // will be detected automatically during installation |
| | | $conf['nginx']['user'] = 'nginx'; |
| | | $conf['nginx']['group'] = 'nginx'; |
| | | $conf['nginx']['config_dir'] = '/etc/nginx'; |
| | | $conf['nginx']['vhost_conf_dir'] = '/etc/nginx/sites-available'; |
| | | $conf['nginx']['vhost_conf_enabled_dir'] = '/etc/nginx/sites-enabled'; |
| | | $conf['nginx']['init_script'] = 'nginx'; |
| | | $conf['nginx']['vhost_port'] = '8080'; |
| | | $conf['nginx']['cgi_socket'] = '/var/run/fcgiwrap.socket'; |
| | | $conf['nginx']['php_fpm_init_script'] = 'php-fpm'; |
| | | $conf['nginx']['php_fpm_ini_path'] = '/etc/php.ini'; |
| | | $conf['nginx']['php_fpm_pool_dir'] = '/etc/php-fpm.d'; |
| | | $conf['nginx']['php_fpm_start_port'] = 9010; |
| | | $conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php5-fpm'; |
| | | |
| | | //* vlogger |
| | | $conf['vlogger']['config_dir'] = '/etc'; |
| | | |
| | | //* cron |
| | | $conf['cron']['init_script'] = 'crond'; |
| | | $conf['cron']['crontab_dir'] = '/etc/cron.d'; |
| | | $conf['cron']['wget'] = '/usr/bin/wget'; |
| | | |
| | | //* OpenVZ |
| | | $conf['openvz']['installed'] = false; |
| | | |
| | | ?> |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2016, Till Brehm, ISPConfig UG |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | | are permitted provided that the following conditions are met: |
| | | |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright notice, |
| | | this list of conditions and the following disclaimer in the documentation |
| | | and/or other materials provided with the distribution. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| | | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| | | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| | | IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| | | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| | | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| | | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | //*** Ubuntu 16.04 default settings |
| | | |
| | | //* Main |
| | | $conf['language'] = 'en'; |
| | | $conf['distname'] = 'ubuntu1604'; |
| | | $conf['hostname'] = 'server1.domain.tld'; // Full hostname |
| | | $conf['ispconfig_install_dir'] = '/usr/local/ispconfig'; |
| | | $conf['ispconfig_config_dir'] = '/usr/local/ispconfig'; |
| | | $conf['ispconfig_log_priority'] = 2; // 0 = Debug, 1 = Warning, 2 = Error |
| | | $conf['ispconfig_log_dir'] = '/var/log/ispconfig'; |
| | | $conf['server_id'] = 1; |
| | | $conf['init_scripts'] = '/etc/init.d'; |
| | | $conf['runlevel'] = '/etc'; |
| | | $conf['shells'] = '/etc/shells'; |
| | | $conf['pam'] = '/etc/pam.d'; |
| | | |
| | | //* Services provided by this server, this selection will be overridden by the expert mode |
| | | $conf['services']['mail'] = true; |
| | | $conf['services']['web'] = true; |
| | | $conf['services']['dns'] = true; |
| | | $conf['services']['file'] = true; |
| | | $conf['services']['db'] = true; |
| | | $conf['services']['vserver'] = true; |
| | | $conf['services']['proxy'] = false; |
| | | $conf['services']['firewall'] = false; |
| | | |
| | | //* MySQL |
| | | $conf['mysql']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mysql']['init_script'] = 'mysql'; |
| | | $conf['mysql']['host'] = 'localhost'; |
| | | $conf['mysql']['ip'] = '127.0.0.1'; |
| | | $conf['mysql']['port'] = '3306'; |
| | | $conf['mysql']['database'] = 'dbispconfig'; |
| | | $conf['mysql']['admin_user'] = 'root'; |
| | | $conf['mysql']['admin_password'] = ''; |
| | | $conf['mysql']['charset'] = 'utf8'; |
| | | $conf['mysql']['ispconfig_user'] = 'ispconfig'; |
| | | $conf['mysql']['ispconfig_password'] = md5(uniqid(rand())); |
| | | $conf['mysql']['master_slave_setup'] = 'n'; |
| | | $conf['mysql']['master_host'] = ''; |
| | | $conf['mysql']['master_database'] = 'dbispconfig'; |
| | | $conf['mysql']['master_admin_user'] = 'root'; |
| | | $conf['mysql']['master_admin_password'] = ''; |
| | | $conf['mysql']['master_ispconfig_user'] = ''; |
| | | $conf['mysql']['master_ispconfig_password'] = md5(uniqid(rand())); |
| | | |
| | | //* Apache |
| | | $conf['apache']['installed'] = false; // will be detected automatically during installation |
| | | $conf['apache']['user'] = 'www-data'; |
| | | $conf['apache']['group'] = 'www-data'; |
| | | $conf['apache']['init_script'] = 'apache2'; |
| | | $conf['apache']['version'] = '2.4'; |
| | | $conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available'; |
| | | $conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled'; |
| | | $conf['apache']['vhost_port'] = '8080'; |
| | | $conf['apache']['php_ini_path_apache'] = '/etc/php/7.0/apache2/php.ini'; |
| | | $conf['apache']['php_ini_path_cgi'] = '/etc/php/7.0/cgi/php.ini'; |
| | | |
| | | //* Website base settings |
| | | $conf['web']['website_basedir'] = '/var/www'; |
| | | $conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]'; |
| | | $conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/'; |
| | | |
| | | //* Apps base settings |
| | | $conf['web']['apps_vhost_ip'] = '_default_'; |
| | | $conf['web']['apps_vhost_port'] = '8081'; |
| | | $conf['web']['apps_vhost_servername'] = ''; |
| | | $conf['web']['apps_vhost_user'] = 'ispapps'; |
| | | $conf['web']['apps_vhost_group'] = 'ispapps'; |
| | | |
| | | //* Fastcgi |
| | | $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/7.0/cgi/'; |
| | | $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; |
| | | $conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi'; |
| | | |
| | | //* Postfix |
| | | $conf['postfix']['installed'] = false; // will be detected automatically during installation |
| | | $conf['postfix']['config_dir'] = '/etc/postfix'; |
| | | $conf['postfix']['init_script'] = 'postfix'; |
| | | $conf['postfix']['user'] = 'postfix'; |
| | | $conf['postfix']['group'] = 'postfix'; |
| | | $conf['postfix']['vmail_userid'] = '5000'; |
| | | $conf['postfix']['vmail_username'] = 'vmail'; |
| | | $conf['postfix']['vmail_groupid'] = '5000'; |
| | | $conf['postfix']['vmail_groupname'] = 'vmail'; |
| | | $conf['postfix']['vmail_mailbox_base'] = '/var/vmail'; |
| | | |
| | | //* Mailman |
| | | $conf['mailman']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mailman']['config_dir'] = '/etc/mailman'; |
| | | $conf['mailman']['init_script'] = 'mailman'; |
| | | |
| | | //* Getmail |
| | | $conf['getmail']['installed'] = false; // will be detected automatically during installation |
| | | $conf['getmail']['config_dir'] = '/etc/getmail'; |
| | | $conf['getmail']['program'] = '/usr/bin/getmail'; |
| | | |
| | | //* Courier |
| | | $conf['courier']['installed'] = false; // will be detected automatically during installation |
| | | $conf['courier']['config_dir'] = '/etc/courier'; |
| | | $conf['courier']['courier-authdaemon'] = 'courier-authdaemon'; |
| | | $conf['courier']['courier-imap'] = 'courier-imap'; |
| | | $conf['courier']['courier-imap-ssl'] = 'courier-imap-ssl'; |
| | | $conf['courier']['courier-pop'] = 'courier-pop'; |
| | | $conf['courier']['courier-pop-ssl'] = 'courier-pop-ssl'; |
| | | |
| | | //* Dovecot |
| | | $conf['dovecot']['installed'] = false; // will be detected automatically during installation |
| | | $conf['dovecot']['config_dir'] = '/etc/dovecot'; |
| | | $conf['dovecot']['init_script'] = 'dovecot'; |
| | | |
| | | //* SASL |
| | | $conf['saslauthd']['installed'] = false; // will be detected automatically during installation |
| | | $conf['saslauthd']['config'] = '/etc/default/saslauthd'; |
| | | $conf['saslauthd']['init_script'] = 'saslauthd'; |
| | | |
| | | //* Amavisd |
| | | $conf['amavis']['installed'] = false; // will be detected automatically during installation |
| | | $conf['amavis']['config_dir'] = '/etc/amavis'; |
| | | $conf['amavis']['init_script'] = 'amavis'; |
| | | |
| | | //* ClamAV |
| | | $conf['clamav']['installed'] = false; // will be detected automatically during installation |
| | | $conf['clamav']['init_script'] = 'clamav-daemon'; |
| | | |
| | | //* Pureftpd |
| | | $conf['pureftpd']['installed'] = false; // will be detected automatically during installation |
| | | $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd'; |
| | | $conf['pureftpd']['init_script'] = 'pure-ftpd-mysql'; |
| | | |
| | | //* MyDNS |
| | | $conf['mydns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['mydns']['config_dir'] = '/etc'; |
| | | $conf['mydns']['init_script'] = 'mydns'; |
| | | |
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* BIND DNS Server |
| | | $conf['bind']['installed'] = false; // will be detected automatically during installation |
| | | $conf['bind']['bind_user'] = 'root'; |
| | | $conf['bind']['bind_group'] = 'bind'; |
| | | $conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; |
| | | $conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; |
| | | $conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; |
| | | $conf['bind']['init_script'] = 'bind9'; |
| | | |
| | | //* Jailkit |
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico /usr/bin/mysql /usr/bin/mysqldump /usr/bin/git /usr/bin/git-receive-pack /usr/bin/git-upload-pack /usr/bin/unzip /usr/bin/zip /bin/tar /bin/rm /usr/bin/patch'; |
| | | $conf['jailkit']['jailkit_chroot_cron_programs'] = '/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/php'; |
| | | |
| | | //* Squid |
| | | $conf['squid']['installed'] = false; // will be detected automatically during installation |
| | | $conf['squid']['config_dir'] = '/etc/squid'; |
| | | $conf['squid']['init_script'] = 'squid'; |
| | | |
| | | //* Nginx |
| | | $conf['nginx']['installed'] = false; // will be detected automatically during installation |
| | | $conf['nginx']['user'] = 'www-data'; |
| | | $conf['nginx']['group'] = 'www-data'; |
| | | $conf['nginx']['config_dir'] = '/etc/nginx'; |
| | | $conf['nginx']['vhost_conf_dir'] = '/etc/nginx/sites-available'; |
| | | $conf['nginx']['vhost_conf_enabled_dir'] = '/etc/nginx/sites-enabled'; |
| | | $conf['nginx']['init_script'] = 'nginx'; |
| | | $conf['nginx']['vhost_port'] = '8080'; |
| | | $conf['nginx']['cgi_socket'] = '/var/run/fcgiwrap.socket'; |
| | | $conf['nginx']['php_fpm_init_script'] = 'php7.0-fpm'; |
| | | $conf['nginx']['php_fpm_ini_path'] = '/etc/php/7.0/fpm/php.ini'; |
| | | $conf['nginx']['php_fpm_pool_dir'] = '/etc/php/7.0/fpm/pool.d'; |
| | | $conf['nginx']['php_fpm_start_port'] = 9010; |
| | | $conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php7.0-fpm'; |
| | | |
| | | //* OpenVZ |
| | | $conf['openvz']['installed'] = false; |
| | | |
| | | //*Bastille-Firwall |
| | | $conf['bastille']['installed'] = false; |
| | | $conf['bastille']['config_dir'] = '/etc/Bastille'; |
| | | |
| | | //* vlogger |
| | | $conf['vlogger']['config_dir'] = '/etc'; |
| | | |
| | | //* cron |
| | | $conf['cron']['init_script'] = 'cron'; |
| | | $conf['cron']['crontab_dir'] = '/etc/cron.d'; |
| | | $conf['cron']['wget'] = '/usr/bin/wget'; |
| | | |
| | | //* Metronome XMPP |
| | | $conf['xmpp']['installed'] = false; |
| | | $conf['xmpp']['init_script'] = 'metronome'; |
| | | |
| | | |
| | | ?> |
File was renamed from install/dist/lib/ubuntu1604.lib.php |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2016, Till Brehm, ISPConfig UG |
| | | Copyright (c) 2014, Till Brehm, ISPConfig UG |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | class installer extends installer_base { |
| | | require_once realpath(dirname(__FILE__)) . '/centos_base.lib.php'; |
| | | |
| | | class installer extends installer_centos { |
| | | |
| | | protected $clamav_socket = '/var/run/clamd.amavisd/clamd.sock'; |
| | | |
| | | // everything else is inherited from installer_centos class |
| | | } |
| | | |
| | | ?> |
| | |
| | | protected $clamav_socket = '/tmp/clamd.socket'; |
| | | |
| | | public function configure_amavis() { |
| | | global $conf; |
| | | global $conf, $dist; |
| | | |
| | | // amavisd user config file |
| | | $configfile = 'fedora_amavisd_conf'; |
| | |
| | | $content = str_replace('/var/spool/amavisd/clamd.sock', $this->clamav_socket, $content); |
| | | wf($conf["amavis"]["config_dir"].'/amavisd.conf', $content); |
| | | chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0640); |
| | | |
| | | // for CentOS 7.2 only |
| | | if($dist['confid'] == 'centos72') { |
| | | chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0750); |
| | | chgrp($conf['amavis']['config_dir'].'/amavisd.conf', 'amavis'); |
| | | } |
| | | |
| | | |
| | | // Adding the amavisd commands to the postfix configuration |
| | |
| | | |
| | | //* mysql-virtual_relayrecipientmaps.cf |
| | | $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf'); |
| | | |
| | | //* mysql-virtual_outgoing_bcc.cf |
| | | $this->process_postfix_config('mysql-virtual_outgoing_bcc.cf'); |
| | | |
| | | //* mysql-virtual_policy_greylist.cf |
| | | $this->process_postfix_config('mysql-virtual_policy_greylist.cf'); |
| | |
| | | //if(!is_file('/var/lib/mailman/data/aliases')) touch('/var/lib/mailman/data/aliases'); |
| | | if(is_file('/var/lib/mailman/data/aliases')) unlink('/var/lib/mailman/data/aliases'); |
| | | if(!is_link('/var/lib/mailman/data/aliases')) symlink('/etc/mailman/aliases', '/var/lib/mailman/data/aliases'); |
| | | if(!is_file('/etc/mailman/aliases')) touch('/etc/mailman/aliases'); |
| | | exec('postalias /var/lib/mailman/data/aliases'); |
| | | if(!is_file('/etc/mailman/virtual-mailman')) touch('/etc/mailman/virtual-mailman'); |
| | | exec('postmap /etc/mailman/virtual-mailman'); |
| | | if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman'); |
| | | exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman'); |
| | | |
| | | //* Create auxillary postfix conf files |
| | | $configfile = 'helo_access'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | # todo: look up this server's ip addrs and loop through each |
| | | # todo: look up domains hosted on this server and loop through each |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | $configfile = 'blacklist_helo'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | //* Make a backup copy of the main.cf file |
| | | copy($config_dir.'/main.cf', $config_dir.'/main.cf~'); |
| | |
| | | $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); |
| | | $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content); |
| | | $content = str_replace('{server_id}', $conf['server_id'], $content); |
| | | # enable iterate_query for dovecot2 |
| | | if(version_compare($dovecot_version,2, '>=')) { |
| | | $content = str_replace('# iterate_query', 'iterate_query', $content); |
| | | } |
| | | wf("$config_dir/$configfile", $content); |
| | | |
| | | exec("chmod 600 $config_dir/$configfile"); |
| | |
| | | } |
| | | |
| | | public function configure_amavis() { |
| | | global $conf; |
| | | global $conf, $dist; |
| | | |
| | | // amavisd user config file |
| | | $configfile = 'fedora_amavisd_conf'; |
| | |
| | | $content = str_replace('{hostname}', $conf['hostname'], $content); |
| | | wf($conf["amavis"]["config_dir"].'/amavisd.conf', $content); |
| | | chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0640); |
| | | |
| | | // for CentOS 7.2 only |
| | | if($dist['confid'] == 'centos72') { |
| | | chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0750); |
| | | chgrp($conf['amavis']['config_dir'].'/amavisd.conf', 'amavis'); |
| | | } |
| | | |
| | | |
| | | // Adding the amavisd commands to the postfix configuration |
| | |
| | | touch($config_dir.'/nested_header_checks'); |
| | | touch($config_dir.'/body_checks'); |
| | | |
| | | //* Create auxillary postfix conf files |
| | | $configfile = 'helo_access'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | # todo: look up this server's ip addrs and loop through each |
| | | # todo: look up domains hosted on this server and loop through each |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | $configfile = 'blacklist_helo'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | //* Make a backup copy of the main.cf file |
| | | copy($config_dir.'/main.cf', $config_dir.'/main.cf~'); |
| | |
| | | //* dovecot-sql.conf |
| | | $configfile = $config_dir.'/dovecot-sql.conf'; |
| | | $content = $this->get_template_file('debian_dovecot-sql.conf', true, true); |
| | | # enable iterate_query for dovecot2 |
| | | if(version_compare($dovecot_version,2, '>=')) { |
| | | $content = str_replace('# iterate_query', 'iterate_query', $content); |
| | | } |
| | | $this->write_config_file($configfile, $content); |
| | | } |
| | | |
| | |
| | | if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman'); |
| | | exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman'); |
| | | |
| | | //* Create auxillary postfix conf files |
| | | $configfile = 'helo_access'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | # todo: look up this server's ip addrs and loop through each |
| | | # todo: look up domains hosted on this server and loop through each |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | $configfile = 'blacklist_helo'; |
| | | if(is_file($config_dir.'/'.$configfile)) { |
| | | copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); |
| | | chmod($config_dir.'/'.$configfile.'~', 0400); |
| | | } |
| | | $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); |
| | | $content = strtr($content, $postconf_placeholders); |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | //* Make a backup copy of the main.cf file |
| | | copy($config_dir.'/main.cf', $config_dir.'/main.cf~'); |
| | | |
| | |
| | | $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); |
| | | $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content); |
| | | $content = str_replace('{server_id}', $conf['server_id'], $content); |
| | | # enable iterate_query for dovecot2 |
| | | if(version_compare($dovecot_version,2, '>=')) { |
| | | $content = str_replace('# iterate_query', 'iterate_query', $content); |
| | | } |
| | | wf("$config_dir/$configfile", $content); |
| | | |
| | | exec("chmod 600 $config_dir/$configfile"); |
| | |
| | | |
| | | $inet_socket_port = [10024,10026]; |
| | | |
| | | # *:* = send to IP/HOST:incoming Port + 1 |
| | | $forward_method = 'smtp:*:*'; |
| | | $notify_method = 'smtp:*:*'; |
| | | # :* = send to incoming Port + 1 |
| | | $forward_method = 'smtp:127.0.0.1:*'; |
| | | $notify_method = 'smtp:127.0.0.1:*'; |
| | | |
| | | $interface_policy{'10026'} = 'ORIGINATING'; |
| | | $policy_bank{'ORIGINATING'} = { |
| | |
| | | //** Include the distribution-specific installer class library and configuration |
| | | if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php'; |
| | | include_once 'dist/lib/'.$dist['id'].'.lib.php'; |
| | | include_once 'dist/conf/'.$dist['id'].'.conf.php'; |
| | | include_once 'dist/conf/'.$dist['confid'].'.conf.php'; |
| | | |
| | | //**************************************************************************************************** |
| | | //** Installer Interface |
| | |
| | | $conf['services']['proxy'] = false; |
| | | $conf['services']['xmpp'] = false; |
| | | |
| | | if($install_mode == 'standard') { |
| | | //** Get Server ID |
| | | // $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1'); |
| | | // Server ID is an autoInc value of the mysql database now |
| | | if($install_mode == 'expert' && strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') { |
| | | $conf['mysql']['master_slave_setup'] = 'y'; |
| | | |
| | | //** Get MySQL root credentials |
| | | $finished = false; |
| | | do { |
| | | $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); |
| | | $tmp_mysql_server_port = $inst->free_query('MySQL master server port', $conf['mysql']['master_port'],'mysql_master_port'); |
| | | $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user'); |
| | | $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); |
| | | $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database'); |
| | | |
| | | //* Initialize the MySQL server connection |
| | | if(@mysqli_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password, $tmp_mysql_server_database, (int)$tmp_mysql_server_port)) { |
| | | $conf['mysql']['master_host'] = $tmp_mysql_server_host; |
| | | $conf['mysql']['master_port'] = $tmp_mysql_server_port; |
| | | $conf['mysql']['master_admin_user'] = $tmp_mysql_server_admin_user; |
| | | $conf['mysql']['master_admin_password'] = $tmp_mysql_server_admin_password; |
| | | $conf['mysql']['master_database'] = $tmp_mysql_server_database; |
| | | $finished = true; |
| | | } else { |
| | | swriteln($inst->lng('Unable to connect to mysql server').' '.mysqli_connect_error()); |
| | | } |
| | | } while ($finished == false); |
| | | unset($finished); |
| | | |
| | | // initialize the connection to the master database |
| | | $inst->dbmaster = new db(); |
| | | if($inst->dbmaster->linkId) $inst->dbmaster->closeConn(); |
| | | $inst->dbmaster->setDBData($conf['mysql']["master_host"], $conf['mysql']["master_admin_user"], $conf['mysql']["master_admin_password"]); |
| | | $inst->dbmaster->setDBName($conf['mysql']["master_database"]); |
| | | |
| | | } else { |
| | | // the master DB is the same then the slave DB |
| | | $inst->dbmaster = $inst->db; |
| | | |
| | | //* Create the MySQL database |
| | | $inst->configure_database(); |
| | | } |
| | | |
| | | //* Insert the Server record into the database |
| | | $inst->add_database_server_record(); |
| | | //* Create the mysql database |
| | | $inst->configure_database(); |
| | | |
| | | //* Check for Web-Server |
| | | if(!$conf['apache']['installed'] && !$conf['nginx']['installed']) { |
| | | $conf['apache']['installed'] = $inst->force_configure_app('Apache', ($install_mode == 'expert')); |
| | | $conf['nginx']['installed'] = $inst->force_configure_app('nginx', ($install_mode == 'expert')); |
| | | } |
| | | |
| | | //* Configure Webserver - Apache or nginx |
| | | if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { |
| | | $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server'); |
| | | if($http_server_to_use == 'apache'){ |
| | | $conf['nginx']['installed'] = false; |
| | | $conf['services']['file'] = true; |
| | | } else { |
| | | $conf['apache']['installed'] = false; |
| | | } |
| | | } |
| | | |
| | | //* Insert the Server record into the database |
| | | if($install_mode == 'expert') { |
| | | swriteln('Adding ISPConfig server record to database.'); |
| | | swriteln(''); |
| | | } |
| | | $inst->add_database_server_record(); |
| | | |
| | | if($install_mode == 'standard' || strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') { |
| | | |
| | | //* Configure Postgrey |
| | | $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey', false); |
| | | $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey', ($install_mode == 'expert')); |
| | | if($force) swriteln('Configuring Postgrey'); |
| | | |
| | | //* Configure Postfix |
| | | $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix', false); |
| | | $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Postfix'); |
| | | $inst->configure_postfix(); |
| | | $conf['services']['mail'] = true; |
| | | $inst->configure_postfix(); |
| | | } |
| | | |
| | | if($conf['services']['mail']) { |
| | | |
| | | //* Configure Mailman |
| | | $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman', false); |
| | | $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Mailman'); |
| | | $inst->configure_mailman(); |
| | | } |
| | | } |
| | | |
| | | //* Check for Dovecot and Courier |
| | | if(!$conf['dovecot']['installed'] && !$conf['courier']['installed']) { |
| | | $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot', false); |
| | | $conf['courier']['installed'] = $inst->force_configure_app('Courier', false); |
| | | $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot', ($install_mode == 'expert')); |
| | | $conf['courier']['installed'] = $inst->force_configure_app('Courier', ($install_mode == 'expert')); |
| | | } |
| | | //* Configure Mailserver - Dovecot or Courier |
| | | if($conf['dovecot']['installed'] && $conf['courier']['installed']) { |
| | |
| | | } |
| | | |
| | | //* Configure Spamasassin |
| | | $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin', false); |
| | | $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Spamassassin'); |
| | | $inst->configure_spamassassin(); |
| | | } |
| | | |
| | | |
| | | //* Configure Amavis |
| | | $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd', false); |
| | | $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Amavisd'); |
| | | $inst->configure_amavis(); |
| | | } |
| | | |
| | | //* Configure Getmail |
| | | $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail', false); |
| | | $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Getmail'); |
| | | $inst->configure_getmail(); |
| | | } |
| | | } else { |
| | | swriteln('[ERROR] Postfix not installed - skipping Mail'); |
| | | } |
| | | } |
| | | |
| | | } else swriteln('[ERROR] Postfix not installed - skipping Mail'); |
| | | //* Configure Jailkit |
| | | $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Jailkit'); |
| | | $inst->configure_jailkit(); |
| | | } |
| | | |
| | | //* Configure Pureftpd |
| | | $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Pureftpd'); |
| | | $inst->configure_pureftpd(); |
| | | } |
| | | |
| | | //** Configure DNS |
| | | if($install_mode == 'standard' || strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') { |
| | | //* Check for DNS |
| | | // if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) { |
| | | if(!$conf['bind']['installed'] && !$conf['mydns']['installed']) { |
| | | // $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', false); |
| | | $conf['bind']['installed'] = $inst->force_configure_app('BIND', false); |
| | | $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS', false); |
| | | if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) { |
| | | if($install_mode == 'expert') $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', ($install_mode == 'expert')); |
| | | $conf['bind']['installed'] = $inst->force_configure_app('BIND', ($install_mode == 'expert')); |
| | | $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS', ($install_mode == 'expert')); |
| | | } |
| | | //* Configure PowerDNS |
| | | /* |
| | | if($conf['powerdns']['installed']) { |
| | | if($install_mode == 'expert' && $conf['powerdns']['installed']) { |
| | | swriteln('Configuring PowerDNS'); |
| | | $inst->configure_powerdns(); |
| | | $conf['services']['dns'] = true; |
| | | } |
| | | */ |
| | | |
| | | //* Configure Bind |
| | | if($conf['bind']['installed']) { |
| | | swriteln('Configuring BIND'); |
| | |
| | | $conf['services']['dns'] = true; |
| | | } |
| | | |
| | | //* Configure Jailkit |
| | | $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit', false); |
| | | if($force) { |
| | | swriteln('Configuring Jailkit'); |
| | | $inst->configure_jailkit(); |
| | | } |
| | | } |
| | | |
| | | //* Configure Pureftpd |
| | | $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd', false); |
| | | if($force) { |
| | | swriteln('Configuring Pureftpd'); |
| | | $inst->configure_pureftpd(); |
| | | } |
| | | |
| | | //* Check for Web-Server |
| | | if(!$conf['apache']['installed'] && !$conf['nginx']['installed']) { |
| | | $conf['apache']['installed'] = $inst->force_configure_app('Apache', false); |
| | | $conf['nginx']['installed'] = $inst->force_configure_app('nginx', false); |
| | | } |
| | | |
| | | //* Configure Webserver - Apache or nginx |
| | | if($conf['apache']['installed'] && $conf['nginx']['installed']) { |
| | | $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server'); |
| | | if($http_server_to_use == 'apache'){ |
| | | $conf['nginx']['installed'] = false; |
| | | } else { |
| | | $conf['apache']['installed'] = false; |
| | | } |
| | | } |
| | | |
| | | if($install_mode == 'standard' || strtolower($inst->simple_query('Configure Web Server', array('y', 'n'), 'y','configure_webserver')) == 'y') { |
| | | //* Configure Apache |
| | | if($conf['apache']['installed']){ |
| | | swriteln('Configuring Apache'); |
| | |
| | | $conf['services']['web'] = true; |
| | | $conf['services']['file'] = true; |
| | | //* Configure Vlogger |
| | | $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger', false); |
| | | $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring vlogger'); |
| | | $inst->configure_vlogger(); |
| | | } |
| | | //* Configure squid |
| | | /* |
| | | $force = @($conf['squid']['installed']) ? true : $inst->force_configure_app('squid'); |
| | | $force = @($conf['squid']['installed']) ? true : $inst->force_configure_app('squid', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Squid'); |
| | | $inst->configure_squid(); |
| | | $conf['services']['proxy'] = true; |
| | | if($conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script']))system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | */ |
| | | } |
| | | |
| | | //* Configure nginx |
| | | if($conf['nginx']['installed']){ |
| | | swriteln('Configuring nginx'); |
| | | $inst->configure_nginx(); |
| | | $conf['services']['web'] = true; |
| | | } |
| | | } |
| | | |
| | | //* Configure XMPP |
| | | $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server', false); |
| | | if($force) { |
| | | swriteln('Configuring Metronome XMPP Server'); |
| | | $inst->configure_xmpp(); |
| | | $conf['services']['xmpp'] = true; |
| | | } |
| | | //* Configure OpenVZ |
| | | $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ', ($install_mode == 'expert')); |
| | | if($force) { |
| | | $conf['services']['vserver'] = true; |
| | | swriteln('Configuring OpenVZ'); |
| | | } |
| | | |
| | | if($install_mode == 'standard' || strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') { |
| | | //* Check for Firewall |
| | | if(!$conf['ufw']['installed'] && !$conf['firewall']['installed']) { |
| | | $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall', false); |
| | | $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall', false); |
| | | $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall', ($install_mode == 'expert')); |
| | | $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall', ($install_mode == 'expert')); |
| | | } |
| | | //* Configure Firewall - Ubuntu or Bastille |
| | | if($conf['ufw']['installed'] && $conf['firewall']['installed']) { |
| | |
| | | $conf['services']['firewall'] = true; |
| | | $conf['bastille']['installed'] = true; |
| | | } |
| | | } |
| | | |
| | | //* Configure Fail2ban |
| | | $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban', false); |
| | | if($force) { |
| | | swriteln('Configuring Fail2ban'); |
| | | $inst->configure_fail2ban(); |
| | | } |
| | | //* Configure XMPP |
| | | $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Metronome XMPP Server'); |
| | | $inst->configure_xmpp(); |
| | | $conf['services']['xmpp'] = true; |
| | | } |
| | | |
| | | //* Configure OpenVZ |
| | | $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ', false); |
| | | if($force) { |
| | | $conf['services']['vserver'] = true; |
| | | swriteln('Configuring OpenVZ'); |
| | | } |
| | | //* Configure Fail2ban |
| | | $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban', ($install_mode == 'expert')); |
| | | if($force) { |
| | | swriteln('Configuring Fail2ban'); |
| | | $inst->configure_fail2ban(); |
| | | } |
| | | |
| | | if($conf['services']['web'] == true) { |
| | | //** Configure apps vhost |
| | | swriteln('Configuring Apps vhost'); |
| | | $inst->configure_apps_vhost(); |
| | | } |
| | | |
| | | //* Configure ISPConfig |
| | | //** Configure ISPConfig :-) |
| | | $install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y'; |
| | | if($install_mode == 'standard' || strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') { |
| | | swriteln('Installing ISPConfig'); |
| | | |
| | | //** Customize the port ISPConfig runs on |
| | | //** We want to check if the server is a module or cgi based php enabled server |
| | | //** TODO: Don't always ask for this somehow ? |
| | | /* |
| | | $fast_cgi = $inst->simple_query('CGI PHP Enabled Server?', array('yes','no'),'no'); |
| | | |
| | | if($fast_cgi == 'yes') { |
| | | $alias = $inst->free_query('Script Alias', '/php/'); |
| | | $path = $inst->free_query('Script Alias Path', '/path/to/cgi/bin'); |
| | | $conf['apache']['vhost_cgi_alias'] = sprintf('ScriptAlias %s %s', $alias, $path); |
| | | } else { |
| | | $conf['apache']['vhost_cgi_alias'] = ""; |
| | | } |
| | | */ |
| | | |
| | | //** Customise the port ISPConfig runs on |
| | | $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); |
| | | $conf['interface_password'] = $inst->free_query('Admin password', 'admin'); |
| | | if($conf['interface_password'] != 'admin') { |
| | |
| | | if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') { |
| | | $inst->make_ispconfig_ssl_cert(); |
| | | } |
| | | $inst->install_ispconfig_interface = true; |
| | | |
| | | $inst->install_ispconfig(); |
| | | } else { |
| | | $inst->install_ispconfig_interface = false; |
| | | } |
| | | |
| | | //* Configure DBServer |
| | | swriteln('Configuring DBServer'); |
| | | $inst->configure_dbserver(); |
| | | $inst->install_ispconfig(); |
| | | |
| | | //* Configure ISPConfig |
| | | if($conf['cron']['installed']) { |
| | | swriteln('Installing ISPConfig crontab'); |
| | | $inst->install_crontab(); |
| | | } else swriteln('[ERROR] Cron not found'); |
| | | //* Configure DBServer |
| | | swriteln('Configuring DBServer'); |
| | | $inst->configure_dbserver(); |
| | | |
| | | swriteln('Detect IP addresses'); |
| | | $inst->detect_ips(); |
| | | |
| | | swriteln('Restarting services ...'); |
| | | if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'restart').' >/dev/null 2>&1'); |
| | | if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); |
| | | if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); |
| | | if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); |
| | | if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); |
| | | if($conf['courier']['installed'] == true){ |
| | | if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); |
| | | if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); |
| | | if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); |
| | | if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); |
| | | if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); |
| | | } |
| | | if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); |
| | | if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); |
| | | if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); |
| | | //* Reload is enough for nginx |
| | | if($conf['nginx']['installed'] == true){ |
| | | if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); |
| | | if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); |
| | | } |
| | | if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); |
| | | if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); |
| | | //if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '') system($inst->getinitcommand($conf['ufw']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['xmpp']['installed'] == true && $conf['xmpp']['init_script'] != '') system($inst->getinitcommand($conf['xmpp']['init_script'], 'restart').' &> /dev/null'); |
| | | |
| | | } else { //* expert mode |
| | | |
| | | //** Get Server ID |
| | | // $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1'); |
| | | // Server ID is an autoInc value of the mysql database now |
| | | if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') { |
| | | $conf['mysql']['master_slave_setup'] = 'y'; |
| | | |
| | | //** Get MySQL root credentials |
| | | $finished = false; |
| | | do { |
| | | $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); |
| | | $tmp_mysql_server_port = $inst->free_query('MySQL master server port', $conf['mysql']['master_port'],'mysql_master_port'); |
| | | $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user'); |
| | | $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); |
| | | $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database'); |
| | | |
| | | //* Initialize the MySQL server connection |
| | | if(@mysqli_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password, $tmp_mysql_server_database, (int)$tmp_mysql_server_port)) { |
| | | $conf['mysql']['master_host'] = $tmp_mysql_server_host; |
| | | $conf['mysql']['master_port'] = $tmp_mysql_server_port; |
| | | $conf['mysql']['master_admin_user'] = $tmp_mysql_server_admin_user; |
| | | $conf['mysql']['master_admin_password'] = $tmp_mysql_server_admin_password; |
| | | $conf['mysql']['master_database'] = $tmp_mysql_server_database; |
| | | $finished = true; |
| | | } else { |
| | | swriteln($inst->lng('Unable to connect to mysql server').' '.mysqli_connect_error()); |
| | | } |
| | | } while ($finished == false); |
| | | unset($finished); |
| | | |
| | | // initialize the connection to the master database |
| | | $inst->dbmaster = new db(); |
| | | if($inst->dbmaster->linkId) $inst->dbmaster->closeConn(); |
| | | $inst->dbmaster->setDBData($conf['mysql']["master_host"], $conf['mysql']["master_admin_user"], $conf['mysql']["master_admin_password"]); |
| | | $inst->dbmaster->setDBName($conf['mysql']["master_database"]); |
| | | |
| | | } else { |
| | | // the master DB is the same then the slave DB |
| | | $inst->dbmaster = $inst->db; |
| | | } |
| | | |
| | | //* Create the mysql database |
| | | $inst->configure_database(); |
| | | |
| | | //* Check for Web-Server |
| | | if($conf['apache']['installed'] != true && $conf['nginx']['installed'] != true) { |
| | | $conf['apache']['installed'] = $inst->force_configure_app('Apache'); |
| | | $conf['nginx']['installed'] = $inst->force_configure_app('nginx'); |
| | | } |
| | | //* Configure Webserver - Apache or nginx |
| | | if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { |
| | | $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server'); |
| | | if($http_server_to_use == 'apache'){ |
| | | $conf['nginx']['installed'] = false; |
| | | $conf['services']['file'] = true; |
| | | } else { |
| | | $conf['apache']['installed'] = false; |
| | | } |
| | | } |
| | | |
| | | //* Insert the Server record into the database |
| | | swriteln('Adding ISPConfig server record to database.'); |
| | | swriteln(''); |
| | | $inst->add_database_server_record(); |
| | | |
| | | if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') { |
| | | |
| | | $conf['services']['mail'] = true; |
| | | |
| | | //* Configure Postgrey |
| | | $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey'); |
| | | if($force) swriteln('Configuring Postgrey'); |
| | | |
| | | //* Configure Postfix |
| | | $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix'); |
| | | if($force) { |
| | | swriteln('Configuring Postfix'); |
| | | $inst->configure_postfix(); |
| | | } |
| | | |
| | | //* Configure Mailman |
| | | $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman'); |
| | | if($force) { |
| | | swriteln('Configuring Mailman'); |
| | | $inst->configure_mailman(); |
| | | } |
| | | |
| | | //* Check for Dovecot and Courier |
| | | if(!$conf['dovecot']['installed'] && !$conf['courier']['installed']) { |
| | | $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot'); |
| | | $conf['courier']['installed'] = $inst->force_configure_app('Courier'); |
| | | } |
| | | //* Configure Mailserver - Dovecot or Courier |
| | | if($conf['dovecot']['installed'] && $conf['courier']['installed']) { |
| | | $mail_server_to_use = $inst->simple_query('Dovecot and Courier detected. Select server to use with ISPConfig:', array('dovecot', 'courier'), 'dovecot','mail_server'); |
| | | if($mail_server_to_use == 'dovecot'){ |
| | | $conf['courier']['installed'] = false; |
| | | } else { |
| | | $conf['dovecot']['installed'] = false; |
| | | } |
| | | } |
| | | //* Configure Dovecot |
| | | if($conf['dovecot']['installed']) { |
| | | swriteln('Configuring Dovecot'); |
| | | $inst->configure_dovecot(); |
| | | } |
| | | //* Configure Courier |
| | | if($conf['courier']['installed']) { |
| | | swriteln('Configuring Courier'); |
| | | $inst->configure_courier(); |
| | | swriteln('Configuring SASL'); |
| | | $inst->configure_saslauthd(); |
| | | swriteln('Configuring PAM'); |
| | | $inst->configure_pam(); |
| | | } |
| | | |
| | | //* Configure Spamasassin |
| | | $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin'); |
| | | if($force) { |
| | | swriteln('Configuring Spamassassin'); |
| | | $inst->configure_spamassassin(); |
| | | } |
| | | |
| | | //* Configure Amavis |
| | | $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd'); |
| | | if($force) { |
| | | swriteln('Configuring Amavisd'); |
| | | $inst->configure_amavis(); |
| | | } |
| | | |
| | | //* Configure Getmail |
| | | $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail'); |
| | | if($force) { |
| | | swriteln('Configuring Getmail'); |
| | | $inst->configure_getmail(); |
| | | } |
| | | |
| | | if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); |
| | | if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); |
| | | if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); |
| | | if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); |
| | | if($conf['courier']['installed'] == true){ |
| | | if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); |
| | | if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); |
| | | if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); |
| | | if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); |
| | | if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); |
| | | } |
| | | if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); |
| | | if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); |
| | | } |
| | | |
| | | //* Configure Jailkit |
| | | $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit'); |
| | | if($force) { |
| | | swriteln('Configuring Jailkit'); |
| | | $inst->configure_jailkit(); |
| | | } |
| | | |
| | | //* Configure Pureftpd |
| | | $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd'); |
| | | if($force) { |
| | | swriteln('Configuring Pureftpd'); |
| | | $inst->configure_pureftpd(); |
| | | } |
| | | |
| | | //** Configure DNS |
| | | if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') { |
| | | $conf['services']['dns'] = true; |
| | | |
| | | //* Check for DNS |
| | | if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) { |
| | | $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS'); |
| | | $conf['bind']['installed'] = $inst->force_configure_app('BIND'); |
| | | $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS'); |
| | | } |
| | | //* Configure PowerDNS |
| | | if($conf['powerdns']['installed']) { |
| | | swriteln('Configuring PowerDNS'); |
| | | $inst->configure_powerdns(); |
| | | $conf['services']['dns'] = true; |
| | | } |
| | | //* Configure Bind |
| | | if($conf['bind']['installed']) { |
| | | swriteln('Configuring BIND'); |
| | | $inst->configure_bind(); |
| | | $conf['services']['dns'] = true; |
| | | if(!is_installed('haveged')) { |
| | | swriteln("[INFO] haveged not detected - DNSSEC can fail"); |
| | | } |
| | | } |
| | | //* Configure MyDNS |
| | | if($conf['mydns']['installed']) { |
| | | swriteln('Configuring MyDNS'); |
| | | $inst->configure_mydns(); |
| | | $conf['services']['dns'] = true; |
| | | } |
| | | |
| | | } |
| | | |
| | | if(strtolower($inst->simple_query('Configure Web Server', array('y', 'n'), 'y','configure_webserver')) == 'y') { |
| | | $conf['services']['web'] = true; |
| | | |
| | | //* Configure Apache |
| | | if($conf['apache']['installed']){ |
| | | swriteln('Configuring Apache'); |
| | | $inst->configure_apache(); |
| | | $conf['services']['file'] = true; |
| | | //* Configure Vlogger |
| | | $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger'); |
| | | if($force) { |
| | | swriteln('Configuring vlogger'); |
| | | $inst->configure_vlogger(); |
| | | } |
| | | //* Configure squid |
| | | /* |
| | | $force = @($conf['squid']['installed']) ? true : $inst->force_configure_app('squid'); |
| | | if($force) { |
| | | swriteln('Configuring Squid'); |
| | | $inst->configure_squid(); |
| | | $conf['services']['proxy'] = true; |
| | | if($conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script']))system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | */ |
| | | } |
| | | //* Configure nginx |
| | | if($conf['nginx']['installed']){ |
| | | swriteln('Configuring nginx'); |
| | | $inst->configure_nginx(); |
| | | } |
| | | } |
| | | |
| | | //* Configure OpenVZ |
| | | $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ'); |
| | | if($force) { |
| | | $conf['services']['vserver'] = true; |
| | | swriteln('Configuring OpenVZ'); |
| | | } |
| | | |
| | | if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') { |
| | | //* Check for Firewall |
| | | if(!$conf['ufw']['installed'] && !$conf['firewall']['installed']) { |
| | | $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall'); |
| | | $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall'); |
| | | } |
| | | //* Configure Firewall - Ubuntu or Bastille |
| | | if($conf['ufw']['installed'] && $conf['firewall']['installed']) { |
| | | $firewall_to_use = $inst->simple_query('Ubuntu and Bastille Firewall detected. Select firewall to use with ISPConfig:', array('bastille', 'ubuntu'), 'bastille','firewall_server'); |
| | | if($firewall_to_use == 'bastille'){ |
| | | $conf['ufw']['installed'] = false; |
| | | } else { |
| | | $conf['firewall']['installed'] = false; |
| | | } |
| | | } |
| | | //* Configure Ubuntu Firewall |
| | | if($conf['ufw']['installed']){ |
| | | swriteln('Configuring Ubuntu Firewall'); |
| | | $inst->configure_ufw_firewall(); |
| | | $conf['services']['firewall'] = true; |
| | | } |
| | | //* Configure Bastille Firewall |
| | | if($conf['firewall']['installed']){ |
| | | swriteln('Configuring Bastille Firewall'); |
| | | $inst->configure_bastille_firewall(); |
| | | $conf['services']['firewall'] = true; |
| | | } |
| | | } |
| | | |
| | | //* Configure XMPP |
| | | $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server'); |
| | | if($force) { |
| | | swriteln('Configuring Metronome XMPP Server'); |
| | | $inst->configure_xmpp(); |
| | | $conf['services']['xmpp'] = true; |
| | | } |
| | | |
| | | //** Configure ISPConfig :-) |
| | | $install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y'; |
| | | if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') { |
| | | swriteln('Installing ISPConfig'); |
| | | |
| | | //** We want to check if the server is a module or cgi based php enabled server |
| | | //** TODO: Don't always ask for this somehow ? |
| | | /* |
| | | $fast_cgi = $inst->simple_query('CGI PHP Enabled Server?', array('yes','no'),'no'); |
| | | |
| | | if($fast_cgi == 'yes') { |
| | | $alias = $inst->free_query('Script Alias', '/php/'); |
| | | $path = $inst->free_query('Script Alias Path', '/path/to/cgi/bin'); |
| | | $conf['apache']['vhost_cgi_alias'] = sprintf('ScriptAlias %s %s', $alias, $path); |
| | | } else { |
| | | $conf['apache']['vhost_cgi_alias'] = ""; |
| | | } |
| | | */ |
| | | |
| | | //** Customise the port ISPConfig runs on |
| | | $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); |
| | | $conf['interface_password'] = $inst->free_query('Admin password', 'admin'); |
| | | if($conf['interface_password'] != 'admin') { |
| | | $check = false; |
| | | do { |
| | | unset($temp_password); |
| | | $temp_password = $inst->free_query('Re-enter admin password', ''); |
| | | $check = @($temp_password == $conf['interface_password'])?true:false; |
| | | if(!$check) swriteln('Passwords do not match.'); |
| | | } while (!$check); |
| | | } |
| | | unset($check); |
| | | unset($temp_password); |
| | | if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; |
| | | if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; |
| | | unset($ispconfig_vhost_port); |
| | | |
| | | if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') { |
| | | $inst->make_ispconfig_ssl_cert(); |
| | | } |
| | | |
| | | $inst->install_ispconfig_interface = true; |
| | | |
| | | } else { |
| | | $inst->install_ispconfig_interface = false; |
| | | } |
| | | |
| | | $inst->install_ispconfig(); |
| | | |
| | | //* Configure DBServer |
| | | swriteln('Configuring DBServer'); |
| | | $inst->configure_dbserver(); |
| | | |
| | | //* Configure ISPConfig |
| | | //* Configure ISPConfig |
| | | swriteln('Installing ISPConfig crontab'); |
| | | if($conf['cron']['installed']) { |
| | | swriteln('Installing ISPConfig crontab'); |
| | | $inst->install_crontab(); |
| | | if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); |
| | | //* Reload is enough for nginx |
| | | if($conf['nginx']['installed'] == true){ |
| | | if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); |
| | | if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); |
| | | } |
| | | |
| | | swriteln('Detect IP addresses'); |
| | | $inst->detect_ips(); |
| | | } else swriteln('[ERROR] Cron not found'); |
| | | |
| | | swriteln('Detect IP addresses'); |
| | | $inst->detect_ips(); |
| | | |
| | | swriteln('Restarting services ...'); |
| | | if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'restart').' >/dev/null 2>&1'); |
| | | if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); |
| | | if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); |
| | | if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); |
| | | if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); |
| | | if($conf['courier']['installed'] == true){ |
| | | if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); |
| | | if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); |
| | | if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); |
| | | if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); |
| | | if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); |
| | | } |
| | | if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); |
| | | if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); |
| | | if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); |
| | | //* Reload is enough for nginx |
| | | if($conf['nginx']['installed'] == true){ |
| | | if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); |
| | | if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); |
| | | } |
| | | if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); |
| | | if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); |
| | | //if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '') system($inst->getinitcommand($conf['ufw']['init_script'], 'restart').' &> /dev/null'); |
| | | if($conf['xmpp']['installed'] == true && $conf['xmpp']['init_script'] != '') system($inst->getinitcommand($conf['xmpp']['init_script'], 'restart').' &> /dev/null'); |
| | | |
| | | } //* << $install_mode / 'Standard' or Genius |
| | | |
| | | $inst->create_mount_script(); |
| | | |
| | |
| | | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | /* |
| | | This function returns a string that describes the installed |
| | | Linux distribution. e.g. debian40 for Debian GNU/Linux 4.0 |
| | | */ |
| | | |
| | | |
| | | |
| | | /* |
| | | Comments to completion forever ;-) |
| | | commandline arguments |
| | | $argv[1] |
| | | |
| | | |
| | | <? |
| | | echo "Total argument passed are : $argc \n"; |
| | | for( $i = 0 ; $i <= $argc -1 ;$i++) |
| | | { |
| | | echo "Argument $i : $argv[$i] \n"; |
| | | } |
| | | ?> |
| | | |
| | | */ |
| | | error_reporting(E_ALL|E_STRICT); |
| | | |
| | | |
| | |
| | | //** IMPORTANT! |
| | | // This is the same code as in server/lib/classes/monitor_tools.inc.php |
| | | // So if you change it here, you also have to change it in there! |
| | | // |
| | | // This function returns a string that describes the installed |
| | | // Linux distribution. e.g. debian40 for Debian GNU/Linux 4.0 |
| | | |
| | | function get_distname() { |
| | | |
| | | $distname = ''; |
| | |
| | | |
| | | //** Debian or Ubuntu |
| | | if(file_exists('/etc/debian_version')) { |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) { |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) { |
| | | $lts=" LTS"; |
| | | } else { |
| | | $lts=""; |
| | | } |
| | | |
| | | // Check if this is Ubuntu and not Debian |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu') || (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu'))) { |
| | | |
| | | $issue = file_get_contents('/etc/issue'); |
| | | |
| | | // Use content of /etc/issue file |
| | | if(strstr($issue,'Ubuntu')) { |
| | | if (strstr(trim($issue), 'LTS')) { |
| | | $lts=" LTS"; |
| | | } else { |
| | | $lts=""; |
| | | } |
| | | |
| | | $issue=file_get_contents('/etc/issue'); |
| | | $distname = 'Ubuntu'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | $ver = explode(' ', $issue); |
| | | $ver = array_filter($ver); |
| | | $ver = next($ver); |
| | | $mainver = explode('.', $ver); |
| | | $mainver = array_filter($mainver); |
| | | $mainver = current($mainver).'.'.next($mainver); |
| | | $distname = 'Ubuntu'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | $ver = explode(' ', $issue); |
| | | $ver = array_filter($ver); |
| | | $ver = next($ver); |
| | | $mainver = explode('.', $ver); |
| | | $mainver = array_filter($mainver); |
| | | $mainver = current($mainver).'.'.next($mainver); |
| | | // Use content of /etc/os-release file |
| | | } else { |
| | | $os_release = file_get_contents('/etc/os-release'); |
| | | if (strstr(trim($os_release), 'LTS')) { |
| | | $lts = " LTS"; |
| | | } else { |
| | | $lts = ""; |
| | | } |
| | | |
| | | $distname = 'Ubuntu'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | |
| | | preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver); |
| | | $ver = str_replace("LTS", "", $ver[1]); |
| | | $ver = explode(" ", $ver, 2); |
| | | $ver = reset($ver); |
| | | $mainver = $ver; |
| | | } |
| | | switch ($mainver){ |
| | | case "16.04": |
| | | $relname = "(Xenial Xerus)"; |
| | | $distid = 'ubuntu1604'; |
| | | $distconfid = 'ubuntu1604'; |
| | | break; |
| | | case "15.10": |
| | | $relname = "(Wily Werewolf)"; |
| | |
| | | $relname = "UNKNOWN"; |
| | | } |
| | | $distver = $ver.$lts." ".$relname; |
| | | swriteln("Operating System: ".$distver."\n"); |
| | | swriteln("Operating System: ".$distname.' '.$distver."\n"); |
| | | } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') { |
| | | $distname = 'Debian'; |
| | | $distver = '4.0'; |
| | |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | swriteln("Operating System: Debian 8.0 (Jessie) or compatible\n"); |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) { |
| | | $distname = 'Debian'; |
| | | $distver = 'Testing'; |
| | | $distid = 'debian60'; |
| | | $distconfid = 'debiantesting'; |
| | | $distbaseid = 'debian'; |
| | | swriteln("Operating System: Debian Testing\n"); |
| | | } else { |
| | | $distname = 'Debian'; |
| | | $distver = 'Unknown'; |
| | |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | swriteln("Operating System: CentOS 6 or compatible\n"); |
| | | } elseif(stristr($content, 'CentOS Linux release 7.2')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos72'; |
| | | $distconfid = 'centos72'; |
| | | $distbaseid = 'fedora'; |
| | | swriteln("Operating System: CentOS 7.2\n"); |
| | | } elseif(stristr($content, 'CentOS Linux release 7')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | |
| | | } else { |
| | | die('Unrecognized GNU/Linux distribution'); |
| | | } |
| | | |
| | | // Set $distconfid to distid, if no different id for the config is defined |
| | | if(!isset($distconfid)) $distconfid = $distid; |
| | | |
| | | return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'baseid' => $distbaseid); |
| | | return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'confid' => $distconfid, 'baseid' => $distbaseid); |
| | | } |
| | | |
| | | function sread() { |
| | |
| | | if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true; |
| | | if(is_installed('squid')) $conf['squid']['installed'] = true; |
| | | if(is_installed('nginx')) $conf['nginx']['installed'] = true; |
| | | if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true; |
| | | if(is_installed('iptables') && is_installed('bastille-netfilter')) $conf['firewall']['installed'] = true; |
| | | if(is_installed('iptables') && is_installed('ufw')) { |
| | | $conf['ufw']['installed'] = true; |
| | | } elseif(is_installed('iptables')) { |
| | | $conf['firewall']['installed'] = true; |
| | | } |
| | | if(is_installed('fail2ban-server')) $conf['fail2ban']['installed'] = true; |
| | | if(is_installed('vzctl')) $conf['openvz']['installed'] = true; |
| | | if(is_installed('metronome') && is_installed('metronomectl')) $conf['xmpp']['installed'] = true; |
| | | if(is_installed('spamassassin')) $conf['spamassassin']['installed'] = true; |
| | | if(is_installed('vlogger')) $conf['vlogger']['installed'] = true; |
| | | if(is_installed('cron')) $conf['cron']['installed'] = true; |
| | | // if(is_installed('vlogger')) $conf['vlogger']['installed'] = true; |
| | | // ISPConfig ships with vlogger, so it is always installed. |
| | | $conf['vlogger']['installed'] = true; |
| | | if(is_installed('cron') || is_installed('anacron')) $conf['cron']['installed'] = true; |
| | | |
| | | if ($conf['services']['web'] && (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")))) $this->ispconfig_interface_installed = true; |
| | | } |
| | |
| | | if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') { |
| | | echo "Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION. Add\n\n"; |
| | | echo " sql-mode=\"NO_ENGINE_SUBSTITUTION\"\n\n"; |
| | | echo"to the mysqld-section in /etc/mysql/my.cnf and restart mysqld afterwards\n"; |
| | | echo"to the mysqld-section in your mysql-config and restart mysqld afterwards\n"; |
| | | die(); |
| | | } |
| | | |
| | |
| | | $tpl_ini_array['fastcgi']['fastcgi_bin'] = $conf['fastcgi']['fastcgi_bin']; |
| | | $tpl_ini_array['server']['hostname'] = $conf['hostname']; |
| | | $tpl_ini_array['server']['ip_address'] = @gethostbyname($conf['hostname']); |
| | | $tpl_ini_array['server']['firewall'] = ($conf['ufw']['installed'] == true)?'ufw':'bastille'; |
| | | $tpl_ini_array['web']['website_basedir'] = $conf['web']['website_basedir']; |
| | | $tpl_ini_array['web']['website_path'] = $conf['web']['website_path']; |
| | | $tpl_ini_array['web']['website_symlinks'] = $conf['web']['website_symlinks']; |
| | |
| | | $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); |
| | | $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content); |
| | | $content = str_replace('{server_id}', $conf['server_id'], $content); |
| | | # enable iterate_query for dovecot2 |
| | | if(version_compare($dovecot_version,2, '>=')) { |
| | | $content = str_replace('# iterate_query', 'iterate_query', $content); |
| | | } |
| | | wf($config_dir.'/'.$configfile, $content); |
| | | |
| | | chmod($config_dir.'/'.$configfile, 0600); |
| | |
| | | if(!@is_dir($conf['ispconfig_log_dir'].'/httpd')) mkdir($conf['ispconfig_log_dir'].'/httpd', 0755, true); |
| | | |
| | | if(is_file('/etc/suphp/suphp.conf')) { |
| | | replaceLine('/etc/suphp/suphp.conf', 'php=php:/usr/bin', 'x-httpd-suphp="php:/usr/bin/php-cgi"', 0); |
| | | replaceLine('/etc/suphp/suphp.conf', 'php="php:/usr/bin', 'x-httpd-suphp="php:/usr/bin/php-cgi"', 0); |
| | | //replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0); |
| | | replaceLine('/etc/suphp/suphp.conf', 'umask=0077', 'umask=0022', 0); |
| | | } |
| | |
| | | if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') { |
| | | echo "Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION. Add\n\n"; |
| | | echo " sql-mode=\"NO_ENGINE_SUBSTITUTION\"\n\n"; |
| | | echo"to the mysqld-section in /etc/mysql/my.cnf and restart mysqld afterwards\n"; |
| | | echo"to the mysqld-section in your mysql-config and restart mysqld afterwards\n"; |
| | | die(); |
| | | } |
| | | |
| | |
| | | `traffic_date` date NOT NULL, |
| | | `in_bytes` bigint(32) unsigned NOT NULL, |
| | | `out_bytes` bigint(32) unsigned NOT NULL, |
| | | PRIMARY KEY (`hostname`,`traffic_date`) |
| | | UNIQUE KEY (`hostname`,`traffic_date`) |
| | | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
| | | |
| | | ALTER TABLE `mail_forwarding` ADD COLUMN `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n' AFTER `active`; |
| | |
| | | ALTER TABLE `client` CHANGE `web_servers` `web_servers` TEXT NULL DEFAULT NULL; |
| | | ALTER TABLE `client` CHANGE `mail_servers` `mail_servers` TEXT NULL DEFAULT NULL; |
| | | ALTER TABLE `client` CHANGE `xmpp_servers` `xmpp_servers` TEXT NULL DEFAULT NULL; |
| | | ALTER TABLE `client` CHANGE `db_servers` `db_servers` TEXT NULL DEFAULT NULL; |
| | | ALTER TABLE `client` CHANGE `dns_servers` `dns_servers` TEXT NULL DEFAULT NULL; |
| | | UPDATE client SET web_servers = default_webserver WHERE (web_servers = '' OR web_servers IS NULL); |
| | | UPDATE client SET mail_servers = default_mailserver WHERE (mail_servers = '' OR mail_servers IS NULL); |
| | | UPDATE client SET xmpp_servers = default_xmppserver WHERE (xmpp_servers = '' OR xmpp_servers IS NULL); |
| | | UPDATE client SET db_servers = default_dbserver WHERE (db_servers = '' OR db_servers IS NULL); |
| | | UPDATE client SET dns_servers = default_dnsserver WHERE (dns_servers = '' OR dns_servers IS NULL); |
| | | ALTER TABLE `client_template` ADD `default_slave_dnsserver` INT NOT NULL DEFAULT '0' AFTER `limit_dns_slave_zone`; |
| | | ALTER TABLE `client_template` ADD `mail_servers` TEXT NULL DEFAULT NULL AFTER `template_type`; |
| | | ALTER TABLE `client_template` ADD `web_servers` TEXT NULL DEFAULT NULL AFTER `limit_xmpp_httparchive`; |
| | | ALTER TABLE `client_template` ADD `dns_servers` TEXT NULL DEFAULT NULL AFTER `limit_aps`; |
| | | ALTER TABLE `client_template` ADD `db_servers` TEXT NULL DEFAULT NULL AFTER `limit_dns_record`; |
| | |
| | | `bank_account_swift` varchar(255) DEFAULT NULL, |
| | | `paypal_email` varchar(255) DEFAULT NULL, |
| | | `default_mailserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `mail_servers` blob, |
| | | `mail_servers` text, |
| | | `limit_maildomain` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_mailbox` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_mailalias` int(11) NOT NULL DEFAULT '-1', |
| | |
| | | `limit_spamfilter_user` int(11) NOT NULL DEFAULT '0', |
| | | `limit_spamfilter_policy` int(11) NOT NULL DEFAULT '0', |
| | | `default_xmppserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `xmpp_servers` blob, |
| | | `xmpp_servers` text, |
| | | `limit_xmpp_domain` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_xmpp_user` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_xmpp_muc` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | |
| | | `limit_xmpp_pastebin` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | | `limit_xmpp_httparchive` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | | `default_webserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `web_servers` blob, |
| | | `web_servers` text, |
| | | `limit_web_ip` text, |
| | | `limit_web_domain` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_web_quota` int(11) NOT NULL DEFAULT '-1', |
| | |
| | | `limit_directive_snippets` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n', |
| | | `limit_aps` int(11) NOT NULL DEFAULT '-1', |
| | | `default_dnsserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `db_servers` blob, |
| | | `db_servers` text, |
| | | `limit_dns_zone` int(11) NOT NULL DEFAULT '-1', |
| | | `default_slave_dnsserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `limit_dns_slave_zone` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_dns_record` int(11) NOT NULL DEFAULT '-1', |
| | | `default_dbserver` int(11) NOT NULL DEFAULT '1', |
| | | `dns_servers` blob, |
| | | `dns_servers` text, |
| | | `limit_database` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_database_user` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_database_quota` int(11) NOT NULL default '-1', |
| | |
| | | `sys_perm_other` varchar(5) default NULL, |
| | | `template_name` varchar(64) NOT NULL DEFAULT '', |
| | | `template_type` varchar(1) NOT NULL default 'm', |
| | | `mail_servers` text, |
| | | `limit_maildomain` int(11) NOT NULL default '-1', |
| | | `limit_mailbox` int(11) NOT NULL default '-1', |
| | | `limit_mailalias` int(11) NOT NULL default '-1', |
| | |
| | | `limit_spamfilter_user` int(11) NOT NULL default '0', |
| | | `limit_spamfilter_policy` int(11) NOT NULL default '0', |
| | | `default_xmppserver` int(11) unsigned NOT NULL DEFAULT '1', |
| | | `xmpp_servers` blob, |
| | | `xmpp_servers` text, |
| | | `limit_xmpp_domain` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_xmpp_user` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_xmpp_muc` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | |
| | | `limit_xmpp_status` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | | `limit_xmpp_pastebin` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | | `limit_xmpp_httparchive` ENUM( 'n', 'y' ) NOT NULL default 'n', |
| | | `web_servers` text, |
| | | `limit_web_ip` text, |
| | | `limit_web_domain` int(11) NOT NULL default '-1', |
| | | `limit_web_quota` int(11) NOT NULL default '-1', |
| | |
| | | `limit_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y', |
| | | `limit_directive_snippets` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n', |
| | | `limit_aps` int(11) NOT NULL DEFAULT '-1', |
| | | `dns_servers` text, |
| | | `limit_dns_zone` int(11) NOT NULL default '-1', |
| | | `default_slave_dnsserver` int(11) NOT NULL DEFAULT '0', |
| | | `limit_dns_slave_zone` int(11) NOT NULL default '-1', |
| | | `limit_dns_record` int(11) NOT NULL default '-1', |
| | | `db_servers` text, |
| | | `limit_database` int(11) NOT NULL default '-1', |
| | | `limit_database_user` int(11) NOT NULL DEFAULT '-1', |
| | | `limit_database_quota` int(11) NOT NULL default '-1', |
| | |
| | | `traffic_date` date NOT NULL, |
| | | `in_bytes` bigint(32) unsigned NOT NULL, |
| | | `out_bytes` bigint(32) unsigned NOT NULL, |
| | | PRIMARY KEY (`hostname`,`traffic_date`) |
| | | UNIQUE KEY (`hostname`,`traffic_date`) |
| | | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
| | | |
| | | -- -------------------------------------------------------- |
| | |
| | | `veid` int(11) NOT NULL DEFAULT '0', |
| | | `traffic_date` date NULL DEFAULT NULL, |
| | | `traffic_bytes` bigint(32) unsigned NOT NULL DEFAULT '0', |
| | | PRIMARY KEY (`veid`,`traffic_date`) |
| | | UNIQUE KEY (`veid`,`traffic_date`) |
| | | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
| | | |
| | | -- |
| | |
| | | `hostname` varchar(255) NOT NULL DEFAULT '', |
| | | `traffic_date` date NULL DEFAULT NULL, |
| | | `traffic_bytes` bigint(32) unsigned NOT NULL default '0', |
| | | PRIMARY KEY (`hostname`,`traffic_date`) |
| | | UNIQUE KEY (`hostname`,`traffic_date`) |
| | | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; |
| | | |
| | | -- -------------------------------------------------------- |
| | |
| | | -- Dumping data for table `sys_config` |
| | | -- |
| | | |
| | | INSERT INTO sys_config VALUES ('db','db_version','3.1b1'); |
| | | INSERT INTO sys_config VALUES ('db','db_version','3.1dev'); |
| | | INSERT INTO sys_config VALUES ('interface','session_timeout','0'); |
| | | |
| | | SET FOREIGN_KEY_CHECKS = 1; |
| | |
| | | |
| | | $inet_socket_port = [10024,10026]; |
| | | |
| | | # *:* = send to IP/HOST:incoming Port + 1 |
| | | $forward_method = 'smtp:*:*'; |
| | | $notify_method = 'smtp:*:*'; |
| | | # :* = send to incoming Port + 1 |
| | | $forward_method = 'smtp:127.0.0.1:*'; |
| | | $notify_method = 'smtp:127.0.0.1:*'; |
| | | $interface_policy{'10026'} = 'ORIGINATING'; |
| | | $policy_bank{'ORIGINATING'} = { |
| | | originating => 1, |
| | |
| | | |
| | | //** Application |
| | | define('ISPC_APP_TITLE', 'ISPConfig'); |
| | | define('ISPC_APP_VERSION', '3.1b1'); |
| | | define('ISPC_APP_VERSION', '3.1dev'); |
| | | define('DEVSYSTEM', 0); |
| | | |
| | | |
| | |
| | | |
| | | # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. |
| | | # Do not enable it on Dovecot 1.x servers |
| | | # iterate_query = SELECT email as user FROM mail_user |
| | | # iterate_query = SELECT email as user FROM mail_user WHERE server_id = '{server_id}' |
| | |
| | | |
| | | # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. |
| | | # Do not enable it on Dovecot 1.x servers |
| | | # iterate_query = SELECT email as user FROM mail_user |
| | | # iterate_query = SELECT email as user FROM mail_user WHERE server_id = '{server_id}' |
| | | |
| | |
| | | postmaster_address = webmaster@localhost |
| | | mail_plugins = quota sieve |
| | | } |
| | | mail_plugins = $mail_plugins quota |
| | |
| | | proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps |
| | | smtpd_helo_required = yes |
| | | smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, check_helo_access regexp:{config_dir}/blacklist_helo |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf |
| | | smtpd_client_message_rate_limit = 100 |
| | | maildrop_destination_concurrency_limit = 1 |
| | |
| | | |
| | | $myhostname = '{hostname}'; |
| | | |
| | | $notify_method = 'smtp:[127.0.0.1]:10027'; |
| | | $forward_method = 'smtp:[127.0.0.1]:10025'; # set to undef with milter! |
| | | $notify_method = 'smtp:127.0.0.1:*'; |
| | | $forward_method = 'smtp:127.0.0.1:*'; # set to undef with milter! |
| | | |
| | | # $os_fingerprint_method = 'p0f:127.0.0.1:2345'; # to query p0f-analyzer.pl |
| | | |
| | |
| | | |
| | | # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. |
| | | # Do not enable it on Dovecot 1.x servers |
| | | # iterate_query = SELECT email as user FROM mail_user |
| | | # iterate_query = SELECT email as user FROM mail_user WHERE server_id = '{server_id}' |
| | |
| | | postmaster_address = webmaster@localhost |
| | | mail_plugins = quota sieve |
| | | } |
| | | mail_plugins = $mail_plugins quota |
| | |
| | | proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps |
| | | smtpd_helo_required = yes |
| | | smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, check_helo_access regexp:{config_dir}/blacklist_helo |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf |
| | | smtpd_client_message_rate_limit = 100 |
| | | maildrop_destination_concurrency_limit = 1 |
| | |
| | | proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps |
| | | smtpd_helo_required = yes |
| | | smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, check_helo_access regexp:{config_dir}/blacklist_helo |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf |
| | | smtpd_client_message_rate_limit = 100 |
| | | maildrop_destination_concurrency_limit = 1 |
| | |
| | | # be sure to list your own hostname(s), domain(s) and IP address(es) here |
| | | |
| | | # Reject others identifying with this machine's hostnames and IP addresses |
| | | /^{myhostname}$/ REJECT |
| | | #/^{myhostname}$/ REJECT |
| | | #/^((smtp|mx|mail)\.domain1\.com$/ REJECT |
| | | #/^mail\.domain2\.com$/ REJECT |
| | | |
| | |
| | | |
| | | $myhostname = 'linux-jfp8.site'; |
| | | |
| | | $notify_method = 'smtp:[127.0.0.1]:10027'; |
| | | $forward_method = 'smtp:[127.0.0.1]:10025'; # set to undef with milter! |
| | | $notify_method = 'smtp:127.0.0.1:*'; |
| | | $forward_method = 'smtp:127.0.0.1:*'; # set to undef with milter! |
| | | |
| | | # $final_virus_destiny = D_DISCARD; |
| | | # $final_banned_destiny = D_BOUNCE; |
| | |
| | | |
| | | # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. |
| | | # Do not enable it on Dovecot 1.x servers |
| | | # iterate_query = SELECT email as user FROM mail_user |
| | | # iterate_query = SELECT email as user FROM mail_user WHERE server_id = '{server_id}' |
| | |
| | | postmaster_address = webmaster@localhost |
| | | mail_plugins = quota sieve |
| | | } |
| | | mail_plugins = $mail_plugins quota |
| | |
| | | proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps |
| | | smtpd_helo_required = yes |
| | | smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, check_helo_access regexp:{config_dir}/blacklist_helo |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_sender_restrictions = check_sender_access regexp:{config_dir}/tag_as_originating.re {reject_slm}, permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf, check_sender_access regexp:{config_dir}/tag_as_foreign.re |
| | | smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf |
| | | smtpd_client_message_rate_limit = 100 |
| | | maildrop_destination_concurrency_limit = 1 |
| | |
| | | |
| | | # Query to execute in order to fetch the password |
| | | |
| | | MYSQLGetPW SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MYSQLGetPW SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Query to execute in order to fetch the system user name or uid |
| | | |
| | | MYSQLGetUID SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MYSQLGetUID SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : default UID - if set this overrides MYSQLGetUID |
| | |
| | | |
| | | # Query to execute in order to fetch the system user group or gid |
| | | |
| | | MYSQLGetGID SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MYSQLGetGID SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : default GID - if set this overrides MYSQLGetGID |
| | |
| | | |
| | | # Query to execute in order to fetch the home directory |
| | | |
| | | MYSQLGetDir SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MYSQLGetDir SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : query to get the maximal number of files |
| | | # Pure-FTPd must have been compiled with virtual quotas support. |
| | | |
| | | MySQLGetQTAFS SELECT quota_files FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_files != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetQTAFS SELECT quota_files FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_files != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : query to get the maximal disk usage (virtual quotas) |
| | | # The number should be in Megabytes. |
| | | # Pure-FTPd must have been compiled with virtual quotas support. |
| | | |
| | | MySQLGetQTASZ SELECT quota_size FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_size != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetQTASZ SELECT quota_size FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_size != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : ratios. The server has to be compiled with ratio support. |
| | | |
| | | MySQLGetRatioUL SELECT ul_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetRatioDL SELECT dl_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetRatioUL SELECT ul_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | MySQLGetRatioDL SELECT dl_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | |
| | | # Optional : bandwidth throttling. |
| | | # The server has to be compiled with throttling support. |
| | | # Values are in KB/s . |
| | | |
| | | MySQLGetBandwidthUL SELECT ul_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetBandwidthDL SELECT dl_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) |
| | | MySQLGetBandwidthUL SELECT ul_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | MySQLGetBandwidthDL SELECT dl_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) |
| | | |
| | | # Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS : |
| | | # 1) You know what you are doing. |
| | |
| | | //** Include the distribution-specific installer class library and configuration |
| | | if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php'; |
| | | include_once 'dist/lib/'.$dist['id'].'.lib.php'; |
| | | include_once 'dist/conf/'.$dist['id'].'.conf.php'; |
| | | include_once 'dist/conf/'.$dist['confid'].'.conf.php'; |
| | | |
| | | //** Get hostname |
| | | exec('hostname -f', $tmp_out); |
| | |
| | | } |
| | | |
| | | $query = 'INSERT INTO ?? (' . $k_query . ') VALUES (' . $v_query . ')'; |
| | | return $this->query($query, true, $params + $v_params); |
| | | return $this->query($query, true, array_merge($params, $v_params)); |
| | | } |
| | | |
| | | public function diffrec($record_old, $record_new) { |
| | |
| | | $regex = "/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"; |
| | | } else { |
| | | // IPv6 |
| | | $regex = "/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i"; |
| | | $regex = "/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/"; |
| | | } |
| | | |
| | | $server_by_id = array(); |
| | |
| | | $keys = array_keys($_GET); |
| | | $method = reset($keys); |
| | | $params = array(); |
| | | |
| | | if(is_array($_POST)) { |
| | | foreach($_POST as $key => $val) { |
| | | $tmp = json_decode($val, true); |
| | | if(!$tmp) $params[] = $val; |
| | | else $params[] = (array)$tmp; |
| | | } |
| | | } |
| | | |
| | | |
| | | $raw = file_get_contents("php://input"); |
| | | $json = json_decode($raw, true); |
| | | if(!is_array($json)) $this->_return_json('invalid_data', 'The JSON data sent to the api is invalid'); |
| | | |
| | | if(array_key_exists($method, $this->methods) == false) { |
| | | $this->_return_json('invalid_method', 'Method ' . $method . ' does not exist'); |
| | | } |
| | |
| | | if(method_exists($this->classes[$class_name], $method) == false) { |
| | | $this->_return_json('invalid_method', 'Method ' . $method . ' does not exist in the class it was expected (' . $class_name . ')'); |
| | | } |
| | | |
| | | |
| | | $methObj = new ReflectionMethod($this->classes[$class_name], $method); |
| | | foreach($methObj->getParameters() as $param) { |
| | | $pname = $param->name; |
| | | if(isset($json[$pname])) $params[] = $json[$pname]; |
| | | else $params[] = null; |
| | | } |
| | | |
| | | try { |
| | | $this->_return_json('ok', '', call_user_func_array(array($this->classes[$class_name], $method), $params)); |
| | | } catch(SoapFault $e) { |
| | |
| | | |
| | | $databases[$i]['quota_raw'] = $databases[$i]['database_quota']; |
| | | $databases[$i]['used_raw'] = $databases[$i]['used'] / 1024 / 1024; //* quota is stored as MB - calculated bytes |
| | | $databases[$i]['used_percentage'] = (($databases[$i]['database_quota'] > 0) && ($databases[$i]['used'] > 0)) ? round($databases[$i]['used'] * 100 / $databases[$i]['database_quota']) : 0; |
| | | $databases[$i]['used_percentage'] = (($databases[$i]['database_quota'] > 0) && ($databases[$i]['used'] > 0)) ? round($databases[$i]['used_raw'] * 100 / $databases[$i]['database_quota']) : 0; |
| | | |
| | | if ($readable) { |
| | | // colours |
| | | $databases[$i]['display_colour'] = '#000000'; |
| | | if($databases[$i]['database_quota'] > 0){ |
| | | $used_ratio = $databases[$i]['used']/$databases[$i]['database_quota']; |
| | | $used_ratio = $databases[$i]['used'] / $databases[$i]['database_quota']; |
| | | } else { |
| | | $used_ratio = 0; |
| | | } |
| | |
| | | unset($form); |
| | | |
| | | $this->dateformat = $app->lng('conf_format_dateshort'); |
| | | $this->datetimeformat = $app->lng('conf_format_datetime'); |
| | | |
| | | return true; |
| | | } |
| | |
| | | |
| | | |
| | | if (@$this->session_array['session_id'] == '') { |
| | | $sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES (?,NOW(),NOW(),'$session_data',?)"; |
| | | $this->db->query($sql, $session_id, ($this->permanent ? 'y' : 'n')); |
| | | $sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES (?,NOW(),NOW(),?,?)"; |
| | | $this->db->query($sql, $session_id, $session_data, ($this->permanent ? 'y' : 'n')); |
| | | |
| | | } else { |
| | | $sql = "UPDATE sys_session SET last_updated = NOW(), session_data = ?" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = ?"; |
| | |
| | | return $diffrec; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * Generate HTML for DATE fields. |
| | | * |
| | | * @access private |
| | | * @param string $form_element Name of the form element. |
| | | * @param string $default_value Selected value for fields. |
| | | * @return string HTML |
| | | */ |
| | | function _getDateHTML($form_element, $default_value) |
| | | { |
| | | $_date = ($default_value && $default_value != '0000-00-00' ? strtotime($default_value) : false); |
| | | $_showdate = ($_date === false) ? false : true; |
| | | |
| | | $tmp_dt = strtr($this->dateformat,array('d' => 'dd', 'm' => 'mm', 'Y' => 'yyyy', 'y' => 'yy')); |
| | | |
| | | return '<input type="text" class="form-control" name="' . $form_element . '" value="' . ($_showdate ? date($this->dateformat, $_date) : '') . '" data-input-element="date" data-date-format="' . $tmp_dt . '" />'; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); |
| | | break; |
| | | |
| | | case 'DATE': |
| | | if (strtotime($val) !== false) { |
| | | $dt_value = $val; |
| | | } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) { |
| | | $dt_value = $field['default']; |
| | | } else { |
| | | $dt_value = 0; |
| | | } |
| | | |
| | | $new_record[$key] = $this->_getDateHTML($key, $dt_value); |
| | | break; |
| | | |
| | | default: |
| | | if(isset($record[$key])) { |
| | | $new_record[$key] = htmlspecialchars($record[$key]); |
| | |
| | | $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; |
| | | |
| | | $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); |
| | | break; |
| | | |
| | | case 'DATE': |
| | | $dt_value = (isset($field['default'])) ? $field['default'] : 0; |
| | | |
| | | $new_record[$key] = $this->_getDateHTML($key, $dt_value); |
| | | break; |
| | | |
| | | default: |
| | |
| | | unset($error); |
| | | break; |
| | | case 'ISINT': |
| | | if(function_exists('filter_var') && $field_value < 2147483647) { |
| | | if(function_exists('filter_var') && $field_value < PHP_INT_MAX) { |
| | | //if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT, array("options" => array('min_range'=>0))) === false) { |
| | | if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT) === false) { |
| | | $errmsg = $validator['errmsg']; |
| | |
| | | $wb['number_format_thousands_sep'] = ''; |
| | | $wb['error_301'] = 'Module niet toegestaan voor de huidige gebruiker.'; |
| | | $wb['error_302'] = 'Ongeldige module.'; |
| | | $wb['error_1001'] = 'De gebruikersnaam en wachtwoord kunnen niet leeg zijn!'; |
| | | $wb['error_1002'] = 'De gebruikersnaam en/of wachtwoord zijn onjuist!'; |
| | | $wb['error_1003'] = 'De gebruikersnaam wordt gedeactiveerd!'; |
| | | $wb['error_1001'] = 'Gebruikersnaam en wachtwoord kunnen niet leeg zijn!'; |
| | | $wb['error_1002'] = 'Gebruikersnaam en/of wachtwoord zijn onjuist!'; |
| | | $wb['error_1003'] = 'Gebruikersnaam wordt gedeactiveerd!'; |
| | | $wb['delete_confirmation'] = 'Wilt u dit record echt verwijderen?'; |
| | | $wb['error_no_view_permission'] = 'U heeft geen toestemming om dit record te bekijken of dit record bestaat niet!'; |
| | | $wb['error_no_delete_permission'] = 'U heeft geen toestemming om dit record te verwijderen!'; |
| | |
| | | $wb['top_menu_dashboard'] = 'Home'; |
| | | $wb['latest_news_txt'] = 'Laatste nieuws'; |
| | | $wb['top_menu_vm'] = 'VServer'; |
| | | $wb['daynamesmin_su'] = 'Su'; |
| | | $wb['daynamesmin_mo'] = 'Mo'; |
| | | $wb['daynamesmin_tu'] = 'Tu'; |
| | | $wb['daynamesmin_we'] = 'We'; |
| | | $wb['daynamesmin_th'] = 'Th'; |
| | | $wb['daynamesmin_fr'] = 'Fr'; |
| | | $wb['daynamesmin_sa'] = 'Sa'; |
| | | $wb['daynames_sunday'] = 'Sunday'; |
| | | $wb['daynames_monday'] = 'Monday'; |
| | | $wb['daynames_tuesday'] = 'Tuesday'; |
| | | $wb['daynames_wednesday'] = 'Wednesday'; |
| | | $wb['daynames_thursday'] = 'Thursday'; |
| | | $wb['daynames_friday'] = 'Friday'; |
| | | $wb['daynames_saturday'] = 'Saturday'; |
| | | $wb['daynamesmin_su'] = 'Zo'; |
| | | $wb['daynamesmin_mo'] = 'Ma'; |
| | | $wb['daynamesmin_tu'] = 'Di'; |
| | | $wb['daynamesmin_we'] = 'Wo'; |
| | | $wb['daynamesmin_th'] = 'Do'; |
| | | $wb['daynamesmin_fr'] = 'Vr'; |
| | | $wb['daynamesmin_sa'] = 'Za'; |
| | | $wb['daynames_sunday'] = 'Zondag'; |
| | | $wb['daynames_monday'] = 'Maandag'; |
| | | $wb['daynames_tuesday'] = 'Dinsdag'; |
| | | $wb['daynames_wednesday'] = 'Woensdag'; |
| | | $wb['daynames_thursday'] = 'Donderdag'; |
| | | $wb['daynames_friday'] = 'Vrijdag'; |
| | | $wb['daynames_saturday'] = 'Zaterdag'; |
| | | $wb['monthnamesshort_jan'] = 'Jan'; |
| | | $wb['monthnamesshort_feb'] = 'Feb'; |
| | | $wb['monthnamesshort_mar'] = 'Mar'; |
| | | $wb['monthnamesshort_apr'] = 'Apr'; |
| | | $wb['monthnamesshort_may'] = 'May'; |
| | | $wb['monthnamesshort_may'] = 'Mei'; |
| | | $wb['monthnamesshort_jun'] = 'Jun'; |
| | | $wb['monthnamesshort_jul'] = 'Jul'; |
| | | $wb['monthnamesshort_aug'] = 'Aug'; |
| | | $wb['monthnamesshort_sep'] = 'Sep'; |
| | | $wb['monthnamesshort_oct'] = 'Oct'; |
| | | $wb['monthnamesshort_oct'] = 'Okt'; |
| | | $wb['monthnamesshort_nov'] = 'Nov'; |
| | | $wb['monthnamesshort_dec'] = 'Dec'; |
| | | $wb['datepicker_nextText'] = 'Next'; |
| | | $wb['datepicker_prevText'] = 'Prev'; |
| | | $wb['logout_txt'] = 'Logout'; |
| | | $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd'; |
| | | $wb['submit_confirmation'] = 'Do you really want to perform this action?'; |
| | | $wb['datepicker_nextText'] = 'Volgende'; |
| | | $wb['datepicker_prevText'] = 'Vorige'; |
| | | $wb['logout_txt'] = 'Uitloggen'; |
| | | $wb['conf_format_dateshort_human_readable'] = 'dd-mm-yyyy'; |
| | | $wb['submit_confirmation'] = 'Weet je zeker dat je deze actie wilt uitvoeren ?'; |
| | | $wb['top_menu_mailuser'] = 'Mailuser'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'of'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'results'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'No results.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 results'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Search'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'van'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'resultaten'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'Geen resultaten.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 resultaten'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Zoeken'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggesties'; |
| | | $wb['global_tabchange_warning_txt'] = 'Changed data in this tab will be changed if you press OK. On cancel they will be discarded.'; |
| | | $wb['global_tabchange_discard_txt'] = 'You have unsaved changes in this tab. Changes will be discarded if you continue.'; |
| | | $wb['datalog_changes_txt'] = 'The following changes are not yet populated to all servers:'; |
| | | $wb['datalog_changes_end_txt'] = 'Storing updates can take up to one minute. Please be patient.'; |
| | | $wb['datalog_status_i_web_database'] = 'Create new database'; |
| | | $wb['datalog_status_u_web_database'] = 'Update database'; |
| | | $wb['datalog_status_d_web_database'] = 'Delete database'; |
| | | $wb['datalog_status_i_web_database_user'] = 'Create database user for database'; |
| | | $wb['datalog_status_u_web_database_user'] = 'Update database user'; |
| | | $wb['datalog_status_d_web_database_user'] = 'Delete database user'; |
| | | $wb['datalog_status_i_web_domain'] = 'Create new website'; |
| | | $wb['datalog_status_u_web_domain'] = 'Update website settings'; |
| | | $wb['datalog_status_d_web_domain'] = 'Delete website'; |
| | | $wb['datalog_status_i_ftp_user'] = 'Create FTP user'; |
| | | $wb['datalog_status_u_ftp_user'] = 'Update FTP user'; |
| | | $wb['datalog_status_d_ftp_user'] = 'Delete FTP user'; |
| | | $wb['datalog_status_i_mail_domain'] = 'Create email domain'; |
| | | $wb['datalog_status_u_mail_domain'] = 'Update email domain'; |
| | | $wb['datalog_status_d_mail_domain'] = 'Delete email domain'; |
| | | $wb['datalog_status_i_mail_user'] = 'Create email user'; |
| | | $wb['datalog_status_u_mail_user'] = 'Update email user'; |
| | | $wb['datalog_status_d_mail_user'] = 'Delete email user'; |
| | | $wb['datalog_status_i_mail_forwarding'] = 'Create email address'; |
| | | $wb['datalog_status_u_mail_forwarding'] = 'Update email address'; |
| | | $wb['datalog_status_d_mail_forwarding'] = 'Delete email address'; |
| | | $wb['datalog_status_i_dns_rr'] = 'Create DNS record'; |
| | | $wb['datalog_status_u_dns_rr'] = 'Update DNS record'; |
| | | $wb['datalog_status_d_dns_rr'] = 'Delete DNS record'; |
| | | $wb['datalog_status_i_dns_soa'] = 'Create DNS zone'; |
| | | $wb['datalog_status_u_dns_soa'] = 'Update DNS zone'; |
| | | $wb['datalog_status_d_dns_soa'] = 'Delete DNS zone'; |
| | | $wb['datalog_status_i_cron'] = 'Create cron job'; |
| | | $wb['datalog_status_u_cron'] = 'Update cron job'; |
| | | $wb['datalog_status_d_cron'] = 'Delete cron job'; |
| | | $wb['datalog_changes_txt'] = 'De volgende wijzigingen zijn nog niet op alle servers doorgevoerd:'; |
| | | $wb['datalog_changes_end_txt'] = 'Het doorvoeren van updates kan tot één minuut duren. Even geduld a.u.b.'; |
| | | $wb['datalog_status_i_web_database'] = 'Aanmaken nieuwe database'; |
| | | $wb['datalog_status_u_web_database'] = 'Database bijwerken'; |
| | | $wb['datalog_status_d_web_database'] = 'Database verwijderen'; |
| | | $wb['datalog_status_i_web_database_user'] = 'Aanmaken database gebruiker voor database'; |
| | | $wb['datalog_status_u_web_database_user'] = 'Database gebruiker bijwerken'; |
| | | $wb['datalog_status_d_web_database_user'] = 'Database gebruiker verwijderen'; |
| | | $wb['datalog_status_i_web_domain'] = 'Aanmaken nieuwe website'; |
| | | $wb['datalog_status_u_web_domain'] = 'Bijwerken website instellingen'; |
| | | $wb['datalog_status_d_web_domain'] = 'Verwijderen website'; |
| | | $wb['datalog_status_i_ftp_user'] = 'Aanmaken FTP gebruiker'; |
| | | $wb['datalog_status_u_ftp_user'] = 'Bijwerken FTP gebruiker'; |
| | | $wb['datalog_status_d_ftp_user'] = 'Verwijderen FTP gebruiker'; |
| | | $wb['datalog_status_i_mail_domain'] = 'Aanmaken e-mail domein'; |
| | | $wb['datalog_status_u_mail_domain'] = 'Bijwerken e-mail domein'; |
| | | $wb['datalog_status_d_mail_domain'] = 'Verwijderen e-mail domein'; |
| | | $wb['datalog_status_i_mail_user'] = 'Aanmaken e-mail gebruiker'; |
| | | $wb['datalog_status_u_mail_user'] = 'Bijwerken e-mail gebruiker'; |
| | | $wb['datalog_status_d_mail_user'] = 'Verwijderen e-mail gebruiker'; |
| | | $wb['datalog_status_i_mail_forwarding'] = 'Aanmaken e-mail adres'; |
| | | $wb['datalog_status_u_mail_forwarding'] = 'Bijwerken e-mail adres'; |
| | | $wb['datalog_status_d_mail_forwarding'] = 'Verwijderen e-mail adres'; |
| | | $wb['datalog_status_i_dns_rr'] = 'Aanmaken DNS record'; |
| | | $wb['datalog_status_u_dns_rr'] = 'Bijwerken DNS record'; |
| | | $wb['datalog_status_d_dns_rr'] = 'Verwijderen DNS record'; |
| | | $wb['datalog_status_i_dns_soa'] = 'Aanmaken DNS zone'; |
| | | $wb['datalog_status_u_dns_soa'] = 'Bijwerken DNS zone'; |
| | | $wb['datalog_status_d_dns_soa'] = 'Verwijderen DNS zone'; |
| | | $wb['datalog_status_i_cron'] = 'Aanmaken cron job'; |
| | | $wb['datalog_status_u_cron'] = 'Bijwerken cron job'; |
| | | $wb['datalog_status_d_cron'] = 'Verwijderen cron job'; |
| | | $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; |
| | | $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; |
| | | $wb['datalog_status_d_mail_get'] = 'Delete mail fetcher account'; |
| | | $wb['datalog_status_i_mail_mailinglist'] = 'Create mailing list'; |
| | | $wb['datalog_status_u_mail_mailinglist'] = 'Update mailing list'; |
| | | $wb['datalog_status_d_mail_mailinglist'] = 'Delete mailing list'; |
| | | $wb['datalog_status_i_shell_user'] = 'Create shell user'; |
| | | $wb['datalog_status_u_shell_user'] = 'Update shell user'; |
| | | $wb['datalog_status_d_shell_user'] = 'Delete shell user'; |
| | | $wb['datalog_status_i_web_folder'] = 'Create folder protection'; |
| | | $wb['datalog_status_u_web_folder'] = 'Update folder protection'; |
| | | $wb['datalog_status_d_web_folder'] = 'Delete folder protection'; |
| | | $wb['datalog_status_i_shell_user'] = 'Aanmaken shell gebruiker (ssh)'; |
| | | $wb['datalog_status_u_shell_user'] = 'Bijwerken shell gebruiker (ssh)'; |
| | | $wb['datalog_status_d_shell_user'] = 'Verwijderen shell gebruiker (ssh)'; |
| | | $wb['datalog_status_i_web_folder'] = 'Aanmaken folder protectie'; |
| | | $wb['datalog_status_u_web_folder'] = 'Bijwerken folder protectie'; |
| | | $wb['datalog_status_d_web_folder'] = 'Verwijderen folder protectie'; |
| | | $wb['datalog_status_i_web_folder_user'] = 'Create folder protection user'; |
| | | $wb['datalog_status_u_web_folder_user'] = 'Update folder protection user'; |
| | | $wb['datalog_status_d_web_folder_user'] = 'Delete folder protection user'; |
| | | $wb['datalog_status_i_spamfilter_users'] = 'Create spam filter settings'; |
| | | $wb['datalog_status_u_spamfilter_users'] = 'Update spam filter settings'; |
| | | $wb['datalog_status_d_spamfilter_users'] = 'Delete spam filter settings'; |
| | | $wb['login_as_txt'] = 'Log in as'; |
| | | $wb['datalog_status_i_spamfilter_users'] = 'Aanmaken spam filter instellngen'; |
| | | $wb['datalog_status_u_spamfilter_users'] = 'Bijwerken spam filter instellngen'; |
| | | $wb['datalog_status_d_spamfilter_users'] = 'Verwijderen spam filter instellngen'; |
| | | $wb['login_as_txt'] = 'Inloggen als'; |
| | | $wb['no_domain_perm'] = 'You have no permission for this domain.'; |
| | | $wb['no_destination_perm'] = 'You have no permission for this destination.'; |
| | | $wb['client_you_are_locked'] = 'You have no permission to change any settings.'; |
| | | $wb['gender_m_txt'] = 'Mr.'; |
| | | $wb['gender_f_txt'] = 'Ms.'; |
| | | $wb['gender_m_txt'] = 'Dhr.'; |
| | | $wb['gender_f_txt'] = 'Mevr.'; |
| | | $wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'This client has records in the billing module, therefore he cannot be deleted.'; |
| | | $wb['yes_txt'] = 'Yes'; |
| | | $wb['no_txt'] = 'No'; |
| | | $wb['None'] = 'None'; |
| | | $wb['yes_txt'] = 'Ja'; |
| | | $wb['no_txt'] = 'Nee'; |
| | | $wb['None'] = 'Geen'; |
| | | $wb['strength_1'] = 'Weak'; |
| | | $wb['strength_2'] = 'Fair'; |
| | | $wb['strength_3'] = 'Good'; |
| | |
| | | $wb['mailuser_name_txt'] = 'Mailbenutzer Name'; |
| | | $wb['mailuser_group_txt'] = 'Mailbenutzer Gruppe'; |
| | | $wb['mailbox_virtual_uidgid_maps_txt'] = 'Website Linux Uid für Mailboxen'; |
| | | $wb['mailbox_virtual_uidgid_maps_info_txt'] = 'nur wenn beides auf gleichem Server'; |
| | | $wb['mailbox_virtual_uidgid_maps_info_txt'] = 'nur für einzel-Server Installationen.'; |
| | | $wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid kann in Multiserver-Umgebung nicht gemappt werden.'; |
| | | $wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid Mapping funktioniert nur in Verbindung mit dovecot.'; |
| | | $wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid Mapping kann nur umgeschaltet werden, wenn noch keine Mailuser angelegt sind.'; |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste['item'][] = array( 'field' => 'server_id', |
| | | 'datatype' => 'INTEGER', |
| | |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="snippet" class="col-sm-3 control-label">{tmpl_var name='snippet_txt'}</label> |
| | | <tmpl_if name='is_master'><div class="col-sm-9 col-text"><pre>{tmpl_var name='snippet'}</pre></div></tmpl_else><div class="col-sm-9"><textarea class="form-control" name="snippet" id="snippet" rows='10' cols='50'>{tmpl_var name='snippet'}</textarea></div> |
| | | <div class="col-sm-3 col-text nginx"></div><div class="col-sm-9 col-text nginx"> {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a></div></tmpl_if> |
| | | <tmpl_if name='is_master'><div class="col-sm-9 col-text"><pre>{tmpl_var name='snippet'}</pre></div></tmpl_else><div class="col-sm-9"><textarea class="form-control" name="snippet" id="snippet" rows='10' cols='50'>{tmpl_var name='snippet'}</textarea> |
| | | Nginx {tmpl_var name='variables_txt'}: <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>, <a href="javascript:void(0);" class="addPlaceholder">{PHPFALLBACKFASTCGIPASS}</a></div></tmpl_if> |
| | | </div> |
| | | <tmpl_if name='is_master'></tmpl_else> |
| | | <div class="form-group php"> |
| | |
| | | <tbody> |
| | | <tmpl_loop name="records"> |
| | | <tr> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="client_id"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='client_id'}">{tmpl_var name="client_id"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="ip_type"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="ip_address"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='ip_address'}">{tmpl_var name="ip_address"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="virtualhost"}</a></td> |
| | | <td><a href="#" data-load-content="admin/server_ip_edit.php?id={tmpl_var name='id'}">{tmpl_var name="virtualhost_port"}</a></td> |
| | | <td class="text-right"> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
New file |
| | |
| | | <tmpl_if name="list_head_txt"> |
| | | <div class='page-header'> |
| | | <h1><tmpl_var name="list_head_txt"></h1> |
| | | </div> |
| | | </tmpl_if> |
| | | <tmpl_if name="list_desc_txt"><p><tmpl_var name="list_desc_txt"></p></tmpl_if> |
| | | |
| | | <div class="form-group"> |
| | | <label for="default_dnsserver" class="col-sm-3 control-label">{tmpl_var name='default_dnsserver_txt'}</label> |
| | | <div class="col-sm-9"><select name="default_dnsserver" id="default_dnsserver" class="form-control"> |
| | | {tmpl_var name='default_dnsserver'} |
| | | </select></div> |
| | | </div> |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | |
| | | <div class="clear"><div class="right"> |
| | | <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="admin/system_config_edit.php">{tmpl_var name='btn_save_txt'}</button> |
| | | <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="admin/users_list.php">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
| | |
| | | 'maxlength' => '10', |
| | | 'rows' => '', |
| | | 'cols' => '' |
| | | ), |
| | | ),/* |
| | | 'default_mailserver' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | |
| | | ), |
| | | 'value' => array(''), |
| | | 'name' => 'default_mailserver' |
| | | ), |
| | | ),*/ |
| | | 'limit_maildomain' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | |
| | | 'maxlength' => '10', |
| | | 'rows' => '', |
| | | 'cols' => '' |
| | | ), |
| | | ),/* |
| | | 'default_xmppserver' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | |
| | | ), |
| | | 'value' => '', |
| | | 'name' => 'default_xmppserver' |
| | | ), |
| | | ),*/ |
| | | 'xmpp_servers' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'MULTIPLE', |
| | |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'n', |
| | | 'value' => array(0 => 'n', 1 => 'y') |
| | | ), |
| | | ),/* |
| | | 'default_webserver' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | |
| | | ), |
| | | 'value' => array(''), |
| | | 'name' => 'default_webserver' |
| | | ), |
| | | ),*/ |
| | | 'limit_web_domain' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'n', |
| | | 'value' => array(0 => 'n', 1 => 'y') |
| | | ), |
| | | ),/* |
| | | 'default_dnsserver' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | |
| | | ), |
| | | 'value' => array(''), |
| | | 'name' => 'default_dnsserver' |
| | | ), |
| | | ),*/ |
| | | 'limit_dns_zone' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | |
| | | 'cols' => '' |
| | | ), |
| | | */ |
| | | /* |
| | | 'default_dbserver' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | |
| | | ), |
| | | 'value' => array(''), |
| | | 'name' => 'default_dbserver' |
| | | ), |
| | | ),*/ |
| | | 'limit_database' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | |
| | | $wb['Add Client'] = 'Toevoegen klant'; |
| | | $wb['Edit Client'] = 'Wijzigen klant'; |
| | | $wb['Clients'] = 'klanten'; |
| | | $wb['Templates'] = 'Templates'; |
| | | $wb['Limit-Templates'] = 'Limit-Templates'; |
| | | $wb['Add Reseller'] = 'Toevoegen Reseller'; |
| | | $wb['Edit Reseller'] = 'Wijzigen Reseller'; |
| | | $wb['Templates'] = 'Sjablonen'; |
| | | $wb['Limit-Templates'] = 'Limiet sjablonen'; |
| | | $wb['Add Reseller'] = 'Toevoegen reseller'; |
| | | $wb['Edit Reseller'] = 'Wijzigen reseller'; |
| | | $wb['Resellers'] = 'Resellers'; |
| | | $wb['error_has_clients'] = 'Deze reseller heeft klanten. Verwijder eerst de klanten van de reseller'; |
| | | $wb['add_additional_template_txt'] = 'Add additional template'; |
| | | $wb['delete_additional_template_txt'] = 'Delete additional template'; |
| | | $wb['Messaging'] = 'Messaging'; |
| | | $wb['Send email'] = 'Send Email'; |
| | | $wb['Edit Client Circle'] = 'Edit Client Circle'; |
| | | $wb['Domains'] = 'Domains'; |
| | | $wb['domain_txt'] = 'Domain'; |
| | | $wb['client_txt'] = 'Client'; |
| | | $wb['add_additional_template_txt'] = 'Additioneel sjabloon toevoegen'; |
| | | $wb['delete_additional_template_txt'] = 'Verwijder additioneel sjabloon'; |
| | | $wb['Messaging'] = 'Berichten'; |
| | | $wb['Send email'] = 'Verstuur e-mail'; |
| | | $wb['Edit Client Circle'] = 'Klanten collectie bewerken'; |
| | | $wb['Domains'] = 'Domeinen'; |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['client_txt'] = 'Klant'; |
| | | $wb['error_domain_in mailuse'] = 'This domain cannot be deleted, because it is in use as mail-domain'; |
| | | $wb['error_domain_in webuse'] = 'This domain cannot be deleted, because it is in use as web-domain'; |
| | | $wb['error_client_can_not_add_domain'] = 'You cannot add a new domain'; |
| | |
| | | $wb['delete_explanation'] = 'Deze actie verwijderd het volgende aantal aan records die geassocieerd zijn met deze klant'; |
| | | $wb['btn_save_txt'] = 'Verwijder de klant'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren zonder de klant te verwijderen'; |
| | | $wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?'; |
| | | $wb['confirm_client_delete_txt'] = 'Weet je zeker dat je deze klant wil verwijderen ?'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['btn_send_txt'] = 'Send email'; |
| | | $wb['btn_cancel_txt'] = 'Cancel'; |
| | | $wb['btn_send_txt'] = 'Stuur e-mail'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['sender_txt'] = 'Sender email address'; |
| | | $wb['subject_txt'] = 'Subject'; |
| | | $wb['message_txt'] = 'Message'; |
| | | $wb['form_legend_client_txt'] = 'Send email message to all clients.'; |
| | | $wb['form_legend_admin_txt'] = 'Send email message to all clients and resellers.'; |
| | | $wb['subject_txt'] = 'Onderwerp'; |
| | | $wb['message_txt'] = 'Bericht'; |
| | | $wb['form_legend_client_txt'] = 'Stuur e-mail naar alle klanten.'; |
| | | $wb['form_legend_admin_txt'] = 'Stuur e-mail naar alle klanten en resellers.'; |
| | | $wb['sender_invalid_error'] = 'Sender email invalid.'; |
| | | $wb['subject_invalid_error'] = 'Subject is empty.'; |
| | | $wb['message_invalid_error'] = 'Message is empty.'; |
| | | $wb['email_sent_to_txt'] = 'Email sent to:'; |
| | | $wb['subject_invalid_error'] = 'Onderwerp is leeg.'; |
| | | $wb['message_invalid_error'] = 'Bericht is leeg.'; |
| | | $wb['email_sent_to_txt'] = 'E-mail verstuurd aan:'; |
| | | $wb['page_head_txt'] = 'Send customer information'; |
| | | $wb['recipient_txt'] = 'Recipient'; |
| | | $wb['all_clients_resellers_txt'] = 'All clients and resellers'; |
| | | $wb['all_clients_txt'] = 'All clients'; |
| | | $wb['recipient_txt'] = 'Ontvanger'; |
| | | $wb['all_clients_resellers_txt'] = 'Alle klanten en resellers'; |
| | | $wb['all_clients_txt'] = 'Alle klanten'; |
| | | $wb['variables_txt'] = 'Variables:'; |
| | | $wb['gender_m_txt'] = 'Mr.'; |
| | | $wb['gender_f_txt'] = 'Ms.'; |
| | | $wb['gender_m_txt'] = 'Dhr.'; |
| | | $wb['gender_f_txt'] = 'Mevr.'; |
| | | ?> |
| | |
| | | $wb['city_txt'] = 'Plaatsnaam'; |
| | | $wb['country_txt'] = 'Land'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe klant'; |
| | | $wb['username_txt'] = 'Username'; |
| | | $wb['customer_no_txt'] = 'Customer No.'; |
| | | $wb['username_txt'] = 'Gebruikersnaam'; |
| | | $wb['customer_no_txt'] = 'Klantnummer'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['domain_error_empty'] = 'De domain-naam is niet ingvuld'; |
| | | $wb['domain_error_empty'] = 'De domein naam is niet ingevuld'; |
| | | $wb['domain_error_unique'] = 'Het domein bestaat reeds'; |
| | | $wb['domain_error_regex'] = 'Deze domeinnaam is niet toegestaan'; |
| | | $wb['domain_error_regex'] = 'Deze domein naam is niet toegestaan'; |
| | | $wb['Domain'] = 'Domein'; |
| | | ?> |
| | |
| | | $wb['list_head_txt'] = 'Domeinen'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuw domein'; |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['user_txt'] = 'Client'; |
| | | $wb['user_txt'] = 'Klant'; |
| | | ?> |
| | |
| | | $wb['web_php_options_txt'] = 'PHP Opties'; |
| | | $wb['limit_client_error'] = 'Het max. aantal klanten is bereikt.'; |
| | | $wb['limit_client_error_positive_or_unlimited'] = 'Het aantal klanten moet > 0'; |
| | | $wb['limit_web_quota_txt'] = 'Web Quota'; |
| | | $wb['limit_web_quota_txt'] = 'Web quota'; |
| | | $wb['limit_traffic_quota_txt'] = 'Traffic Quota'; |
| | | $wb['limit_trafficquota_error_notint'] = 'Traffic Quota moet een numerieke waarde zijn.'; |
| | | $wb['customer_no_txt'] = 'Klant nr.'; |
| | | $wb['vat_id_txt'] = 'BTW ID'; |
| | | $wb['customer_no_txt'] = 'Klantnummer'; |
| | | $wb['vat_id_txt'] = 'BTW nummer'; |
| | | $wb['required_fields_txt'] = '* Verplichte velden'; |
| | | $wb['limit_webdav_user_txt'] = 'Max. number of Webdav users'; |
| | | $wb['limit_webdav_user_error_notint'] = 'The webdav user limit must be a number.'; |
| | |
| | | $wb['city_txt'] = 'Plaatsnaam'; |
| | | $wb['country_txt'] = 'Land'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe reseller'; |
| | | $wb['customer_no_txt'] = 'Customer No.'; |
| | | $wb['username_txt'] = 'Username'; |
| | | $wb['customer_no_txt'] = 'Klantnummer'; |
| | | $wb['username_txt'] = 'Gebruikersnaam'; |
| | | ?> |
| | |
| | | </div> |
| | | <p><tmpl_var name="list_desc_txt"></p> |
| | | |
| | | |
| | | |
| | | <div id="OKMsg"> |
| | | <tmpl_if name='number_records'> |
| | | <tmpl_var name="delete_explanation">:<br /><br /> |
| | |
| | | <tmpl_var name="table">, |
| | | </tmpl_loop> |
| | | </tmpl_else> |
| | | <tmpl_var name="confirm_client_delete_txt"> |
| | | <h3><tmpl_var name="confirm_client_delete_txt"></h3> |
| | | </tmpl_if> |
| | | </div> |
| | | |
| | | <div class="col-sm-9"><input class="form-control" type="checkbox" name="confirm" value="yes" /></div><b><tmpl_var name="confirm_action_txt"></b> |
| | | |
| | | |
| | | <div> <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b></div> |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | |
| | | <div class="clear"><div class="right"> |
| | | <div class="clear"><div class="left"> |
| | | <button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="client/client_del.php">{tmpl_var name='btn_save_txt'}</button> |
| | | <button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="client/client_list.php">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
| | |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="company_name"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="contact_name"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="customer_no"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="username"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='username'}">{tmpl_var name="username"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="city"}</a></td> |
| | | <td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}"><span class="flags flag-{tmpl_var name="countryiso"}">{tmpl_var name="country"}</span></a></td> |
| | | <tmpl_if name="has_robot"><td><a href="#" data-load-content="client/client_edit.php?id={tmpl_var name='id'}">{tmpl_var name="validation_status"}</a></td></tmpl_if> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}">{tmpl_var name="company_name"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}">{tmpl_var name="contact_name"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}">{tmpl_var name="customer_no"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}">{tmpl_var name="username"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='username'}">{tmpl_var name="username"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}">{tmpl_var name="city"}</a></td> |
| | | <td><a href="#" data-load-content="client/reseller_edit.php?id={tmpl_var name='id'}"><span class="flags flag-{tmpl_var name="countryiso"}">{tmpl_var name="country"}</span></a></td> |
| | | <td class="text-right"> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | <td>{tmpl_var name='database_quota'}</td> |
| | | <td> |
| | | <div class='progress'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%' data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='used_percentage'}%"> |
| | | <span class='sr-only'>{tmpl_var name='used'} {tmpl_var name='of_txt'} {tmpl_var name='database_quota'}</span> |
| | | </div> |
| | | </div> |
| | |
| | | <td>{tmpl_var name='usage'} {tmpl_var name='of_txt'} {tmpl_var name='value'}</td> |
| | | <td> |
| | | <div class='progress'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="percentage" op="<" value="50"}success{tmpl_elseif name="percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="percentage"}' style='width:{tmpl_var name="percentage"}%'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="percentage" op="<" value="50"}success{tmpl_elseif name="percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="percentage"}' style='width:{tmpl_var name="percentage"}%' data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='percentage'}%"> |
| | | <span class='sr-only'>{tmpl_var name='usage'} {tmpl_var name='of_txt'} {tmpl_var name='value'}</span> |
| | | </div> |
| | | </div> |
| | |
| | | <td>{tmpl_var name='quota'}</td> |
| | | <td> |
| | | <div class='progress'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%' data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='used_percentage'}%"> |
| | | <span class='sr-only'>{tmpl_var name='used'} {tmpl_var name='of_txt'} {tmpl_var name='quota'}</span> |
| | | </div> |
| | | </div> |
| | |
| | | <td>{tmpl_var name='hard'}</td> |
| | | <td> |
| | | <div class='progress'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%'> |
| | | <div class='progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width:{tmpl_var name="used_percentage"}%' data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='used_percentage'}%"> |
| | | <span class='sr-only'>{tmpl_var name='used'} {tmpl_var name='of_txt'} {tmpl_var name='soft'}</span> |
| | | </div> |
| | | </div> |
| | |
| | | <?php |
| | | $wb['customerdata_txt'] = 'My Data'; |
| | | $wb['edit_txt'] = 'Edit'; |
| | | $wb['customerdata_txt'] = 'Mijn gegevens'; |
| | | $wb['edit_txt'] = 'Bewerken'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['databasequota_txt'] = 'Database Quota'; |
| | | $wb['database_txt'] = 'Database Name'; |
| | | $wb['used_txt'] = 'Used Space'; |
| | | $wb['database_txt'] = 'Database naam'; |
| | | $wb['used_txt'] = 'Gebruikte ruimte'; |
| | | $wb['quota_txt'] = 'Quota'; |
| | | $wb['no_database_accounts_txt'] = 'No databases found.'; |
| | | $wb['no_database_accounts_txt'] = 'Geen databases gevonden.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['invoice_client_settings_txt'] = 'Invoice Client Settings'; |
| | | $wb['edit_txt'] = 'Edit'; |
| | | $wb['edit_txt'] = 'Bewerken'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['invoices_txt'] = 'Invoices'; |
| | | $wb['invoice_no_txt'] = 'Invoice No.'; |
| | | $wb['amount_txt'] = 'Amount'; |
| | | $wb['date_txt'] = 'Date'; |
| | | $wb['invoices_txt'] = 'Facturen'; |
| | | $wb['invoice_no_txt'] = 'Factuur nr.'; |
| | | $wb['amount_txt'] = 'Aantal'; |
| | | $wb['date_txt'] = 'Datum'; |
| | | $wb['invoice_status_txt'] = 'Status'; |
| | | $wb['no_invoices_txt'] = 'No Invoices available.'; |
| | | $wb['paid_txt'] = 'Paid'; |
| | | $wb['unpaid_txt'] = 'Unpaid'; |
| | | $wb['paynow_txt'] = 'pay now'; |
| | | $wb['no_invoices_txt'] = 'Geen facturen beschikbaar.'; |
| | | $wb['paid_txt'] = 'Betaald'; |
| | | $wb['unpaid_txt'] = 'Niet betaald'; |
| | | $wb['paynow_txt'] = 'betaal nu'; |
| | | $wb['proforma_txt'] = 'Proforma'; |
| | | $wb['refunded_txt'] = 'Refunded'; |
| | | $wb['not_refunded_txt'] = 'Not refunded'; |
| | | $wb['invoice_type_invoice_txt'] = 'Invoice'; |
| | | $wb['invoice_type_invoice_txt'] = 'Factuur'; |
| | | $wb['invoice_type_proforma_txt'] = 'Proforma'; |
| | | $wb['invoice_type_refund_txt'] = 'Refund'; |
| | | $wb['invoice_type_reminder_txt'] = 'Reminder'; |
| | | $wb['invoice_type_reminder_txt'] = 'Herinnering'; |
| | | ?> |
| | |
| | | $wb['limit_webdav_user_txt'] = 'Aantal Webdav users'; |
| | | $wb['limit_client_txt'] = 'Aantal klanten'; |
| | | $wb['limit_database_txt'] = 'Aantal databases'; |
| | | $wb['limit_mailmailinglist_txt'] = 'Number of mailing lists'; |
| | | $wb['limit_domain_txt'] = 'Number of Domains'; |
| | | $wb['limit_mailmailinglist_txt'] = 'Aantal mailing lijsten'; |
| | | $wb['limit_domain_txt'] = 'Aantal domeinen'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['mailquota_txt'] = 'Mailbox Quota'; |
| | | $wb['email_txt'] = 'Email Address'; |
| | | $wb['name_txt'] = 'Name'; |
| | | $wb['used_txt'] = 'Used Space'; |
| | | $wb['email_txt'] = 'Email adres'; |
| | | $wb['name_txt'] = 'Naam'; |
| | | $wb['used_txt'] = 'Gebruikte ruimte'; |
| | | $wb['quota_txt'] = 'Quota'; |
| | | $wb['no_email_accounts_txt'] = 'No email accounts found.'; |
| | | $wb['no_email_accounts_txt'] = 'Geen e-mail accounts gevonden.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['available_modules_txt'] = 'Beschikbare modules'; |
| | | $wb['go_to_txt'] = 'Go to'; |
| | | $wb['go_to_txt'] = 'Ga naar'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['products_txt'] = 'My Products'; |
| | | $wb['name_txt'] = 'Name'; |
| | | $wb['price_txt'] = 'Price'; |
| | | $wb['next_payment_date_txt'] = 'Next Invoice'; |
| | | $wb['no_products_txt'] = 'No products found.'; |
| | | $wb['edit_txt'] = 'Edit'; |
| | | $wb['cancellation_date_txt'] = 'Cancelled by'; |
| | | $wb['products_txt'] = 'Mijn producten'; |
| | | $wb['name_txt'] = 'Naam'; |
| | | $wb['price_txt'] = 'Prijs'; |
| | | $wb['next_payment_date_txt'] = 'Volgende factuur'; |
| | | $wb['no_products_txt'] = 'Geen producten gevonden.'; |
| | | $wb['edit_txt'] = 'Bewerken'; |
| | | $wb['cancellation_date_txt'] = 'Geannuleerd door'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['quota_txt'] = 'Website Harddisk Quota'; |
| | | $wb['domain_txt'] = 'Domain / Website'; |
| | | $wb['used_txt'] = 'Used space'; |
| | | $wb['hard_txt'] = 'Hard limit'; |
| | | $wb['soft_txt'] = 'Soft limit'; |
| | | $wb['no_sites_txt'] = 'No web sites found.'; |
| | | $wb['quota_txt'] = 'Website harddisk Quota'; |
| | | $wb['domain_txt'] = 'Domein / Website'; |
| | | $wb['used_txt'] = 'Gebruikte ruimte'; |
| | | $wb['hard_txt'] = 'Harde limiet'; |
| | | $wb['soft_txt'] = 'Zachte limiet'; |
| | | $wb['no_sites_txt'] = 'Geen websites gevonden.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['shop_txt'] = 'Order'; |
| | | $wb['name_txt'] = 'Name'; |
| | | $wb['price_txt'] = 'Price'; |
| | | $wb['name_txt'] = 'Naam'; |
| | | $wb['price_txt'] = 'Prijs'; |
| | | $wb['setup_fee_txt'] = 'Setup Fee'; |
| | | $wb['no_products_txt'] = 'No products found.'; |
| | | $wb['no_products_txt'] = 'Geen producten gevonden.'; |
| | | $wb['order_txt'] = 'Order'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['available_modules_txt'] = 'Dostępne moduły'; |
| | | $wb['go_to_txt'] = 'Go to'; |
| | | $wb['go_to_txt'] = 'Idź do'; |
| | | ?> |
| | |
| | | <div class='page-header'> |
| | | <h1>Welcome Admin</h1> |
| | | <h1>{tmpl_var name='welcome_user'}</h1> |
| | | </div> |
| | | |
| | | <tmpl_if name='error'> |
| | |
| | | $error = ''; |
| | | |
| | | // Loading the template |
| | | $app->uses('tpl,validate_dns'); |
| | | $app->uses('tform,tpl,validate_dns'); |
| | | $app->tpl->newTemplate("form.tpl.htm"); |
| | | $app->tpl->setInclude('content_tpl', 'templates/dns_import.htm'); |
| | | $app->load_language_file('/web/dns/lib/lang/'.$_SESSION['s']['language'].'_dns_wizard.lng'); |
| | | |
| | | // Check if dns record limit has been reached. We will check only users, not admins |
| | | if($_SESSION["s"]["user"]["typ"] == 'user') { |
| | | $app->tform->formDef['db_table_idx'] = 'id'; |
| | | $app->tform->formDef['db_table'] = 'dns_soa'; |
| | | if(!$app->tform->checkClientLimit('limit_dns_zone')) { |
| | | $app->error($app->lng('limit_dns_zone_txt')); |
| | | } |
| | | if(!$app->tform->checkResellerLimit('limit_dns_zone')) { |
| | | $app->error('Reseller: '.$app->lng('limit_dns_zone_txt')); |
| | | } |
| | | } |
| | | |
| | | // import variables |
| | | $template_id = (isset($_POST['template_id']))?$app->functions->intval($_POST['template_id']):0; |
| | |
| | | $line = trim($line); |
| | | if ($line != '' && substr($line, 0, 1) != ';'){ |
| | | if(strpos($line, ";") !== FALSE) { |
| | | if (!preg_match("/v=DKIM|v=DMARC/",$line)) { |
| | | if(!preg_match("/\"[^\"]+;[^\"]*\"/", $line)) { |
| | | $line = substr($line, 0, strpos($line, ";")); |
| | | } |
| | | } |
| | |
| | | $parts = explode(' ', $line); |
| | | |
| | | // make elements lowercase |
| | | $dkim=@($parts[3]=='"v=DKIM1;')?true:false; |
| | | $dmarc=@($parts[3]=='"v=DMARC1;')?true:false; |
| | | |
| | | $new_parts = array(); |
| | | foreach($parts as $part){ |
| | | if(!$dkim && !$dmarc) { |
| | | if( |
| | | (strpos($part, ';') === false) && |
| | | (!preg_match("/^\"/", $part)) && |
| | | (!preg_match("/\"$/", $part)) |
| | | ) { |
| | | $new_parts[] = strtolower($part); |
| | | } else { |
| | | $new_parts[] = $part; |
| | |
| | | } |
| | | $spf_ip = trim($this->dataRecord['spf_ip']); |
| | | if (!empty($spf_ip)) { |
| | | $rec = split(' ', $spf_ip); |
| | | $rec = explode(' ', $spf_ip); |
| | | foreach ($rec as $ip) { |
| | | $temp_ip = explode('/', $ip); |
| | | if (filter_var($temp_ip[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { |
| | |
| | | } |
| | | $spf_hostname = trim($this->dataRecord['spf_hostname']); |
| | | if (!empty($spf_hostname)) { |
| | | $rec = split(' ', $spf_hostname); |
| | | $rec = explode(' ', $spf_hostname); |
| | | foreach ($rec as $hostname) { |
| | | if (preg_match('/^[a-zA-Z0-9\\.\\-\\*]{0,64}$/', $hostname)) |
| | | $spf_record[] = 'a:' . $hostname; |
| | |
| | | } |
| | | $spf_domain = trim($this->dataRecord['spf_domain']); |
| | | if (!empty($spf_domain)) { |
| | | $rec = split(' ', $spf_domain); |
| | | $rec = explode(' ', $spf_domain); |
| | | foreach ($rec as $domain) { |
| | | if (preg_match('/^[_a-zA-Z0-9\\.\\-\\*]{0,64}$/', $domain)) |
| | | $spf_record[] = 'include:' . $domain; |
| | |
| | | |
| | | |
| | | // Loading the template |
| | | $app->uses('tpl,validate_dns'); |
| | | $app->uses('tpl,validate_dns,tform'); |
| | | $app->tpl->newTemplate("form.tpl.htm"); |
| | | $app->tpl->setInclude('content_tpl', 'templates/dns_wizard.htm'); |
| | | $app->load_language_file('/web/dns/lib/lang/'.$_SESSION['s']['language'].'_dns_wizard.lng'); |
| | | |
| | | // Check if dns record limit has been reached. We will check only users, not admins |
| | | if($_SESSION["s"]["user"]["typ"] == 'user') { |
| | | $app->tform->formDef['db_table_idx'] = 'id'; |
| | | $app->tform->formDef['db_table'] = 'dns_soa'; |
| | | if(!$app->tform->checkClientLimit('limit_dns_zone')) { |
| | | $app->error($app->lng('limit_dns_zone_txt')); |
| | | } |
| | | if(!$app->tform->checkResellerLimit('limit_dns_zone')) { |
| | | $app->error('Reseller: '.$app->lng('limit_dns_zone_txt')); |
| | | } |
| | | } |
| | | |
| | | // import variables |
| | | $template_id = (isset($_POST['template_id']))?$app->functions->intval($_POST['template_id']):0; |
| | | $sys_groupid = (isset($_POST['client_group_id']))?$app->functions->intval($_POST['client_group_id']):0; |
| | |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; |
| | | $wb['error_no_server_id'] = 'No server provided.'; |
| | | $wb['error_not_allowed_server_id'] = 'The selected server is not allowed for this account.'; |
| | | $wb['error_not_allowed_server_id'] = 'Der ausgewählte Server ist in diesem Konto nicht verfügbar.'; |
| | | $wb['limit_dns_zone_txt'] = 'Die maximale Anzahl an DNS Einträgen für Ihr Konto wurde erreicht.'; |
| | | ?> |
| | |
| | | $wb['globalsearch_suggestions_text_txt'] = "Suggestions"; |
| | | $wb['error_no_server_id'] = 'No server provided.'; |
| | | $wb['error_not_allowed_server_id'] = 'The selected server is not allowed for this account.'; |
| | | $wb["limit_dns_zone_txt"] = 'The max. number of DNS zones for your account is reached.'; |
| | | ?> |
| | |
| | | $wb['Add DNS Zone'] = 'Add DNS Zone'; |
| | | $wb['Templates'] = 'Templates'; |
| | | $wb['Secondary Zones'] = 'Secondary Zones'; |
| | | $wb['Import Zone File'] = 'Import Zone File'; |
| | | $wb['Import Zone File'] = 'Zone bestanden importeren'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'DNS-Zones'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['origin_txt'] = 'Zone'; |
| | | $wb['ns_txt'] = 'NS'; |
| | | $wb['mbox_txt'] = 'Email'; |
| | | $wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard'; |
| | | $wb['add_new_record_txt'] = 'Add new DNS Zone manually'; |
| | | $wb['sys_groupid_txt'] = 'Client'; |
| | | $wb['mbox_txt'] = 'E-mail'; |
| | | $wb['add_new_record_wizard_txt'] = 'DNS Zone via wizard toevoegen'; |
| | | $wb['add_new_record_txt'] = 'DNS Zone manueel toevoegen'; |
| | | $wb['sys_groupid_txt'] = 'Klant'; |
| | | ?> |
| | |
| | | $wb['origin_txt'] = 'Zone'; |
| | | $wb['ns_txt'] = 'NS'; |
| | | $wb['mbox_txt'] = 'E-mail'; |
| | | $wb['add_new_record_wizard_txt'] = 'Toevoegen nieuw DNS Zone met wizard'; |
| | | $wb['add_new_record_wizard_txt'] = 'Toevoegen nieuwe DNS Zone met wizard'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe DNS Zone (handmatig)'; |
| | | $wb['import_zone_file_txt'] = 'Import Zone File'; |
| | | $wb['import_zone_file_txt'] = 'Importeer zone bestand'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['template_id_txt'] = 'Template'; |
| | | $wb['template_id_txt'] = 'Sjabloon'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['client_txt'] = 'Klant'; |
| | | $wb['btn_save_txt'] = 'Aanmaken DNS Record'; |
| | |
| | | $wb['ns2_txt'] = 'NS 2'; |
| | | $wb['ip_txt'] = 'IP-adres'; |
| | | $wb['ipv6_txt'] = 'IPv6-adres'; |
| | | $wb['error_origin_empty'] = 'Oorspong is niet ingvuld.'; |
| | | $wb['error_ns_empty'] = 'NS is niet ingvuld.'; |
| | | $wb['error_mbox_empty'] = 'Mbox is niet ingvuld.'; |
| | | $wb['error_refresh_empty'] = 'Ververs is niet ingvuld.'; |
| | | $wb['error_retry_empty'] = 'Opnieuw proberen is niet ingvuld.'; |
| | | $wb['error_expire_empty'] = 'Verlopen is niet ingvuld.'; |
| | | $wb['error_minimum_empty'] = 'Minimum is niet ingvuld.'; |
| | | $wb['error_ttl_empty'] = 'TTL is niet ingvuld.'; |
| | | $wb['error_domain_empty'] = 'Domein is niet ingvuld'; |
| | | $wb['error_ip_empty'] = 'IP is niet ingvuld.'; |
| | | $wb['error_ipv6_empty'] = 'IPv6 is niet ingvuld.'; |
| | | $wb['error_ns1_empty'] = 'NS1 is niet ingvuld.'; |
| | | $wb['error_ns2_empty'] = 'NS2 is niet ingvuld.'; |
| | | $wb['error_email_empty'] = 'E-mail is niet ingvuld.'; |
| | | $wb['error_origin_empty'] = 'Oorspong is niet ingevuld.'; |
| | | $wb['error_ns_empty'] = 'NS is niet ingevuld.'; |
| | | $wb['error_mbox_empty'] = 'Mbox is niet ingevuld.'; |
| | | $wb['error_refresh_empty'] = 'Ververs is niet ingevuld.'; |
| | | $wb['error_retry_empty'] = 'Opnieuw proberen is niet ingevuld.'; |
| | | $wb['error_expire_empty'] = 'Verlopen is niet ingevuld.'; |
| | | $wb['error_minimum_empty'] = 'Minimum is niet ingevuld.'; |
| | | $wb['error_ttl_empty'] = 'TTL is niet ingevuld.'; |
| | | $wb['error_domain_empty'] = 'Domein is niet ingevuld'; |
| | | $wb['error_ip_empty'] = 'IP is niet ingevuld.'; |
| | | $wb['error_ipv6_empty'] = 'IPv6 is niet ingevuld.'; |
| | | $wb['error_ns1_empty'] = 'NS1 is niet ingevuld.'; |
| | | $wb['error_ns2_empty'] = 'NS2 is niet ingevuld.'; |
| | | $wb['error_email_empty'] = 'E-mail is niet ingevuld.'; |
| | | $wb['error_domain_regex'] = 'Domein bevat ongeldige karakters.'; |
| | | $wb['error_ns1_regex'] = 'NS1 bevat ongeldige karakters.'; |
| | | $wb['error_ns2_regex'] = 'NS2 bevat ongeldige karakters.'; |
| | | $wb['error_email_regex'] = 'E-mail bevat geen geldig e-mailadres.'; |
| | | $wb['dns_zone_txt'] = 'DNS Zone'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'of'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'results'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'No results.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 results'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Search'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'van'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'resultaten'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'Geen resultaten.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 resultaten'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Zoeken'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggesties'; |
| | | $wb['list_head_txt'] = 'DNS Zone Wizard'; |
| | | $wb['list_desc_txt'] = 'Create a DNS Zone via a wizard'; |
| | | $wb['dkim_txt'] = 'DKIM enabled'; |
| | | $wb['error_no_server_id'] = 'No server provided.'; |
| | | $wb['error_not_allowed_server_id'] = 'The selected server is not allowed for this account.'; |
| | | $wb['dnssec_txt'] = 'Sign zone (DNSSEC)'; |
| | | $wb['list_desc_txt'] = 'DNS Zone via de wizard toevoegen'; |
| | | $wb['dkim_txt'] = 'DKIM ingeschakeld'; |
| | | $wb['error_no_server_id'] = 'Geen server opgegeven.'; |
| | | $wb['error_not_allowed_server_id'] = 'De geselecteerde server mag niet voor dit account gebruikt worden.'; |
| | | $wb['dnssec_txt'] = 'Zone signeren (DNSSEC)'; |
| | | ?> |
| | |
| | | <tr> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="type"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="name"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="data"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='name'}">{tmpl_var name="name"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='data'}">{tmpl_var name="data"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="aux"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}">{tmpl_var name="ttl"}</a></td> |
| | | <td class="text-right"> |
| | |
| | | <tr> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="sys_groupid"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="origin"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="ns"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="mbox"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='origin'}">{tmpl_var name="origin"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='ns'}">{tmpl_var name="ns"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='mbox'}">{tmpl_var name="mbox"}</a></td> |
| | | <td class="text-right"> |
| | | <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a> |
| | | </td> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | searchFieldWatermark: '', |
| | | resultBoxPosition: '' |
| | | }); |
| | | </script> |
| | | </script> |
| | |
| | | <tmpl_loop name="records"> |
| | | <tr> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="origin"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="ns"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}">{tmpl_var name="mbox"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='origin'}">{tmpl_var name="origin"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='ns'}">{tmpl_var name="ns"}</a></td> |
| | | <td><a href="#" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='mbox'}">{tmpl_var name="mbox"}</a></td> |
| | | <td class="text-right"> |
| | | <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a> |
| | | </td> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | 'suffix' => '', |
| | | 'width' => '', |
| | | 'datasource'=> array ( 'type' => 'SQL', |
| | | 'querystring' => 'SELECT userid,username FROM sys_user WHERE {AUTHSQL} ORDER BY username', |
| | | // 'querystring' => 'SELECT userid,username FROM sys_user WHERE {AUTHSQL} ORDER BY username', |
| | | 'querystring' => 'SELECT userid,username FROM sys_user ORDER BY username', |
| | | 'keyfield' => 'userid', |
| | | 'valuefield' => 'username' |
| | | ), |
| | |
| | | } |
| | | $confirmation_message .= "\n\n".$app->tform->lng('message_txt').": \"".$this->dataRecord['message']."\""; |
| | | $confirmation_message .= "\n\nISPConfig: ".($_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://').$_SERVER['HTTP_HOST']; |
| | | $app->functions->mail($sender_email, $subject, $confirmation_message, $recipient_email); |
| | | if ($this->dataRecord['subject'] != '' && $this->dataRecord['message'] != '') $app->functions->mail($sender_email, $subject, $confirmation_message, $recipient_email); |
| | | } else { |
| | | $app->tform->errorMessage .= $app->tform->lng("recipient_or_sender_email_address_not_valid_txt")."<br />"; |
| | | } |
| | |
| | | $_SESSION['s']['user']['theme'] = isset($user['app_theme']) ? $user['app_theme'] : 'default'; |
| | | $_SESSION['s']['language'] = $user['language']; |
| | | $_SESSION["s"]['theme'] = $_SESSION['s']['user']['theme']; |
| | | if ($loginAs) $_SESSION['s']['plugin_cache'] = $_SESSION['s_old']['plugin_cache']; |
| | | |
| | | if(is_file(ISPC_WEB_PATH . '/' . $_SESSION['s']['user']['startmodule'].'/lib/module.conf.php')) { |
| | | include_once ISPC_WEB_PATH . '/' . $_SESSION['s']['user']['startmodule'].'/lib/module.conf.php'; |
| | |
| | | <?php |
| | | $wb['error_user_password_empty'] = 'Gebruikersnaam of wachtwoord is niet ingvuld.'; |
| | | $wb['error_user_password_empty'] = 'Gebruikersnaam of wachtwoord is niet ingevuld.'; |
| | | $wb['error_user_password_incorrect'] = 'Gebruikersnaam of wachtwoord onjuist.'; |
| | | $wb['error_user_blocked'] = 'Gebruiker is geblokkeerd.'; |
| | | $wb['error_user_too_many_logins'] = 'Teveel onjuiste login pogingen, Probeer het nogmaals na 15 minutes'; |
| | |
| | | $wb['pw_error_length'] = 'De lengte van het wachtwoord is > 256 karakters.'; |
| | | $wb['username_txt'] = 'Gebruikersnaam'; |
| | | $wb['password_txt'] = 'Wachtwoord'; |
| | | $wb['login_button_txt'] = 'Login'; |
| | | $wb['pw_lost_txt'] = 'Password lost'; |
| | | $wb['login_button_txt'] = 'Inloggen'; |
| | | $wb['pw_lost_txt'] = 'Wachtwoord vergeten'; |
| | | $wb['error_maintenance_mode'] = 'This ISPConfig installation is currently under maintenance. We should be back shortly. Thank you for your patience.'; |
| | | $wb['login_txt'] = 'Login'; |
| | | $wb['pw_reset_txt'] = 'Password reset'; |
| | | $wb['pw_button_txt'] = 'Resend password'; |
| | | $wb['login_txt'] = 'Inloggen'; |
| | | $wb['pw_reset_txt'] = 'Wachtwoord herstellen'; |
| | | $wb['pw_button_txt'] = 'Wachtwoord versturen'; |
| | | $wb['email_txt'] = 'Email'; |
| | | $wb['theme_not_compatible'] = 'The chosen theme is not compatible with the current ISPConfig version. Please check for a new version of the theme.<br />The default theme as been activated automatically.'; |
| | | $wb['back_txt'] = 'Back'; |
| | |
| | | <?php |
| | | $wb['login_1_txt'] = 'Do you want to login as user'; |
| | | $wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.'; |
| | | $wb['btn_yes_txt'] = 'Yes, login as Client'; |
| | | $wb['btn_back_txt'] = 'No, back to list'; |
| | | $wb['udp_port_help_txt'] = 'Separated by comma'; |
| | | $wb['login_1_txt'] = 'Wil je inloggen als gebruiker'; |
| | | $wb['login_2_txt'] = 'Wanneer je doorgaat kun je terugkeren door op afmelden te klikken.'; |
| | | $wb['btn_yes_txt'] = 'Ja, log me in als deze klant'; |
| | | $wb['btn_back_txt'] = 'Nee, terug naar het overzicht'; |
| | | $wb['udp_port_help_txt'] = 'Gescheiden door komma'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['firewall_error_unique'] = 'There is already a firewall record for this server.'; |
| | | $wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".'; |
| | |
| | | <input type="hidden" name="s_pg" value="dashboard" /> |
| | | <input type="hidden" name="login_as" value="1" /> |
| | | <div class="wf_actions buttons"> |
| | | <button class="positive iconstxt icoPositive" type="button" value="'.$wb['btn_yes_txt'].'" data-submit-form="pageForm" data-form-action="/login/index.php"><span>'.$wb['btn_yes_txt'].'</span></button> |
| | | <button class="negative iconstxt icoNegative" type="button" value="'.$wb['btn_back_txt'].'" data-load-content="'.$backlink.'"><span>'.$wb['btn_back_txt'].'</span></button> |
| | | <button class="btn btn-default formbutton-success" type="button" value="'.$wb['btn_yes_txt'].'" data-submit-form="pageForm" data-form-action="/login/index.php"><span>'.$wb['btn_yes_txt'].'</span></button> |
| | | <button class="btn btn-default formbutton-default" value="'.$wb['btn_back_txt'].'" data-load-content="'.$backlink.'"><span>'.$wb['btn_back_txt'].'</span></button> |
| | | </div> |
| | | '; |
| | | ?> |
| | |
| | | <input type="hidden" name="s_pg" value="index" /> |
| | | <input type="hidden" name="login_as" value="1" /> |
| | | <div class="wf_actions buttons"> |
| | | <button class="positive iconstxt icoPositive" type="button" value="Yes, re-login as ' . $utype . '" data-submit-form="pageForm" data-form-action="/login/index.php"><span>Yes, re-login as ' . $utype . '</span></button> |
| | | <button class="negative iconstxt icoNegative" type="button" value="No, logout" data-load-content="login/logout.php?l=1"><span>No, logout</span></button> |
| | | <button class="btn btn-default formbutton-success" type="button" value="Yes, re-login as ' . $utype . '" data-submit-form="pageForm" data-form-action="/login/index.php"><span>Yes, re-login as ' . $utype . '</span></button> |
| | | <button class="btn btn-default formbutton-default" type="button" value="No, logout" data-load-content="login/logout.php?l=1"><span>No, logout</span></button> |
| | | </div> |
| | | '; |
| | | exit; |
| | |
| | | $wb['cryptpwd_txt'] = 'Wachtwoord'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['email_error_isemail'] = 'Email adress is ongeldig.'; |
| | | $wb['email_error_isemail'] = 'E-mail adres is ongeldig.'; |
| | | $wb['email_error_unique'] = 'Duplicaat e-mail adres.'; |
| | | $wb['autoresponder_text_txt'] = 'Tekst'; |
| | | $wb['autoresponder_txt'] = 'Actief'; |
| | | $wb['autoresponder_start_date_txt'] = 'Start op'; |
| | | $wb['autoresponder_start_date_ispast'] = 'Start datum mag niet in het verleden liggen.'; |
| | | $wb['autoresponder_end_date_txt'] = 'Eindigd op'; |
| | | $wb['autoresponder_end_date_txt'] = 'Eindigt op'; |
| | | $wb['autoresponder_end_date_isgreater'] = 'Einddatum moet later zijn dan de startdatum.'; |
| | | $wb['no_domain_perm'] = 'U heeft geen toestemming voor dit domein.'; |
| | | $wb['error_no_pwd'] = 'Wachtwoord is niet ingvuld.'; |
| | | $wb['error_no_pwd'] = 'Wachtwoord is niet ingevuld.'; |
| | | $wb['quota_error_isint'] = 'Mailbox grootte moet een numerieke waarde zijn.'; |
| | | $wb['quota_txt'] = 'Quota'; |
| | | $wb['server_id_txt'] = 'Server_id'; |
| | | $wb['password_txt'] = 'Wachtwoord'; |
| | | $wb['maildir_txt'] = 'Maildir'; |
| | | $wb['postfix_txt'] = 'Ontvangen inschakelen'; |
| | | $wb['greylisting_txt'] = 'Enable greylisting'; |
| | | $wb['greylisting_txt'] = 'Greylisting inschakelen'; |
| | | $wb['access_txt'] = 'Toegang inschakelen'; |
| | | $wb['policy_txt'] = 'Spamfilter'; |
| | | $wb['no_policy'] = '- niet ingeschakeld -'; |
| | |
| | | $wb['disablepop3_txt'] = 'Uitschakelen POP3'; |
| | | $wb['duplicate_alias_or_forward_txt'] = 'Er is al een alias of forward met dir e-mailadres.'; |
| | | $wb['quota_error_value'] = 'Ongeldige quota waarde. Toegestane waarden zijn: 0 = ongelimiteerd of nummerieke waarde > 1'; |
| | | $wb['move_junk_txt'] = 'Verplaats Spam e-mails naar junk directory'; |
| | | $wb['move_junk_txt'] = 'Verplaats SPAM e-mails naar junk folder'; |
| | | $wb['name_txt'] = 'Echte naam'; |
| | | $wb['name_optional_txt'] = '(Optioneel)'; |
| | | $wb['autoresponder_active'] = 'Inschakelen autoresponder'; |
| | | $wb['cc_txt'] = 'Stuur kopie naar'; |
| | | $wb['cc_error_isemail'] = 'Het Stuur kopie naar veld bevat geen geldig e-mailadres'; |
| | | $wb['cc_error_isemail'] = 'Het "Stuur kopie naar" veld bevat geen geldig e-mail adres'; |
| | | $wb['domain_txt'] = 'Domain'; |
| | | $wb['now_txt'] = 'Now'; |
| | | $wb['login_error_unique'] = 'Login is already taken.'; |
| | | $wb['login_error_regex'] = 'Valid characters are A-Z, a-z, 0-9, ., _ and -.'; |
| | | $wb['login_txt'] = 'Login (optional)'; |
| | | $wb['error_login_email_txt'] = 'This login is not allowed. Please enter a different login or use the mail address as login.'; |
| | | $wb['autoresponder_subject_txt'] = 'Email Subject'; |
| | | $wb['autoresponder_subject'] = 'Out of office reply'; |
| | | $wb['generate_password_txt'] = 'Generate Password'; |
| | | $wb['repeat_password_txt'] = 'Repeat Password'; |
| | | $wb['password_mismatch_txt'] = 'The passwords do not match.'; |
| | | $wb['password_match_txt'] = 'The passwords do match.'; |
| | | $wb['autoresponder_subject_txt'] = 'E-mail onderwerp'; |
| | | $wb['autoresponder_subject'] = 'Out of office antwoord'; |
| | | $wb['generate_password_txt'] = 'Genereer wachtwoord'; |
| | | $wb['repeat_password_txt'] = 'Herhaal wachtwoord'; |
| | | $wb['password_mismatch_txt'] = 'De wachtwoorden zijn niet gelijk.'; |
| | | $wb['password_match_txt'] = 'De wachtwoord zijn gelijk.'; |
| | | $wb['backup_interval_txt'] = 'Backup interval'; |
| | | $wb['backup_copies_txt'] = 'Number of backup copies'; |
| | | $wb['no_backup_txt'] = 'No backup'; |
| | |
| | | $wb['weekly_backup_txt'] = 'Weekly'; |
| | | $wb['monthly_backup_txt'] = 'Monthly'; |
| | | $wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.'; |
| | | $wb['cc_note_txt'] = '(Separate multiple email addresses with commas)'; |
| | | $wb['disablesmtp_txt'] = 'Disable SMTP (sending)'; |
| | | $wb['cc_note_txt'] = '(Meerdere e-mail adressen scheiden met een komma)'; |
| | | $wb['disablesmtp_txt'] = 'Uitschakelen SMTP (versturen)'; |
| | | $wb['autoresponder_start_date_is_required'] = 'Start date must be set when Autoresponder is enabled.'; |
| | | $wb['sender_cc_txt'] = 'Send outgoing copy to'; |
| | | $wb['sender_cc_error_isemail'] = 'The -Send outgoing copy to- field does not contain a valid email address'; |
| | | $wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)'; |
| | | $wb['sender_cc_txt'] = 'Stuur uitgaande kopie aan'; |
| | | $wb['sender_cc_error_isemail'] = 'Het "Stuur uitgaande kopie aan" veld bevat geen geldig e-mail adres'; |
| | | $wb['sender_cc_note_txt'] = '(Meerdere e-mail adressen scheiden met een komma)'; |
| | | ?> |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "source", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "source", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | if($_SESSION['s']['user']['typ'] == 'admin') { |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "source", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "source", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('1' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", '0' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('1' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", '0' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "postfix", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "disablesmtp", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "disableimap", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "disablepop3", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | ?> |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "spam_lover", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "banned_files_lover", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "bad_header_lover", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('Y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'N' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | if($_SESSION['s']['user']['typ'] == 'admin') { |
| | |
| | | if($_SESSION["s"]["user"]["typ"] != 'admin') { |
| | | // Get the limits of the client |
| | | $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); |
| | | $client = $app->db->queryOneRecord("SELECT limit_maildomain, default_mailserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id); |
| | | $client = $app->db->queryOneRecord("SELECT client.mail_servers, limit_maildomain, default_mailserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id); |
| | | // When the record is updated |
| | | if($this->id > 0) { |
| | | // restore the server ID if the user is not admin and record is edited |
| | |
| | | $this->dataRecord["homedir"] = $mail_config["homedir_path"]; |
| | | |
| | | // Will be overwritten by mail_plugin |
| | | $this->dataRecord['uid'] = -1; |
| | | $this->dataRecord['gid'] = -1; |
| | | if ($mail_config["mailbox_virtual_uidgid_maps"] == 'y') { |
| | | $this->dataRecord['uid'] = -1; |
| | | $this->dataRecord['gid'] = -1; |
| | | } else { |
| | | $this->dataRecord['uid'] = intval($mail_config["mailuser_uid"]); |
| | | $this->dataRecord['gid'] = intval($mail_config["mailuser_gid"]); |
| | | } |
| | | |
| | | //* Check if there is no alias or forward with this address |
| | | $tmp = $app->db->queryOneRecord("SELECT count(forwarding_id) as number FROM mail_forwarding WHERE active = 'y' AND source = ?", $this->dataRecord["email"]); |
| | |
| | | <tbody> |
| | | <tmpl_loop name="records"> |
| | | <tr> |
| | | <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="email"}</a></td> |
| | | <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='email'}">{tmpl_var name="email"}</a></td> |
| | | <tmpl_if name="enable_custom_login"> |
| | | <td> |
| | | <a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="login"}</a> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | // $this->desyncMailusers($this->dataRecord['domain']); |
| | | // Update DNS Records |
| | | // TODO: Update gets only triggered from main form. WHY? |
| | | $soa = $app->db->queryOneRecord("SELECT id AS zone, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other FROM dns_soa WHERE active = 'Y' AND = ?", $this->dataRecord['domain'].'.'); |
| | | $soa = $app->db->queryOneRecord("SELECT id AS zone, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other FROM dns_soa WHERE active = 'Y' AND `origin` = ?", $this->dataRecord['domain'].'.'); |
| | | if ( isset($soa) && !empty($soa) ) $this->update_dns($this->dataRecord, $soa); |
| | | } |
| | | |
| | |
| | | $wb['No Refresh'] = 'Nie odświeżaj'; |
| | | $wb['minutes'] = 'minuty'; |
| | | $wb['Show Overview'] = 'Pokaż wszystko'; |
| | | $wb['System State (All Servers)'] = 'Status systemu (Wszystkie serwery)'; |
| | | $wb['System State (All Servers)'] = 'Status systemu'; |
| | | $wb['Hardware-Information'] = 'Informacje o sprzęcie'; |
| | | $wb['Show CPU info'] = 'Pokaż informacje o procesorze'; |
| | | $wb['Server State'] = 'Status serwera'; |
| | |
| | | $client_group_id = $app->functions->intval($_GET["client_group_id"]); |
| | | $ip_type = $_GET['ip_type']; |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin' or $app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | | //if($_SESSION["s"]["user"]["typ"] == 'admin' or $app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | | |
| | | //* Get global web config |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | |
| | | $tmp = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ?", $client_group_id); |
| | | $sql = "SELECT ip_address FROM server_ip WHERE ip_type = ? AND server_id = ? AND (client_id = 0 OR client_id=?)"; |
| | | |
| | | $sql = "SELECT ip_address FROM server_ip WHERE ip_type = ? AND server_id = ?"; |
| | | $ips = $app->db->queryAllRecords($sql, $ip_type, $server_id); |
| | | $ips = $app->db->queryAllRecords($sql, $ip_type, $server_id, $tmp['groupid']); |
| | | // $ip_select = "<option value=''></option>"; |
| | | if($ip_type == 'IPv4'){ |
| | | $ip_select = ($web_config['enable_ip_wildcard'] == 'y')?"*#":""; |
| | |
| | | } |
| | | unset($tmp); |
| | | unset($ips); |
| | | } |
| | | //} |
| | | |
| | | echo substr($ip_select, 0, -1); |
| | | ?> |
| | |
| | | if(!empty($domains)) |
| | | { |
| | | $set = array(); |
| | | $set[] = '<select name="main_domain" id="main_domain" class="form-control">'; |
| | | $set[] = '<select name="main_domain" id="main_domain" class="form-control" style="width:100%; height:100%; min-width:170px;">'; |
| | | foreach($domains as $domain) |
| | | { |
| | | $selected = ''; |
| | |
| | | foreach($tmp_array as $database_name => $data) { |
| | | $db_name = $data['database_name']; |
| | | |
| | | $temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE sys_group.client_id = client.client_id AND web_database.database_name = ?", $db_name); |
| | | $temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE sys_group.groupid = web_database.sys_groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?", $db_name); |
| | | if(is_array($temp) && !empty($temp)) { |
| | | $monitor_data[$server_id.'.'.$db_name]['database_name'] = $data['database_name']; |
| | | $monitor_data[$server_id.'.'.$db_name]['client'] = isset($temp['username']) ? $temp['username'] : ''; |
| | |
| | | if(!empty($monitor_data[$rec['server_id'].'.'.$database_name])){ |
| | | $rec['database'] = $monitor_data[$rec['server_id'].'.'.$database_name]['database_name']; |
| | | $rec['client'] = $monitor_data[$rec['server_id'].'.'.$database_name]['client']; |
| | | $rec['server_name'] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id'])['server_name']; |
| | | $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id']); |
| | | $rec['server_name'] = $tmp['server_name']; |
| | | unset($tmp); |
| | | $rec['used'] = $monitor_data[$rec['server_id'].'.'.$database_name]['used']; |
| | | $rec['quota'] = $monitor_data[$rec['server_id'].'.'.$database_name]['quota']; |
| | | |
| | |
| | | $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ?", $sys_group['client_id']); |
| | | $rec['client'] = $client['username']; |
| | | $rec['used'] = 'n/a'; |
| | | $rec['quota'] = 'n/a'; |
| | | if (empty($rec['database_quota'])) $rec['database_quota'] = 0; |
| | | $rec['quota'] = $rec['database_quota']; |
| | | } |
| | | $rec['id'] = $rec[$this->idx_key]; |
| | | |
| | |
| | | $wb['Webdav-User'] = 'Webdav-gebruiker'; |
| | | $wb['Folder'] = 'Protected Folders'; |
| | | $wb['Folder users'] = 'Protected Folder Users'; |
| | | $wb['Command Line'] = 'Command Line'; |
| | | $wb['Command Line'] = 'Opdrachtregel'; |
| | | $wb['Shell-User'] = 'Shell-gebruiker'; |
| | | $wb['Cron Jobs'] = 'Cron Jobs'; |
| | | $wb['Statistics'] = 'Statististieken'; |
| | | $wb['Statistics'] = 'Statistieken'; |
| | | $wb['Web traffic'] = 'Web Traffic'; |
| | | $wb['Website quota (Harddisk)'] = 'Website quota (Harddisk)'; |
| | | $wb['Cron'] = 'Cron'; |
| | | $wb['Stats'] = 'Statististieken'; |
| | | $wb['Stats'] = 'Statistieken'; |
| | | $wb['Shell'] = 'Shell'; |
| | | $wb['Webdav'] = 'WebDAV'; |
| | | $wb['FTP'] = 'FTP'; |
| | | $wb['Options'] = 'Opties'; |
| | | $wb['Domain'] = 'Domain'; |
| | | $wb['Domain'] = 'Domein'; |
| | | $wb['Redirect'] = 'Redirect'; |
| | | $wb['SSL'] = 'SSL'; |
| | | $wb['Sites'] = 'Sites'; |
| | | $wb['Database User'] = 'Database Users'; |
| | | $wb['Database User'] = 'Database gebruikers'; |
| | | $wb['APS Installer'] = 'APS Installer'; |
| | | $wb['Available packages'] = 'Available packages'; |
| | | $wb['Installed packages'] = 'Installed packages'; |
| | | $wb['Update Packagelist'] = 'Update Packagelist'; |
| | | $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; |
| | | $wb['Available packages'] = 'Beschikbare pakketten'; |
| | | $wb['Installed packages'] = 'Geïnstalleerde pakketten'; |
| | | $wb['Update Packagelist'] = 'Pakkettenlijst bijwerken'; |
| | | $wb['Subdomain (Vhost)'] = 'Subdomein (Vhost)'; |
| | | $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['overview_txt'] = 'Overview'; |
| | | $wb['overview_txt'] = 'Overzicht'; |
| | | $wb['administration_txt'] = 'Administration'; |
| | | $wb['available_packages_txt'] = 'Available packages'; |
| | | $wb['installed_packages_txt'] = 'Installed packages'; |
| | | $wb['yes_txt'] = 'Yes'; |
| | | $wb['no_txt'] = 'No'; |
| | | $wb['available_packages_txt'] = 'Beschikbare pakketten'; |
| | | $wb['installed_packages_txt'] = 'Geïnstalleerde pakketten'; |
| | | $wb['yes_txt'] = 'Ja'; |
| | | $wb['no_txt'] = 'Nee'; |
| | | $wb['invalid_id_txt'] = 'No valid ID has been provided.'; |
| | | $wb['details_txt'] = 'Details'; |
| | | $wb['version_txt'] = 'Version'; |
| | | $wb['category_txt'] = 'Category'; |
| | | $wb['version_txt'] = 'Versie'; |
| | | $wb['category_txt'] = 'Categorie'; |
| | | $wb['homepage_txt'] = 'Homepage'; |
| | | $wb['supported_languages_txt'] = 'Supported languages'; |
| | | $wb['description_txt'] = 'Description'; |
| | | $wb['config_script_txt'] = 'Configuration script'; |
| | | $wb['installed_size_txt'] = 'Size after installation'; |
| | | $wb['license_txt'] = 'License'; |
| | | $wb['screenshots_txt'] = 'Screenshots'; |
| | | $wb['supported_languages_txt'] = 'Ondersteunde talen'; |
| | | $wb['description_txt'] = 'Omschrijving'; |
| | | $wb['config_script_txt'] = 'Configuratie script'; |
| | | $wb['installed_size_txt'] = 'Grootte na installatie'; |
| | | $wb['license_txt'] = 'Licentie'; |
| | | $wb['screenshots_txt'] = 'Schermafbeeldingen'; |
| | | $wb['changelog_txt'] = 'Changelog'; |
| | | $wb['server_requirements_txt'] = 'Server requirements'; |
| | | $wb['php_extensions_txt'] = 'PHP extensions'; |
| | | $wb['php_settings_txt'] = 'PHP settings'; |
| | | $wb['supported_php_versions_txt'] = 'Supported PHP versions'; |
| | | $wb['php_extensions_txt'] = 'PHP extensies'; |
| | | $wb['php_settings_txt'] = 'PHP instellingen'; |
| | | $wb['supported_php_versions_txt'] = 'Ondersteunde PHP versies'; |
| | | $wb['database_txt'] = 'Database'; |
| | | $wb['settings_txt'] = 'Settings'; |
| | | $wb['install_package_txt'] = 'Install this package'; |
| | | $wb['settings_txt'] = 'Instellingen'; |
| | | $wb['install_package_txt'] = 'Installeer dit pakket'; |
| | | $wb['installation_txt'] = 'Installation'; |
| | | $wb['install_location_txt'] = 'Install location'; |
| | | $wb['acceptance_txt'] = 'Acceptance'; |
| | |
| | | $wb['installation_success_txt'] = 'Installed'; |
| | | $wb['installation_remove_txt'] = 'Removal planned'; |
| | | $wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.'; |
| | | $wb['btn_install_txt'] = 'Install'; |
| | | $wb['btn_cancel_txt'] = 'Cancel'; |
| | | $wb['btn_install_txt'] = 'Installeren'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Installed packages'; |
| | | $wb['name_txt'] = 'Name'; |
| | | $wb['version_txt'] = 'Version'; |
| | | $wb['customer_txt'] = 'Client'; |
| | | $wb['list_head_txt'] = 'Geïnstalleerde pakketten'; |
| | | $wb['name_txt'] = 'Naam'; |
| | | $wb['version_txt'] = 'Versie'; |
| | | $wb['customer_txt'] = 'Klant'; |
| | | $wb['status_txt'] = 'Status'; |
| | | $wb['install_location_txt'] = 'Install location'; |
| | | $wb['pkg_delete_confirmation'] = 'Do you really want to delete this installation?'; |
| | | $wb['filter_txt'] = 'Search'; |
| | | $wb['delete_txt'] = 'Delete'; |
| | | $wb['install_location_txt'] = 'Installatie pad'; |
| | | $wb['pkg_delete_confirmation'] = 'Weet je zeker dat je deze installatie wilt verwijderen ?'; |
| | | $wb['filter_txt'] = 'Zoeken'; |
| | | $wb['delete_txt'] = 'Verwijderen'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Available packages'; |
| | | $wb['name_txt'] = 'Name'; |
| | | $wb['version_txt'] = 'Version'; |
| | | $wb['category_txt'] = 'Category'; |
| | | $wb['status_txt'] = 'Unlocked'; |
| | | $wb['filter_txt'] = 'Search'; |
| | | $wb['list_head_txt'] = 'Beschikbare pakketten'; |
| | | $wb['name_txt'] = 'Naam'; |
| | | $wb['version_txt'] = 'Versie'; |
| | | $wb['category_txt'] = 'Categorie'; |
| | | $wb['status_txt'] = 'Beschikbaar'; |
| | | $wb['filter_txt'] = 'Zoeken'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['head_txt'] = 'Update Packagelist'; |
| | | $wb['head_txt'] = 'Pakketten bijwerken'; |
| | | $wb['list_desc_txt'] = ''; |
| | | $wb['btn_start_txt'] = 'Update Packagelist'; |
| | | $wb['btn_cancel_txt'] = 'Cancel'; |
| | | $wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.'; |
| | | $wb['btn_start_txt'] = 'Pakketten bijwerken'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['legend_txt'] = 'Via deze pagina is het mogelijk om de pakkettenlijst bij te werken. Let op dat het bijwerken meer dan 5 minuten kan duren. Je kunt deze pagina verlaten, op de achtergrond zal het bijwerken dan afgerond worden.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Backup Stats'; |
| | | $wb['list_head_txt'] = 'Backup statistieken'; |
| | | $wb['database_name_txt'] = ''; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['domain_txt'] = 'Domain'; |
| | | $wb['backup_count_txt'] = 'Backup count'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['backup_count_txt'] = 'Backup aantal'; |
| | | $wb['backup_server_txt'] = 'Server'; |
| | | $wb['backup_interval_txt'] = 'Interval / cnt.'; |
| | | $wb['backup_size_txt'] = 'Backupsize'; |
| | | $wb['backup_size_txt'] = 'Backup grootte'; |
| | | ?> |
| | |
| | | $wb['database_password_txt'] = 'Database wachtwoord'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['database_charset_txt'] = 'Database karkakterset'; |
| | | $wb['remote_access_txt'] = 'Remote toegang'; |
| | | $wb['remote_ips_txt'] = 'Remote toegang IPs (IP adressen gescheiden door een komma, niet ingevuld betekend toegang voor <i>elk IP-adres</i>)'; |
| | | $wb['database_remote_error_ips'] = 'Ten minste één van de ingevulde IP-adressen is ongeldig.'; |
| | | $wb['remote_access_txt'] = 'Externe toegang'; |
| | | $wb['remote_ips_txt'] = 'Externe toegang IPs (IP adressen gescheiden door een komma, niet ingevuld betekent toegang voor <i>elk IP-adres</i>)'; |
| | | $wb['database_remote_error_ips'] = 'Ten minste één van de ingevulde IP-adressen is ongeldig.'; |
| | | $wb['client_txt'] = 'Klant'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['database_name_error_empty'] = 'Databasenaam is niet ingvuld.'; |
| | |
| | | $wb['database_name_error_len'] = 'Databasenaam - {db} - is te lang. De max. lengte van de databasenaam incl. voorvoegsel is 64 karakters.'; |
| | | $wb['database_user_error_len'] = 'Databasenaam - {user}- is te lang. De max. lengte van de database gebruikersnaam incl. voorvoegsel is 16 karakters.'; |
| | | $wb['parent_domain_id_txt'] = 'Site'; |
| | | $wb['database_site_error_empty'] = 'Select the site to which the database belongs.'; |
| | | $wb['select_site_txt'] = '- Select Site -'; |
| | | $wb['btn_save_txt'] = 'Save'; |
| | | $wb['btn_cancel_txt'] = 'Cancel'; |
| | | $wb['generate_password_txt'] = 'Generate Password'; |
| | | $wb['database_site_error_empty'] = 'Selecteer de site waar deze database aan gelinkt moet worden.'; |
| | | $wb['select_site_txt'] = '- Selecteer Site -'; |
| | | $wb['btn_save_txt'] = 'Opslaan'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['generate_password_txt'] = 'Genereer wachtwoord'; |
| | | $wb['repeat_password_txt'] = 'Repeat Password'; |
| | | $wb['password_mismatch_txt'] = 'The passwords do not match.'; |
| | | $wb['password_match_txt'] = 'The passwords do match.'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'of'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'results'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'No results.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 results'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Search'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; |
| | | $wb['database_ro_user_txt'] = 'Read-only database user'; |
| | | $wb['optional_txt'] = 'optional'; |
| | | $wb['select_dbuser_txt'] = 'Select database user'; |
| | | $wb['no_dbuser_txt'] = 'None'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'Geen resultaten.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 resultaten'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Zoeken'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggesties'; |
| | | $wb['database_ro_user_txt'] = 'Read-only database gebruiker'; |
| | | $wb['optional_txt'] = 'optioneel'; |
| | | $wb['select_dbuser_txt'] = 'Selecteer database gebruiker'; |
| | | $wb['no_dbuser_txt'] = 'Geen'; |
| | | $wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.'; |
| | | $wb['database_user_missing_txt'] = 'Please select a database user for this database.'; |
| | | $wb['limit_database_quota_txt'] = 'Database quota'; |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Database'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['remote_access_txt'] = 'Remote toegang'; |
| | | $wb['remote_access_txt'] = 'Externe toegang'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['database_user_txt'] = 'Database gebruiker'; |
| | | $wb['database_name_txt'] = 'Database naam'; |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Database'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['remote_access_txt'] = 'Remote toegang'; |
| | | $wb['remote_access_txt'] = 'Externe toegang'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['database_user_txt'] = 'Database gebruiker'; |
| | | $wb['database_name_txt'] = 'Database naam'; |
| | |
| | | <?php |
| | | $wb['database_txt'] = 'Database'; |
| | | $wb['server_name_txt'] = 'Server'; |
| | | $wb['client_txt'] = 'Client'; |
| | | $wb['used_txt'] = 'Used space'; |
| | | $wb['client_txt'] = 'Klant'; |
| | | $wb['used_txt'] = 'Gebruikte ruimte'; |
| | | $wb['quota_txt'] = 'Quota'; |
| | | $wb['percentage_txt'] = 'Used in %'; |
| | | $wb['percentage_txt'] = 'Gebruikt in %'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['database_user_txt'] = 'Database user'; |
| | | $wb['database_password_txt'] = 'Database password'; |
| | | $wb['password_strength_txt'] = 'Password strength'; |
| | | $wb['client_txt'] = 'Client'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['database_user_error_empty'] = 'Database user is empty.'; |
| | | $wb['database_user_error_unique'] = 'There is already a database user with this name on the server. To get a unique name, e.g. prepend your domain name to the username.'; |
| | | $wb['database_user_error_regex'] = 'Invalid database user name. The username may contain these characters: a-z, A-Z, 0-9 and the underscore. Length: 2 - 64 characters.'; |
| | | $wb['database_user_error_len'] = 'Database username - {user} - too long. The max. database username length incl. prefix is 16 chars.'; |
| | | $wb['btn_save_txt'] = 'Save'; |
| | | $wb['btn_cancel_txt'] = 'Cancel'; |
| | | $wb['generate_password_txt'] = 'Generate Password'; |
| | | $wb['repeat_password_txt'] = 'Repeat Password'; |
| | | $wb['password_mismatch_txt'] = 'The passwords do not match.'; |
| | | $wb['password_match_txt'] = 'The passwords do match.'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'of'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'results'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'No results.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 results'; |
| | | $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_user_txt'] = 'Database gebruiker'; |
| | | $wb['database_password_txt'] = 'Database wachtwoord'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['client_txt'] = 'Klant'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['database_user_error_empty'] = 'Database gebruiker is leeg.'; |
| | | $wb['database_user_error_unique'] = 'Er bestaat al een database gebruiker met deze naam op deze server. Voeg bv. de domeinnaam toe aan de gebruikersnaam om een unieke combinatie te krijgen.'; |
| | | $wb['database_user_error_regex'] = 'Database gebruiker is niet correct. De gebruikersnaam mag de volgende karakters bevatten: a-z. A-Z. 0-9 en evt. een underscore. De lengte mag tussen de 2 en 64 karakters bedragen.'; |
| | | $wb['database_user_error_len'] = 'Database gebruikernaam - {user} - is te lang. De max. database gebruikernaam lengte incl. prefix is 16 karakters.'; |
| | | $wb['btn_save_txt'] = 'Opslaan'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['generate_password_txt'] = 'Genereer wachtwoord'; |
| | | $wb['repeat_password_txt'] = 'Herhaal wachtwoord'; |
| | | $wb['password_mismatch_txt'] = 'De wachtwoorden zijn niet gelijk.'; |
| | | $wb['password_match_txt'] = 'De wachtwoorden zijn gelijk.'; |
| | | $wb['globalsearch_resultslimit_of_txt'] = 'van'; |
| | | $wb['globalsearch_resultslimit_results_txt'] = 'resultaten'; |
| | | $wb['globalsearch_noresults_text_txt'] = 'Geen resultaten.'; |
| | | $wb['globalsearch_noresults_limit_txt'] = '0 resultaten'; |
| | | $wb['globalsearch_searchfield_watermark_txt'] = 'Zoeken'; |
| | | $wb['globalsearch_suggestions_text_txt'] = 'Suggesties'; |
| | | $wb['limit_database_user_txt'] = 'Het max. aantal database gebruikers is bereikt.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Database User'; |
| | | $wb['database_user_txt'] = 'Database user'; |
| | | $wb['add_new_record_txt'] = 'Add new User'; |
| | | $wb['sys_groupid_txt'] = 'Client'; |
| | | $wb['list_head_txt'] = 'Database gebruikers'; |
| | | $wb['database_user_txt'] = 'Database gebruiker'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe gebruiker'; |
| | | $wb['sys_groupid_txt'] = 'Klant'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Database user'; |
| | | $wb['database_user_txt'] = 'Database user'; |
| | | $wb['add_new_record_txt'] = 'Add new user'; |
| | | $wb['list_head_txt'] = 'Database gebruikers'; |
| | | $wb['database_user_txt'] = 'Database gebruiker'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe gebruiker'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Website harddisk quota'; |
| | | $wb['domain_txt'] = 'Domain / Website'; |
| | | $wb['domain_txt'] = 'Domein / Website'; |
| | | $wb['system_user_txt'] = 'Linux gebruiker'; |
| | | $wb['used_txt'] = 'Gebruikte ruimte'; |
| | | $wb['hard_txt'] = 'Harde limiet'; |
| | | $wb['soft_txt'] = 'Zachte limiet'; |
| | | $wb['files_txt'] = 'Single files'; |
| | | $wb['files_txt'] = 'Aantal bestanden'; |
| | | ?> |
| | |
| | | $wb['traffic_quota_txt'] = 'Traffic quota'; |
| | | $wb['cgi_txt'] = 'CGI'; |
| | | $wb['ssi_txt'] = 'SSI'; |
| | | $wb['errordocs_txt'] = 'Own Error-documenten'; |
| | | $wb['errordocs_txt'] = 'Eigen error documenten'; |
| | | $wb['subdomain_txt'] = 'Auto-subdomein'; |
| | | $wb['ssl_txt'] = 'SSL'; |
| | | $wb['suexec_txt'] = 'SuEXEC'; |
| | |
| | | $wb['save_certificate_txt'] = 'Save certificate'; |
| | | $wb['create_certificate_txt'] = 'Create certificate'; |
| | | $wb['delete_certificate_txt'] = 'Delete certificate'; |
| | | $wb['ipv6_address_txt'] = 'IPv6-Address'; |
| | | $wb['ipv6_address_txt'] = 'IPv6-Adres'; |
| | | $wb['nginx_directives_txt'] = 'nginx Directives'; |
| | | $wb['seo_redirect_txt'] = 'SEO Redirect'; |
| | | $wb['non_www_to_www_txt'] = 'Non-www -> www'; |
| | |
| | | $wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.'; |
| | | $wb['ssl_key_txt'] = 'SSL Key'; |
| | | $wb['perl_txt'] = 'Perl'; |
| | | $wb['fastcgi_php_version_txt'] = 'PHP Version'; |
| | | $wb['fastcgi_php_version_txt'] = 'PHP Versie'; |
| | | $wb['pm_txt'] = 'PHP-FPM Process Manager'; |
| | | $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; |
| | | $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; |
| | |
| | | <?php |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['parent_domain_id_txt'] = 'Website'; |
| | | $wb['path_txt'] = 'Path'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['path_error_regex'] = 'Invalid folder path.'; |
| | | $wb['error_folder_already_protected_txt'] = 'There is already a record for this folder.'; |
| | | $wb['path_txt'] = 'Pad'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['path_error_regex'] = 'Folder pad is niet correct.'; |
| | | $wb['error_folder_already_protected_txt'] = 'Deze folder bestaat al.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Folder'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['parent_domain_id_txt'] = 'Website'; |
| | | $wb['path_txt'] = 'Path'; |
| | | $wb['add_new_record_txt'] = 'Add new Folder'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe folder'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['web_folder_id_txt'] = 'Folder'; |
| | | $wb['username_txt'] = 'Username'; |
| | | $wb['password_txt'] = 'Password'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['folder_error_empty'] = 'No web folder selecetd.'; |
| | | $wb['password_strength_txt'] = 'Password strength'; |
| | | $wb['generate_password_txt'] = 'Generate Password'; |
| | | $wb['repeat_password_txt'] = 'Repeat Password'; |
| | | $wb['password_mismatch_txt'] = 'The passwords do not match.'; |
| | | $wb['password_match_txt'] = 'The passwords do match.'; |
| | | $wb['no_folder_perm'] = 'You have no permission for this folder.'; |
| | | $wb['error_user_exists_already_txt'] = 'There is already a record for this user.'; |
| | | $wb['username_txt'] = 'Gebruikersnaam'; |
| | | $wb['password_txt'] = 'Wachtwoord'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['folder_error_empty'] = 'Geen webfolder geselecteerd.'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['generate_password_txt'] = 'Genereer wachtwoord'; |
| | | $wb['repeat_password_txt'] = 'Herhaal wachtwoord'; |
| | | $wb['password_mismatch_txt'] = 'De wachtwoorden zijn niet gelijk.'; |
| | | $wb['password_match_txt'] = 'De wachtwoorden zijn gelijk.'; |
| | | $wb['no_folder_perm'] = 'Je hebt geen toegang tot deze folder.'; |
| | | $wb['error_user_exists_already_txt'] = 'Deze gebruiker bestaat al.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Folder User'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['list_head_txt'] = 'Folder gebruiker'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['web_folder_id_txt'] = 'Folder'; |
| | | $wb['username_txt'] = 'Username'; |
| | | $wb['add_new_record_txt'] = 'Add new Folder User'; |
| | | $wb['username_txt'] = 'Gebruikersnaam'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe folder gebruiker'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Web traffic'; |
| | | $wb['list_head_txt'] = 'Web verkeer'; |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['this_month_txt'] = 'Deze maand'; |
| | | $wb['last_month_txt'] = 'Vorige maand'; |
| | | $wb['this_year_txt'] = 'Dit jaar'; |
| | | $wb['last_year_txt'] = 'Vorig jaar'; |
| | | $wb['sum_txt'] = 'Sum'; |
| | | $wb['sum_txt'] = 'Som'; |
| | | ?> |
| | |
| | | $wb['ssl_organisation_txt'] = 'Organisatie'; |
| | | $wb['ssl_organisation_unit_txt'] = 'Organisatie afdeling'; |
| | | $wb['ssl_country_txt'] = 'Land'; |
| | | $wb['ssl_request_txt'] = 'SSL Request'; |
| | | $wb['ssl_request_txt'] = 'SSL aanvraag'; |
| | | $wb['ssl_cert_txt'] = 'SSL Certificaat'; |
| | | $wb['ssl_bundle_txt'] = 'SSL Bundel'; |
| | | $wb['ssl_action_txt'] = 'SSL Actie'; |
| | |
| | | $wb['limit_web_subdomain_txt'] = 'Het max. aantal web subdomeinen voor uw account is bereikt.'; |
| | | $wb['apache_directives_txt'] = 'Apache directives'; |
| | | $wb['domain_error_empty'] = 'Domein is niet ingvuld.'; |
| | | $wb['domain_error_unique'] = 'Er is al eenwebsite of sub / aliasdomein met deze domeinnaam.'; |
| | | $wb['domain_error_unique'] = 'Er is al een website of sub / aliasdomein met deze domeinnaam.'; |
| | | $wb['domain_error_regex'] = 'Domainnaam ongeldig.'; |
| | | $wb['host_txt'] = 'Host'; |
| | | $wb['redirect_error_regex'] = 'Ongeldig redirect pad. Geldige redirects zijn bijvoorbeeld: /test/ or http://www.domain.tld/test/'; |
| | | $wb['no_redirect_txt'] = 'No redirect'; |
| | | $wb['no_flag_txt'] = 'No flag'; |
| | | $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; |
| | | $wb['no_redirect_txt'] = 'Geen redirect'; |
| | | $wb['no_flag_txt'] = 'Geen flag'; |
| | | $wb['domain_error_wildcard'] = 'Wildcard subdomeinen zijn niet toegestaan.'; |
| | | $wb['proxy_directives_txt'] = 'Proxy Directives'; |
| | | $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; |
| | | $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; |
| | | $wb['http_port_txt'] = 'HTTP Port'; |
| | | $wb['https_port_txt'] = 'HTTPS Port'; |
| | | $wb['http_port_error_regex'] = 'HTTP Port invalid.'; |
| | | $wb['https_port_error_regex'] = 'HTTPS Port invalid.'; |
| | | $wb['http_port_error_regex'] = 'HTTP Port niet correct.'; |
| | | $wb['https_port_error_regex'] = 'HTTPS Port niet correct.'; |
| | | ?> |
| | |
| | | $wb['disabled_txt'] = 'Disabled'; |
| | | $wb['no_redirect_txt'] = 'No redirect'; |
| | | $wb['no_flag_txt'] = 'No flag'; |
| | | $wb['save_certificate_txt'] = 'Save certificate'; |
| | | $wb['save_certificate_txt'] = 'Certificaat opslaan'; |
| | | $wb['create_certificate_txt'] = 'Create certificate'; |
| | | $wb['delete_certificate_txt'] = 'Delete certificate'; |
| | | $wb['ipv6_address_txt'] = 'IPv6-Address'; |
| | | $wb['delete_certificate_txt'] = 'Certificaat verwijderen'; |
| | | $wb['ipv6_address_txt'] = 'IPv6-Adres'; |
| | | $wb['nginx_directives_txt'] = 'nginx Directives'; |
| | | $wb['seo_redirect_txt'] = 'SEO Redirect'; |
| | | $wb['non_www_to_www_txt'] = 'Non-www -> www'; |
| | |
| | | $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.'; |
| | | $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.'; |
| | | $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.'; |
| | | $wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.'; |
| | | $wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.'; |
| | | $wb['hd_quota_error_regex'] = 'Harddisk quota is niet correct.'; |
| | | $wb['traffic_quota_error_regex'] = 'Traffic quota is niet correct.'; |
| | | $wb['ssl_key_txt'] = 'SSL Key'; |
| | | $wb['perl_txt'] = 'Perl'; |
| | | $wb['fastcgi_php_version_txt'] = 'PHP Version'; |
| | | $wb['fastcgi_php_version_txt'] = 'PHP Versie'; |
| | | $wb['pm_txt'] = 'PHP-FPM Process Manager'; |
| | | $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; |
| | | $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; |
| | |
| | | $wb['proxy_directives_txt'] = 'Proxy Directives'; |
| | | $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; |
| | | $wb['no_server_error'] = 'No server selected.'; |
| | | $wb['no_backup_txt'] = 'No backup'; |
| | | $wb['daily_backup_txt'] = 'Daily'; |
| | | $wb['weekly_backup_txt'] = 'Weekly'; |
| | | $wb['monthly_backup_txt'] = 'Monthly'; |
| | | $wb['no_backup_txt'] = 'Geen backup'; |
| | | $wb['daily_backup_txt'] = 'Dagelijks'; |
| | | $wb['weekly_backup_txt'] = 'Wekelijks'; |
| | | $wb['monthly_backup_txt'] = 'Maandelijks'; |
| | | $wb['rewrite_rules_txt'] = 'Rewrite Rules'; |
| | | $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; |
| | | $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; |
| | | $wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; |
| | | $wb['configuration_error_txt'] = 'CONFIGURATIE FOUT'; |
| | | $wb['web_folder_txt'] = 'Web folder'; |
| | | $wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.'; |
| | | $wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.'; |
| | | $wb['host_txt'] = 'Hostname'; |
| | | $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; |
| | | $wb['variables_txt'] = 'Variables'; |
| | | $wb['added_by_txt'] = 'Added by'; |
| | | $wb['added_date_txt'] = 'Added date'; |
| | | $wb['backup_excludes_txt'] = 'Excluded Directories'; |
| | | $wb['added_by_txt'] = 'Toegevoegd door'; |
| | | $wb['added_date_txt'] = 'Datum toegevoegd'; |
| | | $wb['backup_excludes_txt'] = 'Uitgesloten directories'; |
| | | $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)'; |
| | | $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.'; |
| | | $wb['server_chosen_not_ok'] = 'The selected server is not allowed for this account.'; |
| | | $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'; |
| | | $wb['btn_save_txt'] = 'Opslaan'; |
| | | $wb['btn_cancel_txt'] = 'Annuleren'; |
| | | $wb['enable_spdy_txt'] = 'SPDY inschakelen'; |
| | | $wb['load_client_data_txt'] = 'Load client details'; |
| | | $wb['load_my_data_txt'] = 'Load my contact details'; |
| | | $wb['reset_client_data_txt'] = 'Reset data'; |
| | | $wb['rewrite_to_https_txt'] = 'Rewrite HTTP to HTTPS'; |
| | | $wb['password_strength_txt'] = 'Password strength'; |
| | | $wb['directive_snippets_id_txt'] = 'Web server config'; |
| | | $wb['http_port_txt'] = 'HTTP Port'; |
| | | $wb['https_port_txt'] = 'HTTPS Port'; |
| | | $wb['http_port_error_regex'] = 'HTTP Port invalid.'; |
| | | $wb['https_port_error_regex'] = 'HTTPS Port invalid.'; |
| | | $wb['rewrite_to_https_txt'] = 'Herschrijf HTTP naar HTTPS'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['directive_snippets_id_txt'] = 'Web server configuratie'; |
| | | $wb['http_port_txt'] = 'HTTP Poort'; |
| | | $wb['https_port_txt'] = 'HTTPS Poort'; |
| | | $wb['http_port_error_regex'] = 'HTTP Poort niet correct.'; |
| | | $wb['https_port_error_regex'] = 'HTTPS Poort niet correct.'; |
| | | ?> |
| | |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe website'; |
| | | $wb['add_new_subdomain_txt'] = 'Add new subdomain'; |
| | | $wb['add_new_aliasdomain_txt'] = 'Add new aliasdomain'; |
| | | $wb['add_new_subdomain_txt'] = 'Toevoegen nieuw subdomain'; |
| | | $wb['add_new_aliasdomain_txt'] = 'Toevoegen nieuw aliasdomain'; |
| | | ?> |
| | |
| | | $wb['domain_txt'] = 'Domein'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuwe website'; |
| | | $wb['parent_domain_id_txt'] = 'Website'; |
| | | $wb['add_new_subdomain_txt'] = 'Add new subdomain'; |
| | | $wb['add_new_aliasdomain_txt'] = 'Add new aliasdomain'; |
| | | $wb['add_new_subdomain_txt'] = 'Toevoegen nieuw subdomain'; |
| | | $wb['add_new_aliasdomain_txt'] = 'Toevoegen nieuw aliasdomain'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['list_head_txt'] = 'Subdomains'; |
| | | $wb['active_txt'] = 'Active'; |
| | | $wb['list_head_txt'] = 'Subdomeinen'; |
| | | $wb['active_txt'] = 'Actief'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['parent_domain_id_txt'] = 'Website'; |
| | | $wb['domain_txt'] = 'Subdomain'; |
| | | $wb['add_new_record_txt'] = 'Add new subdomain'; |
| | | $wb['domain_txt'] = 'Subdomein'; |
| | | $wb['add_new_record_txt'] = 'Toevoegen nieuw subdomain'; |
| | | ?> |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "remote_access", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "type", |
| | | 'datatype' => "VARCHAR", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "web_folder_id", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | if($_SESSION['s']['user']['typ'] == 'admin' && $vhostdomain_type == 'domain') { |
| | | $liste["item"][] = array( 'field' => "sys_groupid", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('Yes')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('No')."</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "server_id", |
| | |
| | | <tbody> |
| | | <tmpl_loop name="records"> |
| | | <tr class="tbl_row_{tmpl_if name='__EVEN__'}even{tmpl_else}uneven{/tmpl_if}"> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="domain"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="backup_interval"}</a> / <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="backup_copies"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="backup_copies_exists"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="backup_size"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="active"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="domain"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="server_id"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="backup_interval"}</a> / <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="backup_copies"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="backup_copies_exists"}</a> </td> |
| | | <td> <a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type=<tmpl_if name='type' op='==' value='vhost'>domain</tmpl_if><tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>">{tmpl_var name="backup_size"}</a> </td> |
| | | </tr> |
| | | </tmpl_loop> |
| | | </tbody> |
| | |
| | | <tmpl_loop name="records"> |
| | | <tr> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='parent_domain_id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="run_min"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="run_hour"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="run_mday"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="run_month"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="run_wday"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}">{tmpl_var name="command"}</a></td> |
| | | <td><a href="#" data-load-content="sites/cron_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='command'}">{tmpl_var name="command"}</a></td> |
| | | <td class="text-right"> |
| | | <div class="buttons icons16"> |
| | | <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('sites/cron_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="remote_access"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="type"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="sys_groupid"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='parent_domain_id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database_user_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database_name"}</a></td> |
| | | <td class="text-right"> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="remote_access"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="type"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database_user_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='parent_domain_id'}">{tmpl_var name="parent_domain_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='database_user_id'}">{tmpl_var name="database_user_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database_name"}</a></td> |
| | | <td class="text-right"> |
| | | <tmpl_if name="dblist_phpmyadmin_link"> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | <label for="database_password" class="col-sm-3 control-label">{tmpl_var name='database_password_txt'}</label> |
| | | <div class="col-sm-9"> |
| | | <div class="input-group"> |
| | | <input type="database_password" name="database_password" id="database_password" value="{tmpl_var name='database_password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('database_password','repeat_password');" /> |
| | | <input type="password" name="database_password" id="database_password" value="{tmpl_var name='database_password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('database_password','repeat_password');" /> |
| | | <span class="input-group-btn"> |
| | | <button class="btn btn-default" type="button" onclick="generatePassword('database_password','repeat_password');">{tmpl_var name='generate_password_txt'}</button> |
| | | </span> |
| | |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="active"}</a></td> |
| | | <tmpl_if name="vhostdomain_type" value="domain"><td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="sys_groupid"}</a></td></tmpl_if> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="server_id"}</a></td> |
| | | <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td><a href="#" data-load-content="sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="parent_domain_id"}</a></td></tmpl_if> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="domain"}</a></td> |
| | | <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td><a href="#" data-load-content="sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='parent_domain_id'}">{tmpl_var name="parent_domain_id"}</a></td></tmpl_if> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='domain'}">{tmpl_var name="domain"}</a></td> |
| | | <td class="text-right"> |
| | | <a href="http://{tmpl_var name="domain"}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="icon icon-link"></span></a> |
| | | <a href="http://{tmpl_var name="domain"}/stats/" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="glyphicon glyphicon-signal"></span></a> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | |
| | | function reloadFastcgiPHPVersions(noFormChange) { |
| | | jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi", client_group_id : clientGroupId}, function(data) { |
| | | //var options = '<option value="">Default</option>'; |
| | | var options = ''; |
| | | var options = '<option value="">Default</option>'; |
| | | //var options = ''; |
| | | var phpfastcgiselected = ''; |
| | | $.each(data, function(key, val) { |
| | | <tmpl_if name="id"> |
| | |
| | | <tr> |
| | | <tmpl_if name="vhostdomain_type" value="domain"><td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="domain_id"}</a></td></tmpl_if> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="active"}</a></td> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="server_id"}</a></td> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='server_id'}">{tmpl_var name="server_id"}</a></td> |
| | | <tmpl_if name="vhostdomain_type" op="!=" value="domain"><td><a href="#" data-load-content="sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}">{tmpl_var name="parent_domain_id"}</a></td></tmpl_if> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="domain"}</a></td> |
| | | <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='domain'}">{tmpl_var name="domain"}</a></td> |
| | | <td class="text-right"> |
| | | <a href="http://{tmpl_var name="domain"}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="icon icon-link"></span></button> |
| | | <a href="http://{tmpl_var name="domain"}/stats/" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="glyphicon glyphicon-signal"></span></a> |
| | |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | |
| | | |
| | | class page_action extends tform_actions { |
| | | var $_vhostdomain_type = 'domain'; |
| | | var $_letsencrypt_on_insert = false; |
| | | |
| | | //* Returna a "3/2/1" path hash from a numeric id '123' |
| | | function id_hash($id, $levels) { |
| | |
| | | } |
| | | $server_id = intval(@$this->dataRecord["server_id"]); |
| | | } else { |
| | | $server_id = (isset($web_servers[0])) ? intval($web_servers[0]) : 0; |
| | | $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 0; |
| | | } |
| | | |
| | | if($app->functions->intval($this->dataRecord["server_id"]) > 0) { |
| | |
| | | } |
| | | } |
| | | |
| | | //* Fill the IPv4 select field with the IP addresses that are allowed for this client |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; |
| | | $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers'])); |
| | | //* Fill the IPv4 select field with the IP addresses that are allowed for this client on the current server |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")"; |
| | | $ips = $app->db->queryAllRecords($sql, $server_id); |
| | | $ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":""; |
| | | //if(!in_array($this->dataRecord["ip_address"], $ips)) $ip_select .= "<option value='".$this->dataRecord["ip_address"]."' SELECTED>".$this->dataRecord["ip_address"]."</option>\r\n"; |
| | | //$ip_select = ""; |
| | |
| | | unset($ips); |
| | | |
| | | //* Fill the IPv6 select field with the IP addresses that are allowed for this client |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers']), $_SESSION['s']['user']['client_id']); |
| | | $ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":""; |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']); |
| | | //$ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":""; |
| | | //$ip_select = ""; |
| | | $ip_select = "<option value=''></option>"; |
| | | if(is_array($ips)) { |
| | | foreach( $ips as $ip) { |
| | | $selected = ($ip["ip_address"] == $this->dataRecord["ipv6_address"])?'SELECTED':''; |
| | |
| | | |
| | | $app->tpl->setVar("server_id", $options_web_servers); |
| | | unset($options_web_servers); |
| | | |
| | | if($this->id > 0) { |
| | | if(!isset($this->dataRecord["server_id"])){ |
| | | $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ?", $this->id); |
| | | $this->dataRecord["server_id"] = $tmp["server_id"]; |
| | | unset($tmp); |
| | | } |
| | | $server_id = intval(@$this->dataRecord["server_id"]); |
| | | } else { |
| | | $server_id = (isset($web_servers[0])) ? intval($web_servers[0]['server_id']) : 0; |
| | | } |
| | | |
| | | if ($settings['use_domain_module'] != 'y') { |
| | | // Fill the client select field |
| | |
| | | } |
| | | |
| | | //* Fill the IPv4 select field with the IP addresses that are allowed for this client |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, explode(',', $client['web_servers']), $_SESSION['s']['user']['client_id']); |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']); |
| | | $ip_select = ($web_config[$server_id]['enable_ip_wildcard'] == 'y')?"<option value='*'>*</option>":""; |
| | | //if(!in_array($this->dataRecord["ip_address"], $ips)) $ip_select .= "<option value='".$this->dataRecord["ip_address"]."' SELECTED>".$this->dataRecord["ip_address"]."</option>\r\n"; |
| | | //$ip_select = ""; |
| | |
| | | unset($ips); |
| | | |
| | | //* Fill the IPv6 select field with the IP addresses that are allowed for this client |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id IN ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, $client['web_servers'], $_SESSION['s']['user']['client_id']); |
| | | $sql = "SELECT ip_address FROM server_ip WHERE server_id = ? AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=?)"; |
| | | $ips = $app->db->queryAllRecords($sql, $server_id, $_SESSION['s']['user']['client_id']); |
| | | $ip_select = "<option value=''></option>"; |
| | | //$ip_select = ""; |
| | | if(is_array($ips)) { |
| | |
| | | |
| | | parent::onSubmit(); |
| | | } |
| | | |
| | | function onBeforeInsert() { |
| | | global $app, $conf; |
| | | |
| | | // Letsencrypt can not be activated before the website has been created |
| | | // So we deactivate it here and add a datalog update in onAfterInsert |
| | | if(isset($this->dataRecord['ssl_letsencrypt']) && $this->dataRecord['ssl_letsencrypt'] == 'y' && isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y') { |
| | | // Disable letsencrypt and ssl temporarily |
| | | $this->dataRecord['ssl_letsencrypt'] = 'n'; |
| | | $this->dataRecord['ssl'] = 'n'; |
| | | // Prevent that the datalog history gets written |
| | | $app->tform->formDef['db_history'] = 'no'; |
| | | // Set variable that we check in onAfterInsert |
| | | $this->_letsencrypt_on_insert = true; |
| | | } |
| | | } |
| | | |
| | | |
| | | function onAfterInsert() { |
| | | global $app, $conf; |
| | |
| | | $app->db->query($sql, $this->parent_domain_record['sys_groupid'], $system_user, $system_group, $document_root, $htaccess_allow_override, $php_open_basedir, $added_by, $this->id); |
| | | } |
| | | if(isset($this->dataRecord['folder_directive_snippets'])) $app->db->query("UPDATE web_domain SET folder_directive_snippets = ? WHERE domain_id = ?", $this->dataRecord['folder_directive_snippets'], $this->id); |
| | | |
| | | // Add a datalog insert without letsencrypt and then an update with letsencrypt enabled (see also onBeforeInsert) |
| | | if($this->_letsencrypt_on_insert == true) { |
| | | $new_data_record = $app->tform->getDataRecord($this->id); |
| | | $app->tform->datalogSave('INSERT', $this->id, array(), $new_data_record); |
| | | $new_data_record['ssl_letsencrypt'] = 'y'; |
| | | $new_data_record['ssl'] = 'y'; |
| | | $app->db->datalogUpdate('web_domain', $new_data_record, 'domain_id', $this->id); |
| | | } |
| | | |
| | | } |
| | | |
| | | function onBeforeUpdate () { |
| | |
| | | $this->dataRecord["domain"] = $rec['domain']; |
| | | } |
| | | if(isset($this->dataRecord["ip_address"]) && $rec['ip_address'] != $this->dataRecord["ip_address"] && $rec['sys_perm_group'] != 'riud') { |
| | | //* Add a error message and switch back to old server |
| | | $app->tform->errorMessage .= $app->lng('The IP can not be changed. Please ask your Administrator if you want to change the IPv4-Address.'); |
| | | $this->dataRecord["ip_address"] = $rec['ip_address']; |
| | | } |
| | | if(isset($this->dataRecord["ipv6_address"]) && $rec['ipv6_address'] != $this->dataRecord["ipv6_address"] && $rec['sys_perm_group'] != 'riud') { |
| | | //* Add a error message and switch back to old server |
| | | $app->tform->errorMessage .= $app->lng('The IP can not be changed. Please ask your Administrator if you want to change the IPv6-Address.'); |
| | | $this->dataRecord["ipv6_address"] = $rec['ipv6_address']; |
| | | } |
| | | unset($rec); |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?> |
| | | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > |
| | | <svg xmlns="http://www.w3.org/2000/svg"> |
| | | <metadata></metadata> |
| | | <defs> |
| | | <font id="glyphicons_halflingsregular" horiz-adv-x="1200" > |
| | | <font-face units-per-em="1200" ascent="960" descent="-240" /> |
| | | <missing-glyph horiz-adv-x="500" /> |
| | | <glyph /> |
| | | <glyph /> |
| | | <glyph unicode="
" /> |
| | | <glyph unicode=" " /> |
| | | <glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" /> |
| | | <glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" /> |
| | | <glyph unicode=" " /> |
| | | <glyph unicode=" " horiz-adv-x="652" /> |
| | | <glyph unicode=" " horiz-adv-x="1304" /> |
| | | <glyph unicode=" " horiz-adv-x="652" /> |
| | | <glyph unicode=" " horiz-adv-x="1304" /> |
| | | <glyph unicode=" " horiz-adv-x="434" /> |
| | | <glyph unicode=" " horiz-adv-x="326" /> |
| | | <glyph unicode=" " horiz-adv-x="217" /> |
| | | <glyph unicode=" " horiz-adv-x="217" /> |
| | | <glyph unicode=" " horiz-adv-x="163" /> |
| | | <glyph unicode=" " horiz-adv-x="260" /> |
| | | <glyph unicode=" " horiz-adv-x="72" /> |
| | | <glyph unicode=" " horiz-adv-x="260" /> |
| | | <glyph unicode=" " horiz-adv-x="326" /> |
| | | <glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" /> |
| | | <glyph unicode="−" d="M200 400h900v300h-900v-300z" /> |
| | | <glyph unicode="◼" horiz-adv-x="500" d="M0 0z" /> |
| | | <glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" /> |
| | | <glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" /> |
| | | <glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" /> |
| | | <glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" /> |
| | | <glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" /> |
| | | <glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" /> |
| | | <glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" /> |
| | | <glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" /> |
| | | <glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" /> |
| | | <glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" /> |
| | | <glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" /> |
| | | <glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" /> |
| | | <glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" /> |
| | | <glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" /> |
| | | <glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" /> |
| | | <glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" /> |
| | | <glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" /> |
| | | <glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" /> |
| | | <glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" /> |
| | | <glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" /> |
| | | <glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" /> |
| | | <glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" /> |
| | | <glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" /> |
| | | <glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" /> |
| | | <glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" /> |
| | | <glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" /> |
| | | <glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" /> |
| | | <glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" /> |
| | | <glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" /> |
| | | <glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" /> |
| | | <glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" /> |
| | | <glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" /> |
| | | <glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" /> |
| | | <glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" /> |
| | | <glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" /> |
| | | <glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" /> |
| | | <glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" /> |
| | | <glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" /> |
| | | <glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" /> |
| | | <glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" /> |
| | | <glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" /> |
| | | <glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" /> |
| | | <glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" /> |
| | | <glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" /> |
| | | <glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" /> |
| | | <glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" /> |
| | | <glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" /> |
| | | <glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" /> |
| | | <glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " /> |
| | | <glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" /> |
| | | <glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" /> |
| | | <glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" /> |
| | | <glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" /> |
| | | <glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" /> |
| | | <glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" /> |
| | | <glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" /> |
| | | <glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" /> |
| | | <glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" /> |
| | | <glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " /> |
| | | <glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" /> |
| | | <glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" /> |
| | | <glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" /> |
| | | <glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" /> |
| | | <glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" /> |
| | | <glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" /> |
| | | <glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" /> |
| | | <glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" /> |
| | | <glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" /> |
| | | <glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" /> |
| | | <glyph unicode="" d="M200 0l900 550l-900 550v-1100z" /> |
| | | <glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" /> |
| | | <glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" /> |
| | | <glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" /> |
| | | <glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" /> |
| | | <glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" /> |
| | | <glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" /> |
| | | <glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" /> |
| | | <glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" /> |
| | | <glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" /> |
| | | <glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" /> |
| | | <glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" /> |
| | | <glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" /> |
| | | <glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" /> |
| | | <glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" /> |
| | | <glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" /> |
| | | <glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" /> |
| | | <glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" /> |
| | | <glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" /> |
| | | <glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" /> |
| | | <glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" /> |
| | | <glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" /> |
| | | <glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" /> |
| | | <glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" /> |
| | | <glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" /> |
| | | <glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" /> |
| | | <glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" /> |
| | | <glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" /> |
| | | <glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" /> |
| | | <glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" /> |
| | | <glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" /> |
| | | <glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" /> |
| | | <glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" /> |
| | | <glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" /> |
| | | <glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" /> |
| | | <glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" /> |
| | | <glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" /> |
| | | <glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" /> |
| | | <glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" /> |
| | | <glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" /> |
| | | <glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" /> |
| | | <glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" /> |
| | | <glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" /> |
| | | <glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" /> |
| | | <glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" /> |
| | | <glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" /> |
| | | <glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" /> |
| | | <glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" /> |
| | | <glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" /> |
| | | <glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" /> |
| | | <glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" /> |
| | | <glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" /> |
| | | <glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" /> |
| | | <glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" /> |
| | | <glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" /> |
| | | <glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" /> |
| | | <glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" /> |
| | | <glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" /> |
| | | <glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" /> |
| | | <glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" /> |
| | | <glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" /> |
| | | <glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" /> |
| | | <glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" /> |
| | | <glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" /> |
| | | <glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" /> |
| | | <glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" /> |
| | | <glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" /> |
| | | <glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" /> |
| | | <glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" /> |
| | | <glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" /> |
| | | <glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" /> |
| | | <glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" /> |
| | | <glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" /> |
| | | <glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" /> |
| | | <glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" /> |
| | | <glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " /> |
| | | <glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" /> |
| | | <glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" /> |
| | | <glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" /> |
| | | <glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" /> |
| | | <glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" /> |
| | | <glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" /> |
| | | <glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" /> |
| | | <glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" /> |
| | | <glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" /> |
| | | <glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" /> |
| | | <glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" /> |
| | | <glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" /> |
| | | <glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" /> |
| | | <glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" /> |
| | | <glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" /> |
| | | <glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" /> |
| | | <glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" /> |
| | | <glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" /> |
| | | <glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" /> |
| | | <glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" /> |
| | | <glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" /> |
| | | <glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" /> |
| | | <glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" /> |
| | | <glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" /> |
| | | <glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" /> |
| | | <glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" /> |
| | | </font> |
| | | </defs></svg> |
| | |
| | | }, |
| | | |
| | | reportError: function(request) { |
| | | /* Error reporting is disabled by default as some browsers like safari |
| | | sometimes throw errors when a ajax request is delayed even if the |
| | | ajax request worked. */ |
| | | |
| | | /*alert(request);*/ |
| | | |
| | | }, |
| | | |
| | | registerHook: function(name, callback) { |
| | |
| | | 'fontAwesome': true, |
| | | 'autoclose': true |
| | | }); |
| | | $('[data-toggle="tooltip"]').tooltip({ |
| | | }); |
| | | |
| | | ISPConfig.callHook('onAfterContentLoad', {'url': url, 'data': data }); |
| | | }, |
| | | |
| | | /* THIS ONE SHOULD BE REMOVED AFTER CREATING THE STATIC LOGIN PAGE!!! */ |
| | | /*submitLoginForm: function(formname) { |
| | | //* Validate form. TODO: username and password with strip(); |
| | | var frm = document.getElementById(formname); |
| | | var userNameObj = frm.username; |
| | | if(userNameObj.value == ''){ |
| | | userNameObj.focus(); |
| | | return; |
| | | } |
| | | var passwordObj = frm.passwort; |
| | | if(passwordObj.value == ''){ |
| | | passwordObj.focus(); |
| | | return; |
| | | } |
| | | |
| | | $('#dummy_username').val(userNameObj.value); |
| | | $('#dummy_passwort').val(passwordObj.value); |
| | | $('#dummy_login_form').submit(); |
| | | |
| | | var submitFormObj = $.ajax({ |
| | | type: "POST", |
| | | url: "content.php", |
| | | data: $('#'+formname).serialize(), |
| | | dataType: "html", |
| | | beforeSend: function() { |
| | | ISPConfig.showLoadIndicator(); |
| | | }, |
| | | success: function(data, textStatus, jqXHR) { |
| | | if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) { |
| | | var parts = jqXHR.responseText.split(':'); |
| | | ISPConfig.loadContent(parts[1]); |
| | | } else if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) { |
| | | // Go to the login page |
| | | document.location.href = 'index.php'; |
| | | } else { |
| | | $('#pageContent').html(jqXHR.responseText); |
| | | ISPConfig.onAfterContentLoad('content.php', $('#'+formname).serialize()); |
| | | ISPConfig.pageFormChanged = false; |
| | | } |
| | | ISPConfig.loadMenus(); |
| | | ISPConfig.hideLoadIndicator(); |
| | | }, |
| | | error: function() { |
| | | ISPConfig.hideLoadIndicator(); |
| | | ISPConfig.reportError('Ajax Request was not successful.110'); |
| | | } |
| | | }); |
| | | },*/ |
| | | |
| | | submitForm: function(formname, target, confirmation) { |
| | | var successMessage = arguments[3]; |
| | |
| | | var newUrl= jqXHR.responseText.substr(jqXHR.responseText.indexOf('URL_REDIRECT:') + "URL_REDIRECT:".length); |
| | | document.location.href = newUrl; |
| | | } else { |
| | | //document.getElementById('pageContent').innerHTML = jqXHR.responseText; |
| | | //var reponse = $(jqXHR.responseText); |
| | | //var reponseScript = reponse.filter("script"); |
| | | //$.each(reponseScript, function(idx, val) { eval(val.text); } ); |
| | | |
| | | $('#pageContent').html(jqXHR.responseText); |
| | | ISPConfig.onAfterContentLoad(pagename, (params ? params : null)); |
| | | ISPConfig.pageFormChanged = false; |
| | |
| | | }, |
| | | |
| | | changeTab: function(tab, target, force) { |
| | | if(ISPConfig.requestsRunning > 0) return false; |
| | | if(ISPConfig.requestsRunning > 0) { |
| | | console.log('tab change interrupted, request still running.'); |
| | | return false; |
| | | } |
| | | |
| | | document.pageForm.next_tab.value = tab; |
| | | |
| | |
| | | } |
| | | }); |
| | | |
| | | var $page = $('html, body'); |
| | | |
| | | $(document).on('click', 'a[data-load-content],button[data-load-content]', function(e) { |
| | | e.preventDefault(); |
| | | $('html, body').animate({scrollTop: 0}, 1000); |
| | | if(ISPConfig.requestsRunning > 0) { |
| | | console.log('preventing click because there is still a request running.'); |
| | | return; |
| | | } |
| | | |
| | | $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); |
| | | $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); |
| | | |
| | | var content_to_load = $(this).attr('data-load-content'); |
| | | if(!content_to_load) return this; |
| | |
| | | |
| | | $(document).on('click', 'a[data-capp],button[data-capp]', function(e) { |
| | | e.preventDefault(); |
| | | $('html, body').animate({scrollTop: 0}, 1000); |
| | | if(ISPConfig.requestsRunning > 0) { |
| | | console.log('preventing click because there is still a request running.'); |
| | | return; |
| | | } |
| | | |
| | | $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); |
| | | $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); |
| | | |
| | | var content_to_load = $(this).attr('data-capp'); |
| | | if(!content_to_load) return this; |
| | |
| | | |
| | | $(document).on('click', 'a[data-submit-form],button[data-submit-form]', function(e) { |
| | | e.preventDefault(); |
| | | $('html, body').animate({scrollTop: 0}, 1000); |
| | | if(ISPConfig.requestsRunning > 0) { |
| | | console.log('preventing click because there is still a request running.'); |
| | | return; |
| | | } |
| | | |
| | | $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); |
| | | $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); |
| | | |
| | | var $el = $(this); |
| | | var act = $el.attr('data-form-action'); |
| | |
| | | transition: background ease 500ms; } |
| | | .table tbody tr:last-child { |
| | | border-radius: 4px; } |
| | | .table tbody tr td { |
| | | text-overflow: ellipsis; |
| | | overflow-x: hidden; } |
| | | |
| | | .tfooter { |
| | | margin-top: -1px; |
| | |
| | | body{overflow-y:scroll}.left{float:left}.right{float:right}.clear:after{content:"";display:table;clear:both}.marginTop15{margin-top:15px}.paddingX5{padding-left:5px!important;padding-right:5px!important}.width65{width:65px}.form-group input[type='checkbox']{margin-top:10px}.control-label{font-weight:normal}.control-label:after{content:":"}.formbutton-default{padding:6px 30px;border-bottom-style:solid;border-bottom-width:2px;font-size:12px;font-weight:bold;transition:all ease 500ms}.formbutton-success,.formbutton-danger{padding:6px 30px;border-style:solid;border-width:1px;border-bottom-width:solid;font-size:12px;font-weight:bold;transition:all ease 500ms}.formbutton-narrow{padding:6px 8px;margin-left:2px;margin-right:2px}.formbutton-narrower{padding:4px 6px}#main-wrapper{margin:0 auto;width:95%;max-width:1260px}#logo{float:left;width:200px;height:65px;margin-top:10px}#logo a{display:block;width:100%;height:100%}#headerbar{float:right}#searchform{float:right;margin-top:16px}#searchform>div{position:relative;display:table}#searchform>div>div{display:table-cell;padding-right:8px;vertical-align:top}#searchform .icon{padding:0 2px;font-size:16px}#logout-button{float:right;margin-top:16px;margin-left:25px;border-bottom-style:solid;border-bottom-width:2px;transition:all ease 500ms}#main-navigation{margin-top:24px}#main-navigation a{padding:0 12px;height:70px;border-bottom-style:solid;botder-bottom-width:2px;transition:all ease 500ms}#main-navigation .icon{font-size:32px}#main-navigation .title{margin-top:2px;font-weight:bold}.btn-group-justified .btn{border-right-width:0}.btn-group-justified .btn:last-of-type{border-right-width:1px}#content{width:78%}#passBar,#passText{display:inline-block;vertical-align:middle}#passBar{height:11px;padding:0}#passBar>div{height:100%;padding:0}#sidebar{margin-top:27px;width:18%;border-style:solid;border-width:1px;border-radius:4px}#sidebar header{margin:1px;padding:0 10px;height:40px;line-height:40px;font-weight:bold;border-top-left-radius:2px;border-top-right-radius:2px}#sidebar ul{margin:0;padding:0;list-style:none}#sidebar li{padding:10px;border-top-style:solid;border-top-width:1px;font-size:12px}#sidebar a{text-decoration:none;transition:color ease 500ms}.page-header{margin:20px 0;padding:0}.alert-notification a{font-weight:bold;text-decoration:none;transition:color ease 500ms}.alert-label,.alert-content{display:inline-block;vertical-align:top}.alert-label{width:60px}.modules{margin:0;padding:0;list-style:none}.modules li{float:left;margin-right:15px;margin-bottom:15px;padding:8px;width:200px;border-radius:4px;border-style:solid;border-width:1px}.modules .icon{float:left;margin-right:15px;font-size:50px}.modules .left{margin-top:5px}.modules .title{margin-top:6px;margin-left:20px;font-size:16px;font-weight:bold}.modules .button{margin-top:10px;width:100%;border-bottom-style:solid;border-bottom-width:2px;font-size:12px;font-weight:bold;transition:all ease 500ms}.modules a{text-decoration:none}.table-wrapper{margin-bottom:20px;border-radius:4px;border-style:solid;border-width:1px}.table{table-layout:fixed;margin-bottom:1px}.table caption{padding:5px 10px;text-align:left;font-weight:bold;font-size:18px;border-bottom-style:solid;border-bottom-width:1px}.table tbody tr{border-top-style:solid;border-top-width:1px;transition:background ease 500ms}.table tbody tr:last-child{border-radius:4px}.tfooter{margin-top:-1px;height:40px;border-top-style:solid;border-top-width:1px}.pagination{margin:10px 0}.progress{display:inline-block;margin-bottom:0;width:150px;height:10px}p.fieldset-legend{display:none}.content-tab-wrapper{border-style:solid;border-width:1px;border-radius:4px}.content-tab-wrapper .nav-tabs>li>a{border-radius:0;border:none!important;border-right-style:solid!important;border-right-width:1px!important;outline:0;font-weight:bold;transition:background ease 500ms}.content-tab-wrapper .nav-tabs li:not(:first-child) a{margin-left:-2px}.tab-content{padding:25px 10px}.input-group-btn .icon-calendar{font-size:18px}thead.dark th{height:40px;line-height:40px;font-weight:normal}thead.dark th.small-col{width:14%}thead.dark th.tiny-col{width:8%;overflow:hidden;text-overflow:ellipsis}thead.dark th[data-column]{cursor:pointer}thead.dark th[data-column][data-ordered]{font-weight:bold;position:relative}thead.dark th[data-column][data-ordered]:before{content:"";display:block;position:absolute;right:5px;top:16px;width:0;height:0;vertical-align:middle;border-bottom:5px solid #fff;border-top:5px solid transparent;border-right:5px solid transparent;border-left:6px solid transparent;line-height:inherit}thead.dark th[data-column][data-ordered="desc"]:before{top:21px;border-bottom:5px solid transparent;border-top:5px solid #fff}thead.dark td input,thead.dark td select{width:100%}#footer{margin:20px 0;padding-top:20px;border-top-style:solid;border-top-width:1px;text-align:center;font-size:10px}.menu-btn{display:none;cursor:pointer}.df-container,.gs-container{position:relative}.gs-container:after{content:"";display:table;clear:both}ul.df-resultbox,ul.gs-resultbox{display:block;position:absolute;left:0;top:100%;margin:0;padding:0 0 10px;min-width:250px;max-width:500px;z-index:999999;background:#fff;list-style:none;box-shadow:2px 2px 5px #c5c5c5;border-radius:5px}ul.df-resultbox li,ul.gs-resultbox li{float:none;display:block;cursor:pointer;padding:0 10px}ul.gs-resultbox li{padding:3px 10px;line-height:1.1;font-size:.9em}ul.df-resultbox li:nth-child(even),ul.gs-resultbox li:nth-child(even){background:#f2f5f7}ul.df-resultbox li.df-cheader,ul.gs-resultbox li.gs-cheader{background:#fff;padding-top:10px;margin-bottom:10px}ul.df-resultbox li p,ul.gs-resultbox li p{margin-bottom:0;color:inherit}ul.df-resultbox li.df-cheader p.df-cheader-title,ul.gs-resultbox li.gs-cheader p.gs-cheader-title{font-weight:bold;margin-bottom:0}ul.df-resultbox li.df-cheader p.df-cheader-limit,ul.gs-resultbox li.gs-cheader p.gs-cheader-limit{font-weight:normal}ul.df-resultbox li.df-cdata img,ul.gs-resultbox li.gs-cdata img{margin-right:12px}ul.df-resultbox li.df-cdata p span.df-cdata-title,ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{font-weight:bold}ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{display:block}ul.df-resultbox li:first-child,ul.gs-resultbox li:first-child{border-top-left-radius:5px;border-top-right-radius:5px}ul.df-resultbox li:last-child,ul.gs-resultbox li:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}span.flags{background-image:url("../images/flags_sprite.png");background-repeat:no-repeat;min-height:20px;padding-left:27px;vertical-align:middle}span.flag-el{background-position:0 -1475px}span.flag-ad{background-position:0 -1px}span.flag-ae{background-position:0 -23px}span.flag-af{background-position:0 -45px}span.flag-ag{background-position:0 -67px}span.flag-ai{background-position:0 -89px}span.flag-al{background-position:0 -111px}span.flag-am{background-position:0 -133px}span.flag-an{background-position:0 -155px}span.flag-ao{background-position:0 -177px}span.flag-aq{background-position:0 -199px}span.flag-ar{background-position:0 -221px}span.flag-as{background-position:0 -243px}span.flag-at{background-position:0 -265px}span.flag-au{background-position:0 -287px}span.flag-aw{background-position:0 -309px}span.flag-ax{background-position:0 -331px}span.flag-az{background-position:0 -353px}span.flag-ba{background-position:0 -375px}span.flag-bb{background-position:0 -397px}span.flag-bd{background-position:0 -419px}span.flag-be{background-position:0 -441px}span.flag-bf{background-position:0 -463px}span.flag-bg{background-position:0 -485px}span.flag-bh{background-position:0 -507px}span.flag-bi{background-position:0 -529px}span.flag-bj{background-position:0 -551px}span.flag-bm{background-position:0 -573px}span.flag-bn{background-position:0 -595px}span.flag-bo{background-position:0 -617px}span.flag-br{background-position:0 -639px}span.flag-bs{background-position:0 -661px}span.flag-bt{background-position:0 -683px}span.flag-bv{background-position:0 -705px}span.flag-bw{background-position:0 -727px}span.flag-by{background-position:0 -749px}span.flag-bz{background-position:0 -771px}span.flag-ca{background-position:0 -793px}span.flag-cc{background-position:0 -837px}span.flag-cd{background-position:0 -859px}span.flag-cf{background-position:0 -881px}span.flag-cg{background-position:0 -903px}span.flag-ch{background-position:0 -925px}span.flag-ci{background-position:0 -947px}span.flag-ck{background-position:0 -969px}span.flag-cl{background-position:0 -991px}span.flag-cm{background-position:0 -1013px}span.flag-cn{background-position:0 -1035px}span.flag-co{background-position:0 -1057px}span.flag-cr{background-position:0 -1079px}span.flag-cs{background-position:0 -1101px}span.flag-cu{background-position:0 -1123px}span.flag-cv{background-position:0 -1145px}span.flag-cx{background-position:0 -1167px}span.flag-cy{background-position:0 -1189px}span.flag-cz{background-position:0 -1211px}span.flag-de{background-position:0 -1233px}span.flag-dj{background-position:0 -1255px}span.flag-dk{background-position:0 -1277px}span.flag-dm{background-position:0 -1299px}span.flag-do{background-position:0 -1321px}span.flag-dz{background-position:0 -1343px}span.flag-ec{background-position:0 -1365px}span.flag-ee{background-position:0 -1387px}span.flag-eg{background-position:0 -1409px}span.flag-eh{background-position:0 -1431px}span.flag-er{background-position:0 -1475px}span.flag-es{background-position:0 -1497px}span.flag-et{background-position:0 -1519px}span.flag-fi{background-position:0 -1585px}span.flag-fj{background-position:0 -1607px}span.flag-fk{background-position:0 -1629px}span.flag-fm{background-position:0 -1651px}span.flag-fo{background-position:0 -1673px}span.flag-fr{background-position:0 -1695px}span.flag-ga{background-position:0 -1717px}span.flag-gb,span.flag-en{background-position:0 -1739px}span.flag-gd{background-position:0 -1761px}span.flag-ge{background-position:0 -1783px}span.flag-gf{background-position:0 -1805px}span.flag-gh{background-position:0 -1827px}span.flag-gi{background-position:0 -1849px}span.flag-gl{background-position:0 -1871px}span.flag-gm{background-position:0 -1893px}span.flag-gn{background-position:0 -1915px}span.flag-gp{background-position:0 -1937px}span.flag-gq{background-position:0 -1959px}span.flag-gr{background-position:0 -1981px}span.flag-gs{background-position:0 -2003px}span.flag-gt{background-position:0 -2025px}span.flag-gu{background-position:0 -2047px}span.flag-gw{background-position:0 -2069px}span.flag-gy{background-position:0 -2091px}span.flag-hk{background-position:0 -2113px}span.flag-hm{background-position:0 -2135px}span.flag-hn{background-position:0 -2157px}span.flag-hr{background-position:0 -2179px}span.flag-ht{background-position:0 -2201px}span.flag-hu{background-position:0 -2223px}span.flag-id{background-position:0 -2245px}span.flag-ie{background-position:0 -2267px}span.flag-il{background-position:0 -2289px}span.flag-in{background-position:0 -2311px}span.flag-io{background-position:0 -2333px}span.flag-iq{background-position:0 -2355px}span.flag-ir{background-position:0 -2377px}span.flag-is{background-position:0 -2399px}span.flag-it{background-position:0 -2421px}span.flag-jm{background-position:0 -2443px}span.flag-jo{background-position:0 -2465px}span.flag-jp{background-position:0 -2487px}span.flag-ke{background-position:0 -2509px}span.flag-kg{background-position:0 -2531px}span.flag-kh{background-position:0 -2553px}span.flag-ki{background-position:0 -2575px}span.flag-km{background-position:0 -2597px}span.flag-kn{background-position:0 -2619px}span.flag-kp{background-position:0 -2641px}span.flag-kr{background-position:0 -2663px}span.flag-kw{background-position:0 -2685px}span.flag-ky{background-position:0 -2707px}span.flag-kz{background-position:0 -2729px}span.flag-la{background-position:0 -2751px}span.flag-lb{background-position:0 -2773px}span.flag-lc{background-position:0 -2795px}span.flag-li{background-position:0 -2817px}span.flag-lk{background-position:0 -2839px}span.flag-lr{background-position:0 -2861px}span.flag-ls{background-position:0 -2883px}span.flag-lt{background-position:0 -2905px}span.flag-lu{background-position:0 -2927px}span.flag-lv{background-position:0 -2949px}span.flag-ly{background-position:0 -2971px}span.flag-ma{background-position:0 -2993px}span.flag-mc{background-position:0 -3015px}span.flag-md{background-position:0 -3037px}span.flag-me{background-position:0 -3059px}span.flag-mg{background-position:0 -3081px}span.flag-mh{background-position:0 -3103px}span.flag-mk{background-position:0 -3125px}span.flag-ml{background-position:0 -3147px}span.flag-mm{background-position:0 -3169px}span.flag-mn{background-position:0 -3191px}span.flag-mo{background-position:0 -3213px}span.flag-mp{background-position:0 -3235px}span.flag-mq{background-position:0 -3257px}span.flag-mr{background-position:0 -3279px}span.flag-ms{background-position:0 -3301px}span.flag-mt{background-position:0 -3323px}span.flag-mu{background-position:0 -3345px}span.flag-mv{background-position:0 -3367px}span.flag-mw{background-position:0 -3389px}span.flag-mx{background-position:0 -3411px}span.flag-my{background-position:0 -3433px}span.flag-mz{background-position:0 -3455px}span.flag-na{background-position:0 -3477px}span.flag-nc{background-position:0 -3499px}span.flag-ne{background-position:0 -3521px}span.flag-nf{background-position:0 -3543px}span.flag-ng{background-position:0 -3565px}span.flag-ni{background-position:0 -3587px}span.flag-nl{background-position:0 -3609px}span.flag-no{background-position:0 -3631px}span.flag-np{background-position:0 -3653px}span.flag-nr{background-position:0 -3675px}span.flag-nu{background-position:0 -3697px}span.flag-nz{background-position:0 -3719px}span.flag-om{background-position:0 -3741px}span.flag-pa{background-position:0 -3763px}span.flag-pe{background-position:0 -3785px}span.flag-pf{background-position:0 -3807px}span.flag-pg{background-position:0 -3829px}span.flag-ph{background-position:0 -3851px}span.flag-pk{background-position:0 -3873px}span.flag-pl{background-position:0 -3895px}span.flag-pm{background-position:0 -3917px}span.flag-pn{background-position:0 -3939px}span.flag-pr{background-position:0 -3961px}span.flag-ps{background-position:0 -3983px}span.flag-pt{background-position:0 -4005px}span.flag-pw{background-position:0 -4027px}span.flag-py{background-position:0 -4049px}span.flag-qa{background-position:0 -4071px}span.flag-re{background-position:0 -4093px}span.flag-ro{background-position:0 -4115px}span.flag-rs{background-position:0 -4137px}span.flag-ru{background-position:0 -4159px}span.flag-rw{background-position:0 -4181px}span.flag-sa{background-position:0 -4203px}span.flag-sb{background-position:0 -4225px}span.flag-sc{background-position:0 -4247px}span.flag-sd{background-position:0 -4291px}span.flag-se{background-position:0 -4313px}span.flag-sg{background-position:0 -4335px}span.flag-sh{background-position:0 -4357px}span.flag-si{background-position:0 -4379px}span.flag-sj{background-position:0 -4401px}span.flag-sk{background-position:0 -4423px}span.flag-sl{background-position:0 -4445px}span.flag-sm{background-position:0 -4467px}span.flag-sn{background-position:0 -4489px}span.flag-so{background-position:0 -4511px}span.flag-sr{background-position:0 -4533px}span.flag-st{background-position:0 -4555px}span.flag-sv{background-position:0 -4577px}span.flag-sy{background-position:0 -4599px}span.flag-sz{background-position:0 -4621px}span.flag-tc{background-position:0 -4643px}span.flag-td{background-position:0 -4665px}span.flag-tf{background-position:0 -4687px}span.flag-tg{background-position:0 -4709px}span.flag-th{background-position:0 -4731px}span.flag-tj{background-position:0 -4753px}span.flag-tk{background-position:0 -4775px}span.flag-tl{background-position:0 -4797px}span.flag-tm{background-position:0 -4819px}span.flag-tn{background-position:0 -4841px}span.flag-to{background-position:0 -4863px}span.flag-tr{background-position:0 -4885px}span.flag-tt{background-position:0 -4907px}span.flag-tv{background-position:0 -4929px}span.flag-tw{background-position:0 -4951px}span.flag-tz{background-position:0 -4973px}span.flag-ua{background-position:0 -4995px}span.flag-ug{background-position:0 -5017px}span.flag-um{background-position:0 -5039px}span.flag-us{background-position:0 -5061px}span.flag-uy{background-position:0 -5083px}span.flag-uz{background-position:0 -5105px}span.flag-va{background-position:0 -5127px}span.flag-vc{background-position:0 -5149px}span.flag-ve{background-position:0 -5171px}span.flag-vg{background-position:0 -5193px}span.flag-vi{background-position:0 -5215px}span.flag-vn{background-position:0 -5237px}span.flag-vu{background-position:0 -5259px}span.flag-wf{background-position:0 -5303px}span.flag-ws{background-position:0 -5325px}span.flag-ye{background-position:0 -5347px}span.flag-yt{background-position:0 -5369px}span.flag-za{background-position:0 -5391px}span.flag-zm{background-position:0 -5413px}span.flag-zw{background-position:0 -5435px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#logo{background-image:url("../images/logo@2x.png");background-size:200px 65px}}.input-group-field{display:table-cell;vertical-align:middle;border-radius:4px;min-width:1%;white-space:nowrap}.input-group-field .form-control{border-radius:inherit!important}.input-group-field:not(:first-child):not(:last-child){border-radius:0}.input-group-field:not(:first-child):not(:last-child) .form-control{border-left-width:0;border-right-width:0}.input-group-field:last-child{border-top-left-radius:0;border-bottom-left-radius:0} |
| | | body{overflow-y:scroll}.left{float:left}.right{float:right}.clear:after{content:"";display:table;clear:both}.marginTop15{margin-top:15px}.paddingX5{padding-left:5px!important;padding-right:5px!important}.width65{width:65px}.form-group input[type='checkbox']{margin-top:10px}.control-label{font-weight:normal}.control-label:after{content:":"}.formbutton-default{padding:6px 30px;border-bottom-style:solid;border-bottom-width:2px;font-size:12px;font-weight:bold;transition:all ease 500ms}.formbutton-success,.formbutton-danger{padding:6px 30px;border-style:solid;border-width:1px;border-bottom-width:solid;font-size:12px;font-weight:bold;transition:all ease 500ms}.formbutton-narrow{padding:6px 8px;margin-left:2px;margin-right:2px}.formbutton-narrower{padding:4px 6px}#main-wrapper{margin:0 auto;width:95%;max-width:1260px}#logo{float:left;width:200px;height:65px;margin-top:10px}#logo a{display:block;width:100%;height:100%}#headerbar{float:right}#searchform{float:right;margin-top:16px}#searchform>div{position:relative;display:table}#searchform>div>div{display:table-cell;padding-right:8px;vertical-align:top}#searchform .icon{padding:0 2px;font-size:16px}#logout-button{float:right;margin-top:16px;margin-left:25px;border-bottom-style:solid;border-bottom-width:2px;transition:all ease 500ms}#main-navigation{margin-top:24px}#main-navigation a{padding:0 12px;height:70px;border-bottom-style:solid;botder-bottom-width:2px;transition:all ease 500ms}#main-navigation .icon{font-size:32px}#main-navigation .title{margin-top:2px;font-weight:bold}.btn-group-justified .btn{border-right-width:0}.btn-group-justified .btn:last-of-type{border-right-width:1px}#content{width:78%}#passBar,#passText{display:inline-block;vertical-align:middle}#passBar{height:11px;padding:0}#passBar>div{height:100%;padding:0}#sidebar{margin-top:27px;width:18%;border-style:solid;border-width:1px;border-radius:4px}#sidebar header{margin:1px;padding:0 10px;height:40px;line-height:40px;font-weight:bold;border-top-left-radius:2px;border-top-right-radius:2px}#sidebar ul{margin:0;padding:0;list-style:none}#sidebar li{padding:10px;border-top-style:solid;border-top-width:1px;font-size:12px}#sidebar a{text-decoration:none;transition:color ease 500ms}.page-header{margin:20px 0;padding:0}.alert-notification a{font-weight:bold;text-decoration:none;transition:color ease 500ms}.alert-label,.alert-content{display:inline-block;vertical-align:top}.alert-label{width:60px}.modules{margin:0;padding:0;list-style:none}.modules li{float:left;margin-right:15px;margin-bottom:15px;padding:8px;width:200px;border-radius:4px;border-style:solid;border-width:1px}.modules .icon{float:left;margin-right:15px;font-size:50px}.modules .left{margin-top:5px}.modules .title{margin-top:6px;margin-left:20px;font-size:16px;font-weight:bold}.modules .button{margin-top:10px;width:100%;border-bottom-style:solid;border-bottom-width:2px;font-size:12px;font-weight:bold;transition:all ease 500ms}.modules a{text-decoration:none}.table-wrapper{margin-bottom:20px;border-radius:4px;border-style:solid;border-width:1px}.table{table-layout:fixed;margin-bottom:1px}.table caption{padding:5px 10px;text-align:left;font-weight:bold;font-size:18px;border-bottom-style:solid;border-bottom-width:1px}.table tbody tr{border-top-style:solid;border-top-width:1px;transition:background ease 500ms}.table tbody tr:last-child{border-radius:4px}.table tbody tr td{text-overflow:ellipsis;overflow-x:hidden}.tfooter{margin-top:-1px;height:40px;border-top-style:solid;border-top-width:1px}.pagination{margin:10px 0}.progress{display:inline-block;margin-bottom:0;width:150px;height:10px}p.fieldset-legend{display:none}.content-tab-wrapper{border-style:solid;border-width:1px;border-radius:4px}.content-tab-wrapper .nav-tabs>li>a{border-radius:0;border:none!important;border-right-style:solid!important;border-right-width:1px!important;outline:0;font-weight:bold;transition:background ease 500ms}.content-tab-wrapper .nav-tabs li:not(:first-child) a{margin-left:-2px}.tab-content{padding:25px 10px}.input-group-btn .icon-calendar{font-size:18px}thead.dark th{height:40px;line-height:40px;font-weight:normal}thead.dark th.small-col{width:14%}thead.dark th.tiny-col{width:8%;overflow:hidden;text-overflow:ellipsis}thead.dark th[data-column]{cursor:pointer}thead.dark th[data-column][data-ordered]{font-weight:bold;position:relative}thead.dark th[data-column][data-ordered]:before{content:"";display:block;position:absolute;right:5px;top:16px;width:0;height:0;vertical-align:middle;border-bottom:5px solid #fff;border-top:5px solid transparent;border-right:5px solid transparent;border-left:6px solid transparent;line-height:inherit}thead.dark th[data-column][data-ordered="desc"]:before{top:21px;border-bottom:5px solid transparent;border-top:5px solid #fff}thead.dark td input,thead.dark td select{width:100%}#footer{margin:20px 0;padding-top:20px;border-top-style:solid;border-top-width:1px;text-align:center;font-size:10px}.menu-btn{display:none;cursor:pointer}.df-container,.gs-container{position:relative}.gs-container:after{content:"";display:table;clear:both}ul.df-resultbox,ul.gs-resultbox{display:block;position:absolute;left:0;top:100%;margin:0;padding:0 0 10px;min-width:250px;max-width:500px;z-index:999999;background:#fff;list-style:none;box-shadow:2px 2px 5px #c5c5c5;border-radius:5px}ul.df-resultbox li,ul.gs-resultbox li{float:none;display:block;cursor:pointer;padding:0 10px}ul.gs-resultbox li{padding:3px 10px;line-height:1.1;font-size:.9em}ul.df-resultbox li:nth-child(even),ul.gs-resultbox li:nth-child(even){background:#f2f5f7}ul.df-resultbox li.df-cheader,ul.gs-resultbox li.gs-cheader{background:#fff;padding-top:10px;margin-bottom:10px}ul.df-resultbox li p,ul.gs-resultbox li p{margin-bottom:0;color:inherit}ul.df-resultbox li.df-cheader p.df-cheader-title,ul.gs-resultbox li.gs-cheader p.gs-cheader-title{font-weight:bold;margin-bottom:0}ul.df-resultbox li.df-cheader p.df-cheader-limit,ul.gs-resultbox li.gs-cheader p.gs-cheader-limit{font-weight:normal}ul.df-resultbox li.df-cdata img,ul.gs-resultbox li.gs-cdata img{margin-right:12px}ul.df-resultbox li.df-cdata p span.df-cdata-title,ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{font-weight:bold}ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{display:block}ul.df-resultbox li:first-child,ul.gs-resultbox li:first-child{border-top-left-radius:5px;border-top-right-radius:5px}ul.df-resultbox li:last-child,ul.gs-resultbox li:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}span.flags{background-image:url("../images/flags_sprite.png");background-repeat:no-repeat;min-height:20px;padding-left:27px;vertical-align:middle}span.flag-el{background-position:0 -1475px}span.flag-ad{background-position:0 -1px}span.flag-ae{background-position:0 -23px}span.flag-af{background-position:0 -45px}span.flag-ag{background-position:0 -67px}span.flag-ai{background-position:0 -89px}span.flag-al{background-position:0 -111px}span.flag-am{background-position:0 -133px}span.flag-an{background-position:0 -155px}span.flag-ao{background-position:0 -177px}span.flag-aq{background-position:0 -199px}span.flag-ar{background-position:0 -221px}span.flag-as{background-position:0 -243px}span.flag-at{background-position:0 -265px}span.flag-au{background-position:0 -287px}span.flag-aw{background-position:0 -309px}span.flag-ax{background-position:0 -331px}span.flag-az{background-position:0 -353px}span.flag-ba{background-position:0 -375px}span.flag-bb{background-position:0 -397px}span.flag-bd{background-position:0 -419px}span.flag-be{background-position:0 -441px}span.flag-bf{background-position:0 -463px}span.flag-bg{background-position:0 -485px}span.flag-bh{background-position:0 -507px}span.flag-bi{background-position:0 -529px}span.flag-bj{background-position:0 -551px}span.flag-bm{background-position:0 -573px}span.flag-bn{background-position:0 -595px}span.flag-bo{background-position:0 -617px}span.flag-br{background-position:0 -639px}span.flag-bs{background-position:0 -661px}span.flag-bt{background-position:0 -683px}span.flag-bv{background-position:0 -705px}span.flag-bw{background-position:0 -727px}span.flag-by{background-position:0 -749px}span.flag-bz{background-position:0 -771px}span.flag-ca{background-position:0 -793px}span.flag-cc{background-position:0 -837px}span.flag-cd{background-position:0 -859px}span.flag-cf{background-position:0 -881px}span.flag-cg{background-position:0 -903px}span.flag-ch{background-position:0 -925px}span.flag-ci{background-position:0 -947px}span.flag-ck{background-position:0 -969px}span.flag-cl{background-position:0 -991px}span.flag-cm{background-position:0 -1013px}span.flag-cn{background-position:0 -1035px}span.flag-co{background-position:0 -1057px}span.flag-cr{background-position:0 -1079px}span.flag-cs{background-position:0 -1101px}span.flag-cu{background-position:0 -1123px}span.flag-cv{background-position:0 -1145px}span.flag-cx{background-position:0 -1167px}span.flag-cy{background-position:0 -1189px}span.flag-cz{background-position:0 -1211px}span.flag-de{background-position:0 -1233px}span.flag-dj{background-position:0 -1255px}span.flag-dk{background-position:0 -1277px}span.flag-dm{background-position:0 -1299px}span.flag-do{background-position:0 -1321px}span.flag-dz{background-position:0 -1343px}span.flag-ec{background-position:0 -1365px}span.flag-ee{background-position:0 -1387px}span.flag-eg{background-position:0 -1409px}span.flag-eh{background-position:0 -1431px}span.flag-er{background-position:0 -1475px}span.flag-es{background-position:0 -1497px}span.flag-et{background-position:0 -1519px}span.flag-fi{background-position:0 -1585px}span.flag-fj{background-position:0 -1607px}span.flag-fk{background-position:0 -1629px}span.flag-fm{background-position:0 -1651px}span.flag-fo{background-position:0 -1673px}span.flag-fr{background-position:0 -1695px}span.flag-ga{background-position:0 -1717px}span.flag-gb,span.flag-en{background-position:0 -1739px}span.flag-gd{background-position:0 -1761px}span.flag-ge{background-position:0 -1783px}span.flag-gf{background-position:0 -1805px}span.flag-gh{background-position:0 -1827px}span.flag-gi{background-position:0 -1849px}span.flag-gl{background-position:0 -1871px}span.flag-gm{background-position:0 -1893px}span.flag-gn{background-position:0 -1915px}span.flag-gp{background-position:0 -1937px}span.flag-gq{background-position:0 -1959px}span.flag-gr{background-position:0 -1981px}span.flag-gs{background-position:0 -2003px}span.flag-gt{background-position:0 -2025px}span.flag-gu{background-position:0 -2047px}span.flag-gw{background-position:0 -2069px}span.flag-gy{background-position:0 -2091px}span.flag-hk{background-position:0 -2113px}span.flag-hm{background-position:0 -2135px}span.flag-hn{background-position:0 -2157px}span.flag-hr{background-position:0 -2179px}span.flag-ht{background-position:0 -2201px}span.flag-hu{background-position:0 -2223px}span.flag-id{background-position:0 -2245px}span.flag-ie{background-position:0 -2267px}span.flag-il{background-position:0 -2289px}span.flag-in{background-position:0 -2311px}span.flag-io{background-position:0 -2333px}span.flag-iq{background-position:0 -2355px}span.flag-ir{background-position:0 -2377px}span.flag-is{background-position:0 -2399px}span.flag-it{background-position:0 -2421px}span.flag-jm{background-position:0 -2443px}span.flag-jo{background-position:0 -2465px}span.flag-jp{background-position:0 -2487px}span.flag-ke{background-position:0 -2509px}span.flag-kg{background-position:0 -2531px}span.flag-kh{background-position:0 -2553px}span.flag-ki{background-position:0 -2575px}span.flag-km{background-position:0 -2597px}span.flag-kn{background-position:0 -2619px}span.flag-kp{background-position:0 -2641px}span.flag-kr{background-position:0 -2663px}span.flag-kw{background-position:0 -2685px}span.flag-ky{background-position:0 -2707px}span.flag-kz{background-position:0 -2729px}span.flag-la{background-position:0 -2751px}span.flag-lb{background-position:0 -2773px}span.flag-lc{background-position:0 -2795px}span.flag-li{background-position:0 -2817px}span.flag-lk{background-position:0 -2839px}span.flag-lr{background-position:0 -2861px}span.flag-ls{background-position:0 -2883px}span.flag-lt{background-position:0 -2905px}span.flag-lu{background-position:0 -2927px}span.flag-lv{background-position:0 -2949px}span.flag-ly{background-position:0 -2971px}span.flag-ma{background-position:0 -2993px}span.flag-mc{background-position:0 -3015px}span.flag-md{background-position:0 -3037px}span.flag-me{background-position:0 -3059px}span.flag-mg{background-position:0 -3081px}span.flag-mh{background-position:0 -3103px}span.flag-mk{background-position:0 -3125px}span.flag-ml{background-position:0 -3147px}span.flag-mm{background-position:0 -3169px}span.flag-mn{background-position:0 -3191px}span.flag-mo{background-position:0 -3213px}span.flag-mp{background-position:0 -3235px}span.flag-mq{background-position:0 -3257px}span.flag-mr{background-position:0 -3279px}span.flag-ms{background-position:0 -3301px}span.flag-mt{background-position:0 -3323px}span.flag-mu{background-position:0 -3345px}span.flag-mv{background-position:0 -3367px}span.flag-mw{background-position:0 -3389px}span.flag-mx{background-position:0 -3411px}span.flag-my{background-position:0 -3433px}span.flag-mz{background-position:0 -3455px}span.flag-na{background-position:0 -3477px}span.flag-nc{background-position:0 -3499px}span.flag-ne{background-position:0 -3521px}span.flag-nf{background-position:0 -3543px}span.flag-ng{background-position:0 -3565px}span.flag-ni{background-position:0 -3587px}span.flag-nl{background-position:0 -3609px}span.flag-no{background-position:0 -3631px}span.flag-np{background-position:0 -3653px}span.flag-nr{background-position:0 -3675px}span.flag-nu{background-position:0 -3697px}span.flag-nz{background-position:0 -3719px}span.flag-om{background-position:0 -3741px}span.flag-pa{background-position:0 -3763px}span.flag-pe{background-position:0 -3785px}span.flag-pf{background-position:0 -3807px}span.flag-pg{background-position:0 -3829px}span.flag-ph{background-position:0 -3851px}span.flag-pk{background-position:0 -3873px}span.flag-pl{background-position:0 -3895px}span.flag-pm{background-position:0 -3917px}span.flag-pn{background-position:0 -3939px}span.flag-pr{background-position:0 -3961px}span.flag-ps{background-position:0 -3983px}span.flag-pt{background-position:0 -4005px}span.flag-pw{background-position:0 -4027px}span.flag-py{background-position:0 -4049px}span.flag-qa{background-position:0 -4071px}span.flag-re{background-position:0 -4093px}span.flag-ro{background-position:0 -4115px}span.flag-rs{background-position:0 -4137px}span.flag-ru{background-position:0 -4159px}span.flag-rw{background-position:0 -4181px}span.flag-sa{background-position:0 -4203px}span.flag-sb{background-position:0 -4225px}span.flag-sc{background-position:0 -4247px}span.flag-sd{background-position:0 -4291px}span.flag-se{background-position:0 -4313px}span.flag-sg{background-position:0 -4335px}span.flag-sh{background-position:0 -4357px}span.flag-si{background-position:0 -4379px}span.flag-sj{background-position:0 -4401px}span.flag-sk{background-position:0 -4423px}span.flag-sl{background-position:0 -4445px}span.flag-sm{background-position:0 -4467px}span.flag-sn{background-position:0 -4489px}span.flag-so{background-position:0 -4511px}span.flag-sr{background-position:0 -4533px}span.flag-st{background-position:0 -4555px}span.flag-sv{background-position:0 -4577px}span.flag-sy{background-position:0 -4599px}span.flag-sz{background-position:0 -4621px}span.flag-tc{background-position:0 -4643px}span.flag-td{background-position:0 -4665px}span.flag-tf{background-position:0 -4687px}span.flag-tg{background-position:0 -4709px}span.flag-th{background-position:0 -4731px}span.flag-tj{background-position:0 -4753px}span.flag-tk{background-position:0 -4775px}span.flag-tl{background-position:0 -4797px}span.flag-tm{background-position:0 -4819px}span.flag-tn{background-position:0 -4841px}span.flag-to{background-position:0 -4863px}span.flag-tr{background-position:0 -4885px}span.flag-tt{background-position:0 -4907px}span.flag-tv{background-position:0 -4929px}span.flag-tw{background-position:0 -4951px}span.flag-tz{background-position:0 -4973px}span.flag-ua{background-position:0 -4995px}span.flag-ug{background-position:0 -5017px}span.flag-um{background-position:0 -5039px}span.flag-us{background-position:0 -5061px}span.flag-uy{background-position:0 -5083px}span.flag-uz{background-position:0 -5105px}span.flag-va{background-position:0 -5127px}span.flag-vc{background-position:0 -5149px}span.flag-ve{background-position:0 -5171px}span.flag-vg{background-position:0 -5193px}span.flag-vi{background-position:0 -5215px}span.flag-vn{background-position:0 -5237px}span.flag-vu{background-position:0 -5259px}span.flag-wf{background-position:0 -5303px}span.flag-ws{background-position:0 -5325px}span.flag-ye{background-position:0 -5347px}span.flag-yt{background-position:0 -5369px}span.flag-za{background-position:0 -5391px}span.flag-zm{background-position:0 -5413px}span.flag-zw{background-position:0 -5435px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#logo{background-image:url("../images/logo@2x.png");background-size:200px 65px}}.input-group-field{display:table-cell;vertical-align:middle;border-radius:4px;min-width:1%;white-space:nowrap}.input-group-field .form-control{border-radius:inherit!important}.input-group-field:not(:first-child):not(:last-child){border-radius:0}.input-group-field:not(:first-child):not(:last-child) .form-control{border-left-width:0;border-right-width:0}.input-group-field:last-child{border-top-left-radius:0;border-bottom-left-radius:0} |
| | |
| | | <ol> |
| | | <li>###ERRORMSG###</li> |
| | | </ol> |
| | | <div>TODO: WRONG HTML ELEMENTS</div> |
| | | </div> |
| | | </div> |
| | |
| | | <script type="text/javascript" src="js/jquery.min.js"></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/bootstrap.min.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/bootstrap-datetimepicker.min.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/ispconfig.min.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/ispconfig.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/modernizr.custom.min.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/pushy.min.js'></script> |
| | | <script src='themes/<tmpl_var name='current_theme'>/assets/javascripts/responsive.min.js'></script> |
| | |
| | | <div class="row" style="margin: auto; width:100%;"> |
| | | <div class="col-md-4 col-md-offset-4"> |
| | | <div class="panel panel-default"> |
| | | <div class="panel-heading" style="background: linear-gradient(to bottom, white, #eef0f2);"> |
| | | <div class="panel-heading" style="background: linear-gradient(to bottom, white, #eef0f2);text-align:center;"> |
| | | <img src="{tmpl_var name='base64_logo_txt'}"> |
| | | </div> |
| | | <div class="panel-body"> |
| | |
| | | <script type="text/javascript" src="../js/jquery.min.js"></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/bootstrap.min.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/bootstrap-datetimepicker.min.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/ispconfig.min.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/ispconfig.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/modernizr.custom.min.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/pushy.min.js'></script> |
| | | <script src='../themes/<tmpl_var name='current_theme'>/assets/javascripts/responsive.min.js'></script> |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Password'; |
| | | $wb['password_txt'] = 'Password'; |
| | | $wb['password_strength_txt'] = 'Password strength'; |
| | | $wb['language_txt'] = 'Language'; |
| | | $wb['password_mismatch'] = 'The password in the second password field does not match the first password.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Парола'; |
| | | $wb['password_txt'] = 'Парола'; |
| | | $wb['password_strength_txt'] = 'Сила на паролата'; |
| | | $wb['language_txt'] = 'Език'; |
| | | $wb['password_mismatch'] = 'Паролите в двете полета не съвпадат.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Senha'; |
| | | $wb['password_txt'] = 'Senha'; |
| | | $wb['password_strength_txt'] = 'Segurança de Senha'; |
| | | $wb['language_txt'] = 'Idioma'; |
| | | $wb['password_mismatch'] = 'As senhas não conhecidem'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Mot de passe'; |
| | | $wb['password_txt'] = 'Mot de passe'; |
| | | $wb['password_strength_txt'] = 'Force du mot de passe'; |
| | | $wb['language_txt'] = 'Langue'; |
| | | $wb['password_mismatch'] = 'Le mot de passe de confirmation ne correspond avec le premier.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Heslo'; |
| | | $wb['password_txt'] = 'Heslo'; |
| | | $wb['password_strength_txt'] = 'Bezpečnost hesla'; |
| | | $wb['language_txt'] = 'Jazyk'; |
| | | $wb['password_mismatch'] = 'Hesla se neshodují.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Passwort'; |
| | | $wb['password_txt'] = 'Passwort'; |
| | | $wb['language_txt'] = 'Sprache'; |
| | | $wb['password_mismatch'] = 'Die Passwörter stimmen nicht überein.'; |
| | | $wb['password_strength_txt'] = 'Passwortkomplexität'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Συνθηματικό'; |
| | | $wb['password_txt'] = 'Συνθηματικό'; |
| | | $wb['password_strength_txt'] = 'Δύναμη συνθηματικού'; |
| | | $wb['language_txt'] = 'Γλώσσα'; |
| | | $wb['password_mismatch'] = 'Το συνθηματικό στο δεύτερο πεδίο δεν ταιριάζει με το συνθηματικό στο πρώτο πεδίο.'; |
| | |
| | | <?php |
| | | $wb["passwort_txt"] = 'Password'; |
| | | $wb["password_txt"] = 'Password'; |
| | | $wb["password_strength_txt"] = 'Password strength'; |
| | | $wb["language_txt"] = 'Language'; |
| | | $wb["password_mismatch"] = 'The password in the second password field does not match the first password.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Contraseña'; |
| | | $wb['password_txt'] = 'Contraseña'; |
| | | $wb['password_strength_txt'] = 'Fortaleza de la contraseña'; |
| | | $wb['language_txt'] = 'Idioma'; |
| | | $wb['password_mismatch'] = 'La contraseña del primer y segundo campo no coinciden.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Salasana'; |
| | | $wb['password_txt'] = 'Salasana'; |
| | | $wb['language_txt'] = 'Kieli'; |
| | | $wb['password_mismatch'] = 'Salasanat eivät täsmää.'; |
| | | $wb['password_strength_txt'] = 'Salasanan vahvuus'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Mot de passe'; |
| | | $wb['password_txt'] = 'Mot de passe'; |
| | | $wb['password_strength_txt'] = 'Force du mot de passe'; |
| | | $wb['language_txt'] = 'Langue'; |
| | | $wb['password_mismatch'] = 'Le mot de passe de confirmation ne correspond avec le premier.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Šifra'; |
| | | $wb['password_txt'] = 'Šifra'; |
| | | $wb['password_strength_txt'] = 'Jačina šifre'; |
| | | $wb['language_txt'] = 'Jezik'; |
| | | $wb['password_mismatch'] = 'Šifra u drugom polju ne odgovara šifri iz prvog polja.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Jelszó'; |
| | | $wb['password_txt'] = 'Jelszó'; |
| | | $wb['language_txt'] = 'Nyelv'; |
| | | $wb['password_mismatch'] = 'Jelszavak nem egyeznek meg.'; |
| | | $wb['Form to edit the user password and language.'] = 'Jelszó, nyelv és hitelesítés beállító oldal.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Kata Sandi'; |
| | | $wb['password_txt'] = 'Kata Sandi'; |
| | | $wb['password_strength_txt'] = 'Kekuatan Sandi'; |
| | | $wb['language_txt'] = 'Bahasa'; |
| | | $wb['password_mismatch'] = 'Kata sandi di kolom kata sandi kedua tidak cocok dengan kata sandi pertama.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Password'; |
| | | $wb['password_txt'] = 'Password'; |
| | | $wb['language_txt'] = 'Lingua'; |
| | | $wb['password_mismatch'] = 'Il secondo campo password non corrisponde con il primo.'; |
| | | $wb['Form to edit the user password and language.'] = 'Form per modificare la password e la lingua dellutente.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'パスワード'; |
| | | $wb['password_txt'] = 'パスワード'; |
| | | $wb['password_strength_txt'] = 'パスワードの強度'; |
| | | $wb['language_txt'] = '言語'; |
| | | $wb['password_mismatch'] = 'パスワードの1つめの欄と2つめの欄が一致していません。'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Wachtwoord'; |
| | | $wb['password_txt'] = 'Wachtwoord'; |
| | | $wb['password_strength_txt'] = 'Wachtwoord sterkte'; |
| | | $wb['language_txt'] = 'Taal'; |
| | | $wb['password_mismatch'] = 'De door u ingevulde wachtwoorden komen niet overeen.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Hasło'; |
| | | $wb['password_txt'] = 'Hasło'; |
| | | $wb['password_strength_txt'] = 'Siła hasła'; |
| | | $wb['language_txt'] = 'Język'; |
| | | $wb['password_mismatch'] = 'Hasła nie pasują do siebie.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Senha'; |
| | | $wb['password_txt'] = 'Senha'; |
| | | $wb['password_strength_txt'] = 'Segurança de Senha'; |
| | | $wb['language_txt'] = 'Idioma'; |
| | | $wb['password_mismatch'] = 'As senhas não coincidem'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Password'; |
| | | $wb['password_txt'] = 'Password'; |
| | | $wb['password_strength_txt'] = 'Password strength'; |
| | | $wb['language_txt'] = 'Limba'; |
| | | $wb['password_mismatch'] = 'Parola in al doilea camp nu coincide cu primul.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Пароль'; |
| | | $wb['password_txt'] = 'Пароль'; |
| | | $wb['password_strength_txt'] = 'Сложность пароля'; |
| | | $wb['language_txt'] = 'Язык'; |
| | | $wb['password_mismatch'] = 'Введенные пароли не совпадают.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Lösenord'; |
| | | $wb['password_txt'] = 'Lösenord'; |
| | | $wb['password_strength_txt'] = 'Lösenordsstyrka'; |
| | | $wb['language_txt'] = 'Språk'; |
| | | $wb['password_mismatch'] = 'The password in the second password field does not match the first password.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Heslo'; |
| | | $wb['password_txt'] = 'Heslo'; |
| | | $wb['password_strength_txt'] = 'Pevnosť hesla'; |
| | | $wb['language_txt'] = 'Jazyk'; |
| | | $wb['password_mismatch'] = 'Heslo v overovacom poli nezodpovedá prvému heslu.'; |
| | |
| | | <?php |
| | | $wb['passwort_txt'] = 'Parola'; |
| | | $wb['password_txt'] = 'Parola'; |
| | | $wb['password_strength_txt'] = 'Parola Güçlüğü'; |
| | | $wb['language_txt'] = 'Dil'; |
| | | $wb['password_mismatch'] = 'Parola ile onayı aynı değil.'; |
| | |
| | | </div> |
| | | <p><tmpl_var name="list_desc_txt"></p> |
| | | |
| | | <div class="panel panel_language_import"> |
| | | <div class="panel panel_language_import" style="padding:20px;"> |
| | | |
| | | <div class="pnl_formsarea"> |
| | | <legend>{tmpl_var name="legend_txt"}</legend> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">Remote API URL</label> |
| | | <div class="col-sm-9"> |
| | | <div class="col-sm-6"><input class="form-control" type="text" id="remote_server" value="{tmpl_var name='remote_server'}" name="remote_server" /></div><div class="col-sm-3 input-sm"> (e.g. https://www.example.com:8080/remote/ ) |
| | | </div></div> |
| | | <div class="col-sm-9"><input class="form-control" type="text" id="remote_server" value="{tmpl_var name='remote_server'}" placeholder="https://www.example.com:8080/remote/" name="remote_server" /></div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">Remote User</label> |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "ostemplate_id", |
| | | 'datatype' => "INTEGER", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | |
| | | $liste["item"][] = array( 'field' => "template_name", |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); |
| | | 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>".$app->lng('yes_txt')."</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>".$app->lng('no_txt')."</span></div>")); |
| | | |
| | | $liste["item"][] = array( 'field' => "veid", |
| | | 'datatype' => "VARCHAR", |
New file |
| | |
| | | <?php |
| | | |
| | | |
| | | $remote_user = 'test'; |
| | | $remote_pass = 'apipassword'; |
| | | $remote_url = 'https://yourserver.com:8080/remote/json.php'; |
| | | |
| | | function restCall($method, $data) { |
| | | global $remote_url; |
| | | |
| | | if(!is_array($data)) return false; |
| | | $json = json_encode($data); |
| | | |
| | | $curl = curl_init(); |
| | | curl_setopt($curl, CURLOPT_POST, 1); |
| | | |
| | | if($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $json); |
| | | |
| | | // needed for self-signed cert |
| | | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); |
| | | curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); |
| | | // end of needed for self-signed cert |
| | | |
| | | curl_setopt($curl, CURLOPT_URL, $remote_url . '?' . $method); |
| | | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); |
| | | |
| | | $result = curl_exec($curl); |
| | | curl_close($curl); |
| | | |
| | | return $result; |
| | | } |
| | | |
| | | $result = restCall('login', array('username' => $remote_user, 'password' => $remote_pass, 'client_login' => false)); |
| | | if($result) { |
| | | $data = json_decode($result, true); |
| | | if(!$data) die("ERROR!\n"); |
| | | |
| | | $session_id = $data['response']; |
| | | |
| | | $result = restCall('client_get', array('session_id' => $session_id, 'client_id' => array('username' => 'abcde'))); |
| | | if($result) var_dump(json_decode($result, true)); |
| | | else print "Could not get client_get result\n"; |
| | | |
| | | // or by id |
| | | $result = restCall('client_get', array('session_id' => $session_id, 'client_id' => 2)); |
| | | if($result) var_dump(json_decode($result, true)); |
| | | else print "Could not get client_get result\n"; |
| | | |
| | | // or all |
| | | $result = restCall('client_get', array('session_id' => $session_id, 'client_id' => array())); |
| | | if($result) var_dump(json_decode($result, true)); |
| | | else print "Could not get client_get result\n"; |
| | | |
| | | $result = restCall('logout', array('session_id' => $session_id)); |
| | | if($result) var_dump(json_decode($result, true)); |
| | | else print "Could not get logout result\n"; |
| | | } |
| | |
| | | |
| | | chdir = / |
| | | |
| | | env[HOSTNAME] = $HOSTNAME |
| | | env[TMP] = <tmpl_var name='document_root'>/tmp |
| | | env[TMPDIR] = <tmpl_var name='document_root'>/tmp |
| | | env[TEMP] = <tmpl_var name='document_root'>/tmp |
| | | env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| | | |
| | | <tmpl_if name='security_level' op='==' value='20'> |
| | | <tmpl_var name='enable_php_open_basedir'>php_admin_value[open_basedir] = <tmpl_var name='php_open_basedir'> |
| | |
| | | SSLProtocol All -SSLv2 -SSLv3 |
| | | SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA |
| | | SSLHonorCipherOrder on |
| | | <IfModule mod_headers.c> |
| | | Header always add Strict-Transport-Security "max-age=15768000" |
| | | </IfModule> |
| | | # <IfModule mod_headers.c> |
| | | # Header always add Strict-Transport-Security "max-age=15768000" |
| | | # </IfModule> |
| | | SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt |
| | | SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key |
| | | <tmpl_if name='has_bundle_cert'> |
| | |
| | | Action php5-fcgi /php5-fcgi virtual |
| | | Alias /php5-fcgi {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} |
| | | <tmpl_if name='use_tcp'> |
| | | FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -host 127.0.0.1:<tmpl_var name='fpm_port'> -pass-header Authorization |
| | | <IfModule mod_proxy_fcgi.c> |
| | | ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:<tmpl_var name='fpm_port'><tmpl_var name='web_document_root'>/$1 |
| | | </IfModule> |
| | | FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -host 127.0.0.1:<tmpl_var name='fpm_port'> -pass-header Authorization |
| | | </tmpl_if> |
| | | <tmpl_if name='use_socket'> |
| | | FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -socket <tmpl_var name='fpm_socket'> -pass-header Authorization |
| | | </tmpl_if> |
| | | </IfModule> |
| | | <IfModule mod_proxy_fcgi.c> |
| | | <tmpl_if name='use_tcp'> |
| | | ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:<tmpl_var name='fpm_port'><tmpl_var name='web_document_root'>/$1 |
| | | </tmpl_if> |
| | | <tmpl_if name='use_socket'> |
| | | ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ unix://<tmpl_var name='fpm_socket'>|fcgi://localhost/<tmpl_var name='web_document_root'>/$1 |
| | | </tmpl_if> |
| | | </IfModule> |
| | | </tmpl_if> |
| | | |
| | | <tmpl_if name='php' op='==' value='hhvm'> |
| | |
| | | <tmpl_if name="rewrite_enabled"> |
| | | RewriteEngine on |
| | | <tmpl_if name='apache_version' op='>' value='2.2' format='version'> |
| | | RewriteEngine on |
| | | RewriteCond %{REQUEST_URI} ^/\.well-known/acme-challenge/ |
| | | RewriteRule ^ - [END] |
| | | </tmpl_if> |
| | |
| | | |
| | | define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"])); |
| | | require SCRIPT_PATH."/lib/config.inc.php"; |
| | | |
| | | // Check whether another instance of this script is already running |
| | | if (is_file($conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock')) { |
| | | clearstatcache(); |
| | | $pid = trim(file_get_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock')); |
| | | if(preg_match('/^[0-9]+$/', $pid)) { |
| | | if(file_exists('/proc/' . $pid)) { |
| | | print @date('d.m.Y-H:i').' - WARNING - There is already an instance of server.php running with pid ' . $pid . '.' . "\n"; |
| | | exit; |
| | | } |
| | | } |
| | | print @date('d.m.Y-H:i').' - WARNING - There is already a lockfile set, but no process running with this pid (' . $pid . '). Continuing.' . "\n"; |
| | | } |
| | | |
| | | // Set Lockfile |
| | | @file_put_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock', getmypid()); |
| | | |
| | | if($conf['log_priority'] <= LOGLEVEL_DEBUG) print 'Set Lock: ' . $conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock' . "\n"; |
| | | |
| | | |
| | | require SCRIPT_PATH."/lib/app.inc.php"; |
| | | |
| | | set_time_limit(0); |
| | |
| | | } |
| | | unset($files); |
| | | |
| | | // Remove lock |
| | | @unlink($conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock'); |
| | | $app->log('Remove Lock: ' . $conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock', LOGLEVEL_DEBUG); |
| | | |
| | | die("finished.\n"); |
| | | |
| | | ?> |
| | |
| | | $dir_handle = dir($mail_backup_dir); |
| | | $files = array(); |
| | | while (false !== ($entry = $dir_handle->read())) { |
| | | if($entry != '.' && $entry != '..' && substr($entry,0,4+strlen($rec['mailuser_id'])) == 'mail'.$rec['mailuser_id'] && is_file($mail_backup_dir.'/'.$entry)) { |
| | | if($entry != '.' && $entry != '..' && substr($entry,0,5+strlen($rec['mailuser_id'])) == 'mail'.$rec['mailuser_id'].'_' && is_file($mail_backup_dir.'/'.$entry)) { |
| | | $files[] = $entry; |
| | | } |
| | | } |
| | |
| | | public function onRunJob() { |
| | | global $app, $conf; |
| | | |
| | | if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) { |
| | | exec('/root/.local/share/letsencrypt/bin/letsencrypt renew'); |
| | | $letsencrypt = array_shift( explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt')) ); |
| | | if(is_executable($letsencrypt)) { |
| | | $version = trim(exec($letsencrypt . ' --version 2>/dev/null')); |
| | | if(preg_match('/^(\S+)\s+(\d+(\.\d+)+)$/', $version, $matches)) { |
| | | $type = strtolower($matches[1]); |
| | | $version = $matches[2]; |
| | | if(($type != 'letsencrypt' && $type != 'certbot') || version_compare($version, '0.7.0', '<')) { |
| | | exec($letsencrypt . ' -n renew'); |
| | | $app->services->restartServiceDelayed('httpd', 'reload'); |
| | | } else { |
| | | $marker_file = '/usr/local/ispconfig/server/le.restart'; |
| | | $cmd = "echo '1' > " . $marker_file; |
| | | exec($letsencrypt . ' -n renew --post-hook ' . escapeshellarg($cmd)); |
| | | if(file_exists($marker_file) && trim(file_get_contents($marker_file)) == '1') { |
| | | unlink($marker_file); |
| | | $app->services->restartServiceDelayed('httpd', 'reload'); |
| | | } |
| | | } |
| | | } else { |
| | | exec($letsencrypt . ' -n renew'); |
| | | $app->services->restartServiceDelayed('httpd', 'reload'); |
| | | } |
| | | } |
| | | |
| | | parent::onRunJob(); |
| | |
| | | |
| | | if(!is_object($this->_iConnId) || mysqli_connect_error()) { |
| | | $this->_iConnId = null; |
| | | $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); |
| | | $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!', '', true); |
| | | return false; |
| | | } |
| | | if(!((bool)mysqli_query( $this->_iConnId, 'USE `' . $this->dbName . '`'))) { |
| | | $this->close(); |
| | | $this->_sqlerror('Datenbank nicht gefunden / Database not found'); |
| | | $this->_sqlerror('Datenbank nicht gefunden / Database not found', '', true); |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if($try > 9) { |
| | | $this->_sqlerror('DB::query -> reconnect'); |
| | | $this->_sqlerror('DB::query -> reconnect', '', true); |
| | | return false; |
| | | } else { |
| | | sleep(($try > 7 ? 5 : 1)); |
| | |
| | | * |
| | | * @access private |
| | | */ |
| | | private function _sqlerror($sErrormsg = 'Unbekannter Fehler', $sAddMsg = '') { |
| | | private function _sqlerror($sErrormsg = 'Unbekannter Fehler', $sAddMsg = '', $bNoLog = false) { |
| | | global $app, $conf; |
| | | |
| | | $mysql_error = (is_object($this->_iConnId) ? mysqli_error($this->_iConnId) : mysqli_connect_error()); |
| | |
| | | |
| | | if($this->show_error_messages && $conf['demo_mode'] === false) { |
| | | echo $sErrormsg . $sAddMsg; |
| | | } else if(is_object($app) && method_exists($app, 'log')) { |
| | | $app->log($sErrormsg . $sAddMsg . ' -> ' . $mysql_errno . ' (' . $mysql_error . ')', LOGLEVEL_WARN); |
| | | } |
| | | } elseif(is_object($app) && method_exists($app, 'log') && $bNoLog == false) { |
| | | $app->log($sErrormsg . $sAddMsg . ' -> ' . $mysql_errno . ' (' . $mysql_error . ')', LOGLEVEL_WARN); |
| | | } elseif(php_sapi_name() == 'cli') { |
| | | echo $sErrormsg . $sAddMsg; |
| | | } |
| | | } |
| | | |
| | | public function affectedRows() { |
| | |
| | | // This is the same code as in install/lib/install.lib.php |
| | | // So if you change it here, you also have to change it in there! |
| | | // Please do not forget to remove the swriteln(); - lines here at this file |
| | | public function get_distname() { |
| | | function get_distname() { |
| | | |
| | | $distname = ''; |
| | | $distver = ''; |
| | | $distid = ''; |
| | | $distbaseid = ''; |
| | | $distname = ''; |
| | | $distver = ''; |
| | | $distid = ''; |
| | | $distbaseid = ''; |
| | | |
| | | //** Debian or Ubuntu |
| | | if (file_exists('/etc/debian_version')) { |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) { |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) { |
| | | //** Debian or Ubuntu |
| | | if(file_exists('/etc/debian_version')) { |
| | | |
| | | // Check if this is Ubuntu and not Debian |
| | | if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu') || (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu'))) { |
| | | |
| | | $issue = file_get_contents('/etc/issue'); |
| | | |
| | | // Use content of /etc/issue file |
| | | if(strstr($issue,'Ubuntu')) { |
| | | if (strstr(trim($issue), 'LTS')) { |
| | | $lts=" LTS"; |
| | | } else { |
| | | $lts=""; |
| | | } |
| | | |
| | | $issue=file_get_contents('/etc/issue'); |
| | | $distname = 'Ubuntu'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | |
| | | $mainver = explode('.', $ver); |
| | | $mainver = array_filter($mainver); |
| | | $mainver = current($mainver).'.'.next($mainver); |
| | | switch ($mainver){ |
| | | case "16.04": |
| | | $relname = "(Xenial Xerus)"; |
| | | $distid = 'ubuntu1604'; |
| | | break; |
| | | case "15.10": |
| | | $relname = "(Wily Werewolf)"; |
| | | break; |
| | | case "15.04": |
| | | $relname = "(Vivid Vervet)"; |
| | | break; |
| | | case "14.10": |
| | | $relname = "(Utopic Unicorn)"; |
| | | break; |
| | | case "14.04": |
| | | $relname = "(Trusty Tahr)"; |
| | | break; |
| | | case "13.10": |
| | | $relname = "(Saucy Salamander)"; |
| | | break; |
| | | case "13.04": |
| | | $relname = "(Raring Ringtail)"; |
| | | break; |
| | | case "12.10": |
| | | $relname = "(Quantal Quetzal)"; |
| | | break; |
| | | case "12.04": |
| | | $relname = "(Precise Pangolin)"; |
| | | break; |
| | | case "11.10": |
| | | $relname = "(Oneiric Ocelot)"; |
| | | break; |
| | | case "11.14": |
| | | $relname = "(Natty Narwhal)"; |
| | | break; |
| | | case "10.10": |
| | | $relname = "(Maverick Meerkat)"; |
| | | break; |
| | | case "10.04": |
| | | $relname = "(Lucid Lynx)"; |
| | | break; |
| | | case "9.10": |
| | | $relname = "(Karmic Koala)"; |
| | | break; |
| | | case "9.04": |
| | | $relname = "(Jaunty Jackpole)"; |
| | | break; |
| | | case "8.10": |
| | | $relname = "(Intrepid Ibex)"; |
| | | break; |
| | | case "8.04": |
| | | $relname = "(Hardy Heron)"; |
| | | break; |
| | | case "7.10": |
| | | $relname = "(Gutsy Gibbon)"; |
| | | break; |
| | | case "7.04": |
| | | $relname = "(Feisty Fawn)"; |
| | | break; |
| | | case "6.10": |
| | | $relname = "(Edgy Eft)"; |
| | | break; |
| | | case "6.06": |
| | | $relname = "(Dapper Drake)"; |
| | | break; |
| | | case "5.10": |
| | | $relname = "(Breezy Badger)"; |
| | | break; |
| | | case "5.04": |
| | | $relname = "(Hoary Hedgehog)"; |
| | | break; |
| | | case "4.10": |
| | | $relname = "(Warty Warthog)"; |
| | | break; |
| | | default: |
| | | $relname = "UNKNOWN"; |
| | | // Use content of /etc/os-release file |
| | | } else { |
| | | $os_release = file_get_contents('/etc/os-release'); |
| | | if (strstr(trim($os_release), 'LTS')) { |
| | | $lts = " LTS"; |
| | | } else { |
| | | $lts = ""; |
| | | } |
| | | $distver = $ver.$lts." ".$relname; |
| | | } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') { |
| | | $distname = 'Debian'; |
| | | $distver = '4.0'; |
| | | |
| | | $distname = 'Ubuntu'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) { |
| | | $distname = 'Debian'; |
| | | $distver = 'Lenny'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Squeeze/Sid'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Wheezy/Sid'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Jessie'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } else { |
| | | $distname = 'Debian'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | |
| | | preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver); |
| | | $ver = str_replace("LTS", "", $ver[1]); |
| | | $ver = explode(" ", $ver, 2); |
| | | $ver = reset($ver); |
| | | $mainver = $ver; |
| | | } |
| | | } |
| | | |
| | | //** OpenSuSE |
| | | elseif (file_exists('/etc/SuSE-release')) { |
| | | if (stristr(file_get_contents('/etc/SuSE-release'), '11.0')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.0'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | } elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.1')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.1'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | } elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.2')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.1'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | } else { |
| | | $distname = 'openSUSE'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | switch ($mainver){ |
| | | case "16.04": |
| | | $relname = "(Xenial Xerus)"; |
| | | $distconfid = 'ubuntu1604'; |
| | | break; |
| | | case "15.10": |
| | | $relname = "(Wily Werewolf)"; |
| | | break; |
| | | case "15.04": |
| | | $relname = "(Vivid Vervet)"; |
| | | break; |
| | | case "14.10": |
| | | $relname = "(Utopic Unicorn)"; |
| | | break; |
| | | case "14.04": |
| | | $relname = "(Trusty Tahr)"; |
| | | break; |
| | | case "13.10": |
| | | $relname = "(Saucy Salamander)"; |
| | | break; |
| | | case "13.04": |
| | | $relname = "(Raring Ringtail)"; |
| | | break; |
| | | case "12.10": |
| | | $relname = "(Quantal Quetzal)"; |
| | | break; |
| | | case "12.04": |
| | | $relname = "(Precise Pangolin)"; |
| | | break; |
| | | case "11.10": |
| | | $relname = "(Oneiric Ocelot)"; |
| | | break; |
| | | case "11.14": |
| | | $relname = "(Natty Narwhal)"; |
| | | break; |
| | | case "10.10": |
| | | $relname = "(Maverick Meerkat)"; |
| | | break; |
| | | case "10.04": |
| | | $relname = "(Lucid Lynx)"; |
| | | break; |
| | | case "9.10": |
| | | $relname = "(Karmic Koala)"; |
| | | break; |
| | | case "9.04": |
| | | $relname = "(Jaunty Jackpole)"; |
| | | break; |
| | | case "8.10": |
| | | $relname = "(Intrepid Ibex)"; |
| | | break; |
| | | case "8.04": |
| | | $relname = "(Hardy Heron)"; |
| | | break; |
| | | case "7.10": |
| | | $relname = "(Gutsy Gibbon)"; |
| | | break; |
| | | case "7.04": |
| | | $relname = "(Feisty Fawn)"; |
| | | break; |
| | | case "6.10": |
| | | $relname = "(Edgy Eft)"; |
| | | break; |
| | | case "6.06": |
| | | $relname = "(Dapper Drake)"; |
| | | break; |
| | | case "5.10": |
| | | $relname = "(Breezy Badger)"; |
| | | break; |
| | | case "5.04": |
| | | $relname = "(Hoary Hedgehog)"; |
| | | break; |
| | | case "4.10": |
| | | $relname = "(Warty Warthog)"; |
| | | break; |
| | | default: |
| | | $relname = "UNKNOWN"; |
| | | } |
| | | } |
| | | |
| | | |
| | | //** Redhat |
| | | elseif (file_exists('/etc/redhat-release')) { |
| | | |
| | | $content = file_get_contents('/etc/redhat-release'); |
| | | |
| | | if (stristr($content, 'Fedora release 9 (Sulphur)')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '9'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif (stristr($content, 'Fedora release 10 (Cambridge)')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '10'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif (stristr($content, 'Fedora release 10')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '11'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif (stristr($content, 'CentOS release 5.2 (Final)')) { |
| | | $distname = 'CentOS'; |
| | | $distver = '5.2'; |
| | | $distid = 'centos52'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif (stristr($content, 'CentOS release 5.3 (Final)')) { |
| | | $distname = 'CentOS'; |
| | | $distver = '5.3'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS Linux release 6')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS Linux release 7')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } else { |
| | | $distname = 'Redhat'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } |
| | | } |
| | | |
| | | //** Gentoo |
| | | elseif (file_exists('/etc/gentoo-release')) { |
| | | |
| | | $content = file_get_contents('/etc/gentoo-release'); |
| | | |
| | | preg_match_all('/([0-9]{1,2})/', $content, $version); |
| | | $distname = 'Gentoo'; |
| | | $distver = $version[0][0] . $version[0][1]; |
| | | $distid = 'gentoo'; |
| | | $distbaseid = 'gentoo'; |
| | | $distver = $ver.$lts." ".$relname; |
| | | } elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') { |
| | | $distname = 'Debian'; |
| | | $distver = '4.0'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) { |
| | | $distname = 'Debian'; |
| | | $distver = 'Lenny'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Squeeze/Sid'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Wheezy/Sid'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') { |
| | | $distname = 'Debian'; |
| | | $distver = 'Jessie'; |
| | | $distid = 'debian60'; |
| | | $distbaseid = 'debian'; |
| | | } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) { |
| | | $distname = 'Debian'; |
| | | $distver = 'Testing'; |
| | | $distid = 'debian60'; |
| | | $distconfid = 'debiantesting'; |
| | | $distbaseid = 'debian'; |
| | | } else { |
| | | die('Unrecognized GNU/Linux distribution'); |
| | | $distname = 'Debian'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'debian40'; |
| | | $distbaseid = 'debian'; |
| | | } |
| | | } |
| | | |
| | | return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'baseid' => $distbaseid); |
| | | //** OpenSuSE |
| | | elseif(file_exists('/etc/SuSE-release')) { |
| | | if(stristr(file_get_contents('/etc/SuSE-release'), '11.0')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.0'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | } elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.1')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.1'; |
| | | $distid = 'opensuse110'; |
| | | $distbaseid = 'opensuse'; |
| | | } elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.2')) { |
| | | $distname = 'openSUSE'; |
| | | $distver = '11.2'; |
| | | $distid = 'opensuse112'; |
| | | $distbaseid = 'opensuse'; |
| | | } else { |
| | | $distname = 'openSUSE'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'opensuse112'; |
| | | $distbaseid = 'opensuse'; |
| | | } |
| | | } |
| | | |
| | | |
| | | //** Redhat |
| | | elseif(file_exists('/etc/redhat-release')) { |
| | | |
| | | $content = file_get_contents('/etc/redhat-release'); |
| | | |
| | | if(stristr($content, 'Fedora release 9 (Sulphur)')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '9'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'Fedora release 10 (Cambridge)')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '10'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'Fedora release 10')) { |
| | | $distname = 'Fedora'; |
| | | $distver = '11'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS release 5.2 (Final)')) { |
| | | $distname = 'CentOS'; |
| | | $distver = '5.2'; |
| | | $distid = 'centos52'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS release 5.3 (Final)')) { |
| | | $distname = 'CentOS'; |
| | | $distver = '5.3'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS release 5')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS Linux release 6')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos53'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS Linux release 7.2')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos70'; |
| | | $distconfid = 'centos72'; |
| | | $distbaseid = 'fedora'; |
| | | } elseif(stristr($content, 'CentOS Linux release 7')) { |
| | | $distname = 'CentOS'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'centos70'; |
| | | $distbaseid = 'fedora'; |
| | | } else { |
| | | $distname = 'Redhat'; |
| | | $distver = 'Unknown'; |
| | | $distid = 'fedora9'; |
| | | $distbaseid = 'fedora'; |
| | | } |
| | | } |
| | | |
| | | //** Gentoo |
| | | elseif(file_exists('/etc/gentoo-release')) { |
| | | |
| | | $content = file_get_contents('/etc/gentoo-release'); |
| | | |
| | | preg_match_all('/([0-9]{1,2})/', $content, $version); |
| | | $distname = 'Gentoo'; |
| | | $distver = $version[0][0].$version[0][1]; |
| | | $distid = 'gentoo'; |
| | | $distbaseid = 'gentoo'; |
| | | |
| | | } else { |
| | | die('Unrecognized GNU/Linux distribution'); |
| | | } |
| | | |
| | | // Set $distconfid to distid, if no different id for the config is defined |
| | | if(!isset($distconfid)) $distconfid = $distid; |
| | | |
| | | return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'confid' => $distconfid, 'baseid' => $distbaseid); |
| | | } |
| | | |
| | | // this function remains in the tools class, because it is used by cron AND rescue |
| | |
| | | |
| | | function mount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh'){ |
| | | global $app, $conf; |
| | | |
| | | |
| | | if($this->is_mounted($backup_dir)) return true; |
| | | |
| | | $mounted = true; |
| | | if ( is_file($mount_cmd) && |
| | | is_executable($mount_cmd) && |
| | |
| | | |
| | | } |
| | | |
| | | function getinitcommand($servicename, $action, $init_script_directory = ''){ |
| | | function _getinitcommand($servicename, $action, $init_script_directory = '', $check_service) { |
| | | global $conf; |
| | | // upstart |
| | | if(is_executable('/sbin/initctl')){ |
| | | exec('/sbin/initctl version 2>/dev/null | /bin/grep -q upstart', $retval['output'], $retval['retval']); |
| | | if(intval($retval['retval']) == 0) return 'service '.$servicename.' '.$action; |
| | | } |
| | | |
| | | // systemd |
| | | if(is_executable('/bin/systemd') || is_executable('/usr/bin/systemctl')){ |
| | | return 'systemctl '.$action.' '.$servicename.'.service'; |
| | | if ($check_service) { |
| | | exec("systemctl is-enabled ".$servicename." 2>&1", $out, $ret_val); |
| | | } |
| | | if ($ret_val == 0 || !$check_service) { |
| | | return 'systemctl '.$action.' '.$servicename.'.service'; |
| | | } |
| | | } |
| | | |
| | | // sysvinit |
| | | if($init_script_directory == '') $init_script_directory = $conf['init_scripts']; |
| | | if(substr($init_script_directory, -1) === '/') $init_script_directory = substr($init_script_directory, 0, -1); |
| | | return $init_script_directory.'/'.$servicename.' '.$action; |
| | | if($check_service && is_executable($init_script_directory.'/'.$servicename)) { |
| | | return $init_script_directory.'/'.$servicename.' '.$action; |
| | | } |
| | | if (!$check_service) { |
| | | return $init_script_directory.'/'.$servicename.' '.$action; |
| | | } |
| | | } |
| | | |
| | | |
| | | function getinitcommand($servicename, $action, $init_script_directory = '', $check_service=false) { |
| | | if (is_array($servicename)) { |
| | | foreach($servicename as $service) { |
| | | $out = $this->_getinitcommand($service, $action, $init_script_directory, true); |
| | | if ($out != '') return $out; |
| | | } |
| | | } else { |
| | | return $this->_getinitcommand($servicename, $action, $init_script_directory, $check_service); |
| | | } |
| | | } |
| | | |
| | | function getapacheversion($get_minor = false) { |
| | | global $app; |
| | | |
| | |
| | | // private variables |
| | | var $action = ''; |
| | | var $ssl_certificate_changed = false; |
| | | var $update_letsencrypt = false; |
| | | |
| | | //* This function is called during ispconfig installation to determine |
| | | // if a symlink shall be created for this plugin. |
| | |
| | | $data['new'] = $tmp; |
| | | $data['old'] = $tmp; |
| | | $this->action = 'update'; |
| | | $this->update_letsencrypt = true; |
| | | } |
| | | |
| | | // load the server configuration options |
| | |
| | | } |
| | | |
| | | // get the primitive folder for document_root and the filesystem, will need it later. |
| | | $df_output=exec("df -T $document_root|awk 'END{print \$2,\$NF}'"); |
| | | $file_system = explode(" ", $df_output)[0]; |
| | | $primitive_root = explode(" ", $df_output)[1]; |
| | | $df_output=explode(" ", exec("df -T " . escapeshellarg($data['new']['document_root']) . "|awk 'END{print \$2,\$NF}'")); |
| | | $file_system = $df_output[0]; |
| | | $primitive_root = $df_output[1]; |
| | | |
| | | if ( in_array($file_system , array('ext2','ext3','ext4'), true) ) { |
| | | exec('setquota -u '. $username . ' ' . $blocks_soft . ' ' . $blocks_hard . ' 0 0 -a &> /dev/null'); |
| | |
| | | ($data['old']['ssl'] == 'n' || $data['old']['ssl_letsencrypt'] == 'n') // we have new let's encrypt configuration |
| | | || ($data['old']['domain'] != $data['new']['domain']) // we have domain update |
| | | || ($data['old']['subdomain'] != $data['new']['subdomain']) // we have new or update on "auto" subdomain |
| | | || ($data['new']['type'] == 'subdomain') // we have new or update on subdomain |
| | | || ($data['old']['type'] == 'alias' || $data['new']['type'] == 'alias') // we have new or update on aliasdomain |
| | | || $this->update_letsencrypt == true |
| | | )) { |
| | | // default values |
| | | $temp_domains = array(); |
| | |
| | | if(is_array($aliasdomains)) { |
| | | foreach($aliasdomains as $aliasdomain) { |
| | | $temp_domains[] = $aliasdomain['domain']; |
| | | if(isset($aliasdomain['subdomain']) && ! empty($aliasdomain['subdomain'])) { |
| | | $temp_domains[] = $aliasdomain['subdomain'] . "." . $aliasdomain['domain']; |
| | | if(isset($aliasdomain['subdomain']) && ($aliasdomain['subdomain'] != "none")) { |
| | | $temp_domains[] = "www." . $aliasdomain['domain']; |
| | | } |
| | | } |
| | | } |
| | |
| | | $webroot = $data['new']['document_root']."/web"; |
| | | |
| | | //* check if we have already a Let's Encrypt cert |
| | | if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { |
| | | //if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { |
| | | // we must not skip if cert exists, otherwise changed domains (alias or sub) won't make it to the cert |
| | | $app->log("Create Let's Encrypt SSL Cert for: $domain", LOGLEVEL_DEBUG); |
| | | |
| | | $success = false; |
| | | if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) { |
| | | $success = $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path /usr/local/ispconfig/interface/acme"); |
| | | $letsencrypt = explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt')); |
| | | $letsencrypt = reset($letsencrypt); |
| | | if(is_executable($letsencrypt)) { |
| | | $success = $this->_exec($letsencrypt . " certonly -n --text --agree-tos --expand --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path /usr/local/ispconfig/interface/acme"); |
| | | } |
| | | if(!$success) { |
| | | // error issuing cert |
| | |
| | | /* Update also the master-DB of the Server-Farm */ |
| | | $app->dbmaster->query("UPDATE web_domain SET `ssl` = ?, `ssl_letsencrypt` = ? WHERE `domain` = ?", $data['new']['ssl'], 'n', $data['new']['domain']); |
| | | } |
| | | } |
| | | //} |
| | | |
| | | //* check is been correctly created |
| | | if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) { |
| | |
| | | |
| | | if (count($rewrite_wildcard_rules) > 0) $rewrite_rules = array_merge($rewrite_rules, $rewrite_wildcard_rules); // Append wildcard rules to the end of rules |
| | | |
| | | if(count($rewrite_rules) > 0 || $vhost_data['seo_redirect_enabled'] > 0 || count($alias_seo_redirects) > 0) { |
| | | if(count($rewrite_rules) > 0 || $vhost_data['seo_redirect_enabled'] > 0 || count($alias_seo_redirects) > 0 || $data['new']['rewrite_to_https'] == 'y') { |
| | | $tpl->setVar('rewrite_enabled', 1); |
| | | } else { |
| | | $tpl->setVar('rewrite_enabled', 0); |
| | |
| | | //exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); |
| | | exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); |
| | | } |
| | | |
| | | // remove letsencrypt if it exists (renew will always fail otherwise) |
| | | |
| | | $domain = $data['old']['ssl_domain']; |
| | | if(!$domain) $domain = $data['old']['domain']; |
| | | if(substr($domain, 0, 2) === '*.') { |
| | | // wildcard domain not yet supported by letsencrypt! |
| | | $domain = substr($domain, 2); |
| | | } |
| | | //$crt_tmp_file = "/etc/letsencrypt/live/".$domain."/cert.pem"; |
| | | //$key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem"; |
| | | $le_conf_file = '/etc/letsencrypt/renewal/' . $domain . '.conf'; |
| | | @rename('/etc/letsencrypt/renewal/' . $domain . '.conf', '/etc/letsencrypt/renewal/' . $domain . '.conf~backup'); |
| | | } |
| | | |
| | | //* remove mountpoint from fstab |
| | |
| | | $data['new'] = $tmp; |
| | | $data['old'] = $tmp; |
| | | $this->action = 'update'; |
| | | $this->update_letsencrypt = true; |
| | | // just run the update function |
| | | $this->update($event_name, $data); |
| | | |
| | |
| | | $tpl->setVar('fpm_pool', $pool_name); |
| | | $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1); |
| | | $tpl->setVar('fpm_user', $data['new']['system_user']); |
| | | $tpl->setVar('fpm_group', $data['new']['system_group']); |
| | | $tpl->setVar('fpm_group', $web_config['group']); |
| | | $tpl->setVar('fpm_domain', $data['new']['domain']); |
| | | $tpl->setVar('pm', $data['new']['pm']); |
| | | $tpl->setVar('pm_max_children', $data['new']['pm_max_children']); |
| | |
| | | if(file_exists($backup_dir.'/'.$backup['filename']) && file_exists($web['document_root'].'/backup/') && !stristr($backup_dir.'/'.$backup['filename'], '..') && !stristr($backup_dir.'/'.$backup['filename'], 'etc')) { |
| | | copy($backup_dir.'/'.$backup['filename'], $web['document_root'].'/backup/'.$backup['filename']); |
| | | chgrp($web['document_root'].'/backup/'.$backup['filename'], $web['system_group']); |
| | | chmod($web['document_root'].'/backup/'.$backup['filename'],0600); |
| | | $app->log('cp '.$backup_dir.'/'.$backup['filename'].' '.$web['document_root'].'/backup/'.$backup['filename'], LOGLEVEL_DEBUG); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // get the primitive folder for document_root and the filesystem, will need it later. |
| | | $df_output=exec("df -T $document_root|awk 'END{print \$2,\$NF}'"); |
| | | $file_system = explode(" ", $df_output)[0]; |
| | | $primitive_root = explode(" ", $df_output)[1]; |
| | | $df_output=explode(" ", exec("df -T " . escapeshellarg($parent_domain["document_root"]) . "|awk 'END{print \$2,\$NF}'")); |
| | | $file_system = $df_output[0]; |
| | | $primitive_root = $df_output[1]; |
| | | |
| | | if ( in_array($file_system , array('ext2','ext3','ext4'),true) ) { |
| | | exec('setquota -u '. $username . ' ' . $blocks_soft . ' ' . $blocks_hard . ' 0 0 -a &> /dev/null'); |
| | |
| | | } |
| | | |
| | | //* Send the welcome email message |
| | | $domain = explode('@', $data["new"]["email"])[1]; |
| | | $tmp = explode('@', $data["new"]["email"]); |
| | | $domain = $tmp[1]; |
| | | unset($tmp); |
| | | $html = false; |
| | | if(file_exists($conf['rootpath'].'/conf-custom/mail/welcome_email_'.$domain.'.html')) { |
| | | $lines = file($conf['rootpath'].'/conf-custom/mail/welcome_email_'.$domain.'.html'); |
| | |
| | | if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $mount_backup = false; |
| | | if($mount_backup){ |
| | | $sql = "SELECT * FROM mail_domain WHERE domain = ?"; |
| | | $domain_rec = $app->db->queryOneRecord($sql, explode("@",$data['old']['email'])[1]); |
| | | $tmp = explode("@",$data['old']['email']); |
| | | $domain_rec = $app->db->queryOneRecord($sql,$tmp[1]); |
| | | unset($tmp); |
| | | if (is_array($domain_rec)) { |
| | | $mail_backup_dir = $backup_dir.'/mail'.$domain_rec['domain_id']; |
| | | $mail_backup_files = 'mail'.$data['old']['mailuser_id']; |
| | |
| | | * This function restarts amavis |
| | | */ |
| | | function restart_amavis() { |
| | | global $app, $conf; |
| | | $pos_init=array( |
| | | $conf['init_scripts'].'/amavis', |
| | | $conf['init_scripts'].'/amavisd' |
| | | ); |
| | | $initfile=''; |
| | | foreach($pos_init as $init) { |
| | | if (is_executable($init)) { |
| | | $initfile=$init; |
| | | break; |
| | | } |
| | | } |
| | | if ( $initfile == '' ) $initfile = 'service amavis'; |
| | | $app->log('Restarting amavis: '.$initfile.'.', LOGLEVEL_DEBUG); |
| | | exec(escapeshellarg($initfile).' restart', $output); |
| | | foreach($output as $logline) $app->log($logline, LOGLEVEL_DEBUG); |
| | | global $app; |
| | | $initcommand = $app->system->getinitcommand(array('amavis', 'amavisd'), 'restart'); |
| | | $app->log('Restarting amavis: '.$initcommand.'.', LOGLEVEL_DEBUG); |
| | | exec($initcommand, $output); |
| | | foreach($output as $logline) $app->log($logline, LOGLEVEL_DEBUG); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | // Custom filters |
| | | if($data["new"]["custom_mailfilter"] == 'NULL') $data["new"]["custom_mailfilter"] = ''; |
| | | $tpl->setVar('custom_mailfilter', $data["new"]["custom_mailfilter"]); |
| | | $tpl->setVar('custom_mailfilter', str_replace("\r\n","\n",$data["new"]["custom_mailfilter"])); |
| | | |
| | | // Move junk |
| | | $tpl->setVar('move_junk', $data["new"]["move_junk"]); |
| | |
| | | $mailfilter_content .= file_get_contents($conf["rootpath"].'/conf/mailfilter_move_junk.master')."\n"; |
| | | } |
| | | } |
| | | $mailfilter_content .= $data["new"]["custom_mailfilter"]; |
| | | $mailfilter_content .= str_replace("\r\n","\n",$data["new"]["custom_mailfilter"]); |
| | | |
| | | // Replace windows linebreaks in mailfilter file |
| | | $mailfilter_content = str_replace("\r\n", "\n", $mailfilter_content); |
| | |
| | | // private variables |
| | | var $action = ''; |
| | | var $ssl_certificate_changed = false; |
| | | var $update_letsencrypt = false; |
| | | |
| | | //* This function is called during ispconfig installation to determine |
| | | // if a symlink shall be created for this plugin. |
| | |
| | | $data['new'] = $tmp; |
| | | $data['old'] = $tmp; |
| | | $this->action = 'update'; |
| | | $this->update_letsencrypt = true; |
| | | } |
| | | |
| | | // load the server configuration options |
| | |
| | | } |
| | | |
| | | // get the primitive folder for document_root and the filesystem, will need it later. |
| | | $df_output=exec("df -T $document_root|awk 'END{print \$2,\$NF}'"); |
| | | $file_system = explode(" ", $df_output)[0]; |
| | | $primitive_root = explode(" ", $df_output)[1]; |
| | | $df_output=explode(" ", exec("df -T $document_root|awk 'END{print \$2,\$NF}'")); |
| | | $file_system = $df_output[0]; |
| | | $primitive_root = $df_output[1]; |
| | | |
| | | if ( in_array($file_system , array('ext2','ext3','ext4'), true) ) { |
| | | exec('setquota -u '. $username . ' ' . $blocks_soft . ' ' . $blocks_hard . ' 0 0 -a &> /dev/null'); |
| | |
| | | $tpl->newTemplate('nginx_vhost.conf.master'); |
| | | |
| | | // IPv4 |
| | | if($data['new']['ip_address'] == '') $data['new']['ip_address'] = '*'; |
| | | |
| | | //* use ip-mapping for web-mirror |
| | | if($data['new']['ip_address'] != '*' && $conf['mirror_server_id'] > 0) { |
| | |
| | | ($data['old']['ssl'] == 'n' || $data['old']['ssl_letsencrypt'] == 'n') // we have new let's encrypt configuration |
| | | || ($data['old']['domain'] != $data['new']['domain']) // we have domain update |
| | | || ($data['old']['subdomain'] != $data['new']['subdomain']) // we have new or update on "auto" subdomain |
| | | || ($data['new']['type'] == 'subdomain') // we have new or update on subdomain |
| | | || ($data['old']['type'] == 'alias' || $data['new']['type'] == 'alias') // we have new or update on alias domain |
| | | || $this->update_letsencrypt == true |
| | | )) { |
| | | // default values |
| | | $temp_domains = array(); |
| | |
| | | if(is_array($aliasdomains)) { |
| | | foreach($aliasdomains as $aliasdomain) { |
| | | $temp_domains[] = $aliasdomain['domain']; |
| | | if(isset($aliasdomain['subdomain']) && ! empty($aliasdomain['subdomain'])) { |
| | | $temp_domains[] = $aliasdomain['subdomain'] . "." . $aliasdomain['domain']; |
| | | if(isset($aliasdomain['subdomain']) && ($aliasdomain['subdomain'] != "none")) { |
| | | $temp_domains[] = "www." . $aliasdomain['domain']; |
| | | } |
| | | |
| | | foreach($sub_prefixes as $s) { |
| | |
| | | $webroot = $data['new']['document_root']."/web"; |
| | | |
| | | //* check if we have already a Let's Encrypt cert |
| | | if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { |
| | | //if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { |
| | | // we must not skip if cert exists, otherwise changed domains (alias or sub) won't make it to the cert |
| | | $app->log("Create Let's Encrypt SSL Cert for: $domain", LOGLEVEL_DEBUG); |
| | | |
| | | $success = false; |
| | | if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) { |
| | | $success = $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path /usr/local/ispconfig/interface/acme"); |
| | | $letsencrypt = explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt')); |
| | | $letsencrypt = reset($letsencrypt); |
| | | if(is_executable($letsencrypt)) { |
| | | $success = $this->_exec($letsencrypt . " certonly -n --text --agree-tos --expand --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path /usr/local/ispconfig/interface/acme"); |
| | | } |
| | | if(!$success) { |
| | | // error issuing cert |
| | |
| | | /* Update also the master-DB of the Server-Farm */ |
| | | $app->dbmaster->query("UPDATE web_domain SET `ssl` = ?, `ssl_letsencrypt` = ? WHERE `domain` = ?", $data['new']['ssl'], 'n', $data['new']['domain']); |
| | | } |
| | | } |
| | | //} |
| | | |
| | | //* check is been correctly created |
| | | if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) { |
| | |
| | | //exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); |
| | | exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); |
| | | } |
| | | |
| | | // remove letsencrypt if it exists (renew will always fail otherwise) |
| | | $domain = $data['old']['ssl_domain']; |
| | | if(!$domain) $domain = $data['old']['domain']; |
| | | if(substr($domain, 0, 2) === '*.') { |
| | | // wildcard domain not yet supported by letsencrypt! |
| | | $domain = substr($domain, 2); |
| | | } |
| | | //$crt_tmp_file = "/etc/letsencrypt/live/".$domain."/cert.pem"; |
| | | //$key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem"; |
| | | $le_conf_file = '/etc/letsencrypt/renewal/' . $domain . '.conf'; |
| | | @rename('/etc/letsencrypt/renewal/' . $domain . '.conf', '/etc/letsencrypt/renewal/' . $domain . '.conf~backup'); |
| | | } |
| | | |
| | | //* remove mountpoint from fstab |
| | |
| | | $data['new'] = $tmp; |
| | | $data['old'] = $tmp; |
| | | $this->action = 'update'; |
| | | $this->update_letsencrypt = true; |
| | | // just run the update function |
| | | $this->update($event_name, $data); |
| | | |
| | |
| | | $tpl->setVar('fpm_pool', $pool_name); |
| | | $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1); |
| | | $tpl->setVar('fpm_user', $data['new']['system_user']); |
| | | $tpl->setVar('fpm_group', $data['new']['system_group']); |
| | | $tpl->setVar('fpm_group', $web_config['group']); |
| | | $tpl->setVar('pm', $data['new']['pm']); |
| | | $tpl->setVar('pm_max_children', $data['new']['pm_max_children']); |
| | | $tpl->setVar('pm_start_servers', $data['new']['pm_start_servers']); |
| | |
| | | //exec('rm -rf '.$data['old']['dir'].$jailkit_chroot_userhome); |
| | | |
| | | $app->system->web_folder_protection($web['document_root'], false); |
| | | |
| | | $userid = intval($app->system->getuid($data['old']['username'])); |
| | | $command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; '; |
| | | $command .= 'userdel -f '.escapeshellcmd($data['old']['username']).' &> /dev/null'; |
| | | exec($command); |
| | | |
| | | // Remove the jailed user from passwd and shadow file inside the jail |
| | | $app->system->removeLine($data['old']['dir'].'/etc/passwd', $data['old']['username']); |
| | | $app->system->removeLine($data['old']['dir'].'/etc/shadow', $data['old']['username']); |
| | | |
| | | if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) { |
| | | $userid = intval($app->system->getuid($data['old']['username'])); |
| | | $command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f'; |
| | | $command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null'; |
| | | exec($command); |
| | | |
| | | $this->_delete_homedir($data['old']['dir'].$jailkit_chroot_userhome,$userid,$data['old']['parent_domain_id']); |
| | | |
| | | $app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome, LOGLEVEL_DEBUG); |
| | |
| | | fi |
| | | chmod a+rwx $CHROOT_HOMEDIR/tmp |
| | | |
| | | ## Fix permissions of the root firectory |
| | | chmod g-w $CHROOT_HOMEDIR/bin |
| | | |
| | | |
| | | # mysql needs the socket in the chrooted environment |
| | | mkdir $CHROOT_HOMEDIR/var |
| | |
| | | |
| | | define('SCRIPT_PATH', dirname($_SERVER["SCRIPT_FILENAME"])); |
| | | require SCRIPT_PATH."/lib/config.inc.php"; |
| | | |
| | | // Check whether another instance of this script is already running |
| | | if (is_file($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock')) { |
| | | clearstatcache(); |
| | | $pid = trim(file_get_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock')); |
| | | if(preg_match('/^[0-9]+$/', $pid)) { |
| | | if(file_exists('/proc/' . $pid)) { |
| | | print @date('d.m.Y-H:i').' - WARNING - There is already an instance of server.php running with pid ' . $pid . '.' . "\n"; |
| | | exit; |
| | | } |
| | | } |
| | | print @date('d.m.Y-H:i').' - WARNING - There is already a lockfile set, but no process running with this pid (' . $pid . '). Continuing.' . "\n"; |
| | | } |
| | | |
| | | // Set Lockfile |
| | | @file_put_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock', getmypid()); |
| | | |
| | | if($conf['log_priority'] <= LOGLEVEL_DEBUG) print 'Set Lock: ' . $conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock' . "\n"; |
| | | |
| | | require SCRIPT_PATH."/lib/app.inc.php"; |
| | | |
| | | $app->setCaller('server'); |
| | |
| | | // we do not need this variable anymore |
| | | unset($tmp); |
| | | } |
| | | |
| | | |
| | | // Check whether another instance of this script is already running |
| | | if (is_file($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock')) { |
| | | clearstatcache(); |
| | | $pid = trim(file_get_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock')); |
| | | if(preg_match('/^[0-9]+$/', $pid)) { |
| | | if(file_exists('/proc/' . $pid)) { |
| | | $app->log('There is already an instance of server.php running with pid ' . $pid . '.', LOGLEVEL_DEBUG); |
| | | exit; |
| | | } |
| | | } |
| | | $app->log('There is already a lockfile set, but no process running with this pid (' . $pid . '). Continuing.', LOGLEVEL_WARN); |
| | | } |
| | | |
| | | // Set Lockfile |
| | | @file_put_contents($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock', getmypid()); |
| | | $app->log('Set Lock: ' . $conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock', LOGLEVEL_DEBUG); |
| | | |
| | | /** Do we need to start the core-modules */ |
| | | |