Commit edf806b9 authored by tbrehm's avatar tbrehm
Browse files

Merged revisions 2741-2788 from SVN stable branch.

parent ecf891ab
......@@ -58,7 +58,7 @@
### END INIT INFO
REALSCRIPT=/sbin/bastille-ipchains
REALSCRIPT=/sbin/bastille-netfilter
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# exit function to be called in place of regular Bourne exit
......@@ -78,13 +78,6 @@ if [ $? -ne 0 ]; then
exit 1
fi
if [ -n "$(uname -r | awk -F. ' $1 == 2 && $2 > 2 {print}')" ]; then
# We are using Linux 2.3 or newer; use the netfilter script if available
if [ -x /sbin/bastille-netfilter ]; then
REALSCRIPT=/sbin/bastille-netfilter
fi
fi
if [ ! -x ${REALSCRIPT} ]; then
echo "ERROR: \"${REALSCRIPT}\" not available!"
clean_exit 1
......
......@@ -144,6 +144,11 @@ if( empty($conf["mysql"]["admin_password"]) ) {
die("internal error - MYSQL-Root passord not known");
}
//** Test mysql root connection
if(!@mysql_connect($conf["mysql"]["host"],$conf["mysql"]["admin_user"],$conf["mysql"]["admin_password"])) {
die("internal error - MYSQL-Root passord wrong");
}
/*
* Check all tables
*/
......@@ -156,7 +161,6 @@ prepareDBDump();
//* initialize the database
$inst->db = new db();
$inst->db->dbName = $conf["mysql"]["database"];
/*
* The next line is a bit tricky!
......
......@@ -1029,6 +1029,11 @@ class installer_dist extends installer_base {
// Edit the file Edit the file /etc/sudoers and comment out the requiregetty line, otherwise the backup function will fail
replaceLine('/etc/sudoers','Defaults requiretty','#Defaults requiretty',0,0);
if(is_file($install_dir.'/interface/invoices')) {
chmod($install_dir.'/interface/invoices', 0770);
chown($install_dir.'/interface/invoices', 'ispconfig');
chgrp($install_dir.'/interface/invoices', 'ispconfig');
}
}
......
......@@ -866,6 +866,12 @@ class installer extends installer_base
chgrp($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
}
if(is_file($install_dir.'/interface/invoices')) {
chmod($install_dir.'/interface/invoices', 0770);
chown($install_dir.'/interface/invoices', 'ispconfig');
chgrp($install_dir.'/interface/invoices', 'ispconfig');
}
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
// Later this must run as own apache server or via suexec!
......
......@@ -1060,6 +1060,12 @@ class installer_dist extends installer_base {
exec('chmod 744 /usr/local/bin/run-getmail.sh');
}
if(is_file($install_dir.'/interface/invoices')) {
chmod($install_dir.'/interface/invoices', 0770);
chown($install_dir.'/interface/invoices', 'ispconfig');
chgrp($install_dir.'/interface/invoices', 'ispconfig');
}
}
......
......@@ -582,8 +582,8 @@ function removeLine($filename,$search_pattern,$strict = 0) {
}
function is_installed($appname) {
exec('which '.escapeshellcmd($appname).' 2> /dev/null',$out);
if(isset($out[0]) && stristr($out[0],$appname)) {
exec('which '.escapeshellcmd($appname).' 2> /dev/null',$out,$returncode);
if(isset($out[0]) && stristr($out[0],$appname) && $returncode == 0) {
return true;
} else {
return false;
......
......@@ -514,6 +514,10 @@ class installer_base {
copy('tpl/'.$jk_init.'.master', $config_dir.'/'.$jk_init);
copy('tpl/'.$jk_chrootsh.'.master', $config_dir.'/'.$jk_chrootsh);
}
//* help jailkit fo find its ini files
if(!is_link('/usr/jk_socketd.ini')) exec('ln -s /etc/jailkit/jk_socketd.ini /usr/jk_socketd.ini');
if(!is_link('/usr/jk_init.ini')) exec('ln -s /etc/jailkit/jk_init.ini /usr/jk_init.ini');
}
......@@ -903,7 +907,7 @@ class installer_base {
if(is_file($config_dir.'/'.$configfile)) {
copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~');
}
chmod($config_dir.'/'.$configfile.'~', 0400);
if(is_file($config_dir.'/'.$configfile.'~')) chmod($config_dir.'/'.$configfile.'~', 0400);
$content = rf('tpl/debian_dovecot-sql.conf.master');
$content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
$content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
......@@ -1758,6 +1762,12 @@ class installer_base {
chown($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
chgrp($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
}
if(is_file($install_dir.'/interface/invoices')) {
chmod($install_dir.'/interface/invoices', 0770);
chown($install_dir.'/interface/invoices', 'ispconfig');
chgrp($install_dir.'/interface/invoices', 'ispconfig');
}
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
......@@ -1952,7 +1962,7 @@ class installer_base {
wf($install_dir.'/server/lib/mysql_clientdb.conf',$content);
chmod($install_dir.'/server/lib/mysql_clientdb.conf', 0600);
chown($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
chgrp($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
chgrp($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
}
......
......@@ -113,7 +113,7 @@ function updateDbAndIni() {
$ini_array = ini_to_array(stripslashes($tmp['config']));
$current_db_version = (isset($tmp['dbversion']))?intval($tmp['dbversion']):0;
if(count($ini_array) == 0) die('Unable to read server configuration from database.');
if(!is_array($ini_array) or count($ini_array) == 0) die('Unable to read server configuration from database.');
$conf['services']['mail'] = ($tmp['mail_server'] == 1)?true:false;
$conf['services']['web'] = ($tmp['web_server'] == 1)?true:false;
......@@ -231,7 +231,7 @@ function updateDbAndIni() {
//** Update server ini
$tmp_server_rec = $inst->db->queryOneRecord("SELECT config FROM server WHERE server_id = ".$conf['server_id']);
$tmp_server_rec = $inst->db->queryOneRecord("SELECT config FROM ".$conf["mysql"]["database"].".server WHERE server_id = ".$conf['server_id']);
$old_ini_array = ini_to_array(stripslashes($tmp_server_rec['config']));
unset($tmp_server_rec);
$tpl_ini_array = ini_to_array(rf('tpl/server.ini.master'));
......@@ -286,7 +286,7 @@ function updateDbAndIni() {
}
$new_ini = array_to_ini($tpl_ini_array);
$sql = "UPDATE server SET config = '".mysql_real_escape_string($new_ini)."' WHERE server_id = ".$conf['server_id'];
$sql = "UPDATE ".$conf["mysql"]["database"].".server SET config = '".mysql_real_escape_string($new_ini)."' WHERE server_id = ".$conf['server_id'];
$inst->db->query($sql);
unset($old_ini_array);
unset($tpl_ini_array);
......@@ -294,7 +294,7 @@ function updateDbAndIni() {
//** Update system ini
$tmp_server_rec = $inst->db->queryOneRecord("SELECT config FROM sys_ini WHERE sysini_id = 1");
$tmp_server_rec = $inst->db->queryOneRecord("SELECT config FROM ".$conf["mysql"]["database"].".sys_ini WHERE sysini_id = 1");
$old_ini_array = ini_to_array(stripslashes($tmp_server_rec['config']));
unset($tmp_server_rec);
$tpl_ini_array = ini_to_array(rf('tpl/system.ini.master'));
......@@ -309,11 +309,11 @@ function updateDbAndIni() {
}
$new_ini = array_to_ini($tpl_ini_array);
$tmp = $inst->db->queryOneRecord('SELECT count(sysini_id) as number FROM sys_ini WHERE 1');
$tmp = $inst->db->queryOneRecord('SELECT count(sysini_id) as number FROM '.$conf["mysql"]["database"].'.sys_ini WHERE 1');
if($tmp['number'] == 0) {
$inst->db->query("INSERT INTO sys_ini (sysini_id, config) VALUES (1,'".mysql_real_escape_string($new_ini)."')");
$inst->db->query("INSERT INTO ".$conf["mysql"]["database"].".sys_ini (sysini_id, config) VALUES (1,'".mysql_real_escape_string($new_ini)."')");
} else {
$inst->db->query("UPDATE sys_ini SET config = '".mysql_real_escape_string($new_ini)."' WHERE sysini_id = 1");
$inst->db->query("UPDATE ".$conf["mysql"]["database"].".sys_ini SET config = '".mysql_real_escape_string($new_ini)."' WHERE sysini_id = 1");
}
unset($old_ini_array);
unset($tpl_ini_array);
......
......@@ -1919,6 +1919,6 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
-- Dumping data for table `sys_config`
--
INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4');
INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4.1');
SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
......@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
//** Application
define('ISPC_APP_TITLE', 'ISPConfig');
define('ISPC_APP_VERSION', '3.0.4');
define('ISPC_APP_VERSION', '3.0.4.1');
define('DEVSYSTEM', 0);
......
......@@ -13,20 +13,6 @@ driver = mysql
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user \
WHERE login = '%u' AND disable%Ls = 'n'
# Old user query quota part
# CONCAT('*:storage=', quota , 'B') AS quota_rule
# Old user query with email instead of login
# WHERE email = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, \
maildir as home, \
CONCAT('maildir:', maildir, '/Maildir') as mail, \
uid, \
gid, \
CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, \
CONCAT(maildir, '/.sieve') as sieve \
FROM mail_user \
WHERE email = '%u' AND disable%Ls = 'n'
password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
# user_query = SELECT email AS user, maildir AS home, CONCAT('*:storage=', quota , 'B') AS quota_rule FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
......@@ -122,6 +122,6 @@ default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
# user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
......@@ -135,4 +135,4 @@ default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
# user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
......@@ -134,5 +134,4 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
# user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', floor(quota/1024), 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
......@@ -139,11 +139,17 @@ $clientdb_host = '';
$clientdb_user = '';
$clientdb_password = '';
//** Ask user for mysql admin_password if empty
if( empty($conf["mysql"]["admin_password"]) ) {
$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
}
//** Test mysql root connection
$finished = false;
do {
if(@mysql_connect($conf["mysql"]["host"],$conf["mysql"]["admin_user"],$conf["mysql"]["admin_password"])) {
$finished = true;
} else {
swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
}
} while ($finished == false);
unset($finished);
/*
* Prepare the dump of the database
......@@ -152,7 +158,6 @@ prepareDBDump();
//* initialize the database
$inst->db = new db();
$inst->db->dbName = $conf["mysql"]["database"];
//* initialize the master DB, if we have a multiserver setup
if($conf['mysql']['master_slave_setup'] == 'y') {
......
......@@ -282,7 +282,7 @@ class listform {
public function decode($record)
{
global $conf, $app;
if(is_array($record) && count($record) > 0) {
if(is_array($record) && count($record) > 0 && is_array($this->listDef['item'])) {
foreach($this->listDef['item'] as $field){
$key = $field['field'];
if(isset($record[$key])) {
......
......@@ -1372,6 +1372,13 @@ class remoting {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
if($params['pm_start_servers'] == '') $params['pm_start_servers'] = 1;
if($params['pm_min_spare_servers'] == '') $params['pm_min_spare_servers'] = 1;
if($params['pm_max_spare_servers'] == '') $params['pm_max_spare_servers'] = 1;
$affected_rows = $this->updateQuery('../sites/form/web_domain.tform.php',$client_id,$primary_id,$params);
return $affected_rows;
}
......
<?php
$wb['conf_format_dateshort'] = 'Y-m-d';
$wb['conf_format_datelong'] = 'l dS από F Y';
$wb['conf_format_timeshort'] = 'H:i';
$wb['conf_format_timelong'] = 'H:i:s';
$wb['conf_format_datetime'] = 'Y-m-d H:i';
$wb['error_301'] = 'Απογόρευση χρήσης του αρθρώματος στον τρέχων χρήστη';
$wb['error_302'] = 'Το άρθρωμα δεν είναι έγκυρο';
$wb['error_1001'] = 'Το όνομα χρήστη και ο κωδικός δεν επιτρέπεται να είναι κενά!';
$wb['error_1002'] = 'Το όνομα χρήστη και ο κωδικός δεν είναι σωστά!';
$wb['error_1003'] = 'Το όνομα χρήστη είναι απενεργοποιημένο!';
$wb['delete_confirmation'] = 'Είστε σίγουροι ότι θέλετε να διαγράψετε την εγγραφή;';
$wb['error_no_view_permission'] = 'Δεν έχετε τα απαραίτητα δικαιώματα για να δείτε την εγγραφή ή η εγγραφή δεν υπάρχει!';
$wb['error_no_delete_permission'] = 'Δεν έχετε τα απαραίτητα δικαιώματα για να διαγράψετε την εγγραφή !';
$wb['page_txt'] = 'Σελίδα';
$wb['page_of_txt'] = 'από';
$wb['page_and_txt'] = 'και';
$wb['page_next_txt'] = 'Επόμενη';
$wb['page_back_txt'] = 'Επιστροφή';
$wb['delete_txt'] = 'Διαγραφή';
$wb['filter_txt'] = 'Φίλτρο';
$wb['add_new_record_txt'] = 'Νέα εγγραφής';
$wb['btn_save_txt'] = 'Αποθήκευση';
$wb['btn_cancel_txt'] = 'Επιστροφή';
$wb['top_menu_system'] = 'Σύστημα';
$wb['top_menu_client'] = 'Πελάτης';
$wb['top_menu_email'] = 'Email';
$wb['top_menu_monitor'] = 'Εποπτεία';
$wb['top_menu_sites'] = 'Sites';
$wb['top_menu_dns'] = 'DNS';
$wb['top_menu_tools'] = 'Εργαλεία';
$wb['top_menu_help'] = 'Βοήθεια';
$wb['top_menu_billing'] = 'Χρεώσεις';
$wb['top_menu_domain'] = 'Domains';
$wb['top_menu_dashboard'] = 'Αρχική';
$wb['toolsarea_head_txt'] = 'Εργαλεία';
$wb['latest_news_txt'] = 'Τελευταία Νέα';
$wb['number_format_decimals'] = '2';
$wb['number_format_dec_point'] = '.';
$wb['number_format_thousands_sep'] = '';
$wb['top_menu_vm'] = 'VServer';
$wb['datepicker_nextText'] = 'Next';
$wb['datepicker_prevText'] = 'Prev';
$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['monthnamesshort_jan'] = 'Jan';
$wb['monthnamesshort_feb'] = 'Feb';
$wb['monthnamesshort_mar'] = 'Mar';
$wb['monthnamesshort_apr'] = 'Apr';
$wb['monthnamesshort_may'] = 'May';
$wb['monthnamesshort_jun'] = 'Jun';
$wb['monthnamesshort_jul'] = 'Jul';
$wb['monthnamesshort_aug'] = 'Aug';
$wb['monthnamesshort_sep'] = 'Sep';
$wb['monthnamesshort_oct'] = 'Oct';
$wb['monthnamesshort_nov'] = 'Nov';
$wb['monthnamesshort_dec'] = 'Dec';
$wb['conf_format_dateshort'] = "Y-m-d";
$wb['conf_format_datelong'] = "l dS από F Y";
$wb['conf_format_timeshort'] = "H:i";
$wb['conf_format_timelong'] = "H:i:s";
$wb['conf_format_datetime'] = "Y-m-d H:i";
$wb['error_301'] = "Απογόρευση χρήσης του αρθρώματος στον τρέχων χρήστη";
$wb['error_302'] = "Το άρθρωμα δεν είναι έγκυρο";
$wb['error_1001'] = "Το όνομα χρήστη και ο κωδικός δεν επιτρέπεται να είναι κενά!";
$wb['error_1002'] = "Το όνομα χρήστη και ο κωδικός δεν είναι σωστά!";
$wb['error_1003'] = "Το όνομα χρήστη είναι απενεργοποιημένο!";
$wb['delete_confirmation'] = "Είστε σίγουροι ότι θέλετε να διαγράψετε την εγγραφή;";
$wb['error_no_view_permission'] = "Δεν έχετε τα απαραίτητα δικαιώματα για να δείτε την εγγραφή ή η εγγραφή δεν υπάρχει!";
$wb['error_no_delete_permission'] = "Δεν έχετε τα απαραίτητα δικαιώματα για να διαγράψετε την εγγραφή !";
$wb['page_txt'] = "Σελίδα";
$wb['page_of_txt'] = "από";
$wb['page_and_txt'] = "και";
$wb['page_next_txt'] = "Επόμενη";
$wb['page_back_txt'] = "Επιστροφή";
$wb['delete_txt'] = "Διαγραφή";
$wb['filter_txt'] = "Φίλτρο";
$wb['add_new_record_txt'] = "Νέα εγγραφή";
$wb['btn_save_txt'] = "Αποθήκευση";
$wb['btn_cancel_txt'] = "Επιστροφή";
$wb['top_menu_system'] = "Σύστημα";
$wb['top_menu_client'] = "Πελάτης";
$wb['top_menu_email'] = "Email";
$wb['top_menu_monitor'] = "Εποπτεία";
$wb['top_menu_sites'] = "Sites";
$wb['top_menu_dns'] = "DNS";
$wb['top_menu_tools'] = "Εργαλεία";
$wb['top_menu_help'] = "Βοήθεια";
$wb['top_menu_billing'] = "Χρεώσεις";
$wb['top_menu_domain'] = "Domains";
$wb['top_menu_dashboard'] = "Αρχική";
$wb['toolsarea_head_txt'] = "Εργαλεία";
$wb['latest_news_txt'] = "Τελευταία Νέα";
$wb['number_format_decimals'] = "2";
$wb['number_format_dec_point'] = ".";
$wb['number_format_thousands_sep'] = "";
$wb['top_menu_vm'] = "VServer";
$wb['datepicker_nextText'] = "Επόμ.";
$wb['datepicker_prevText'] = "Προηγ.";
$wb['daynamesmin_su'] = "Κυ";
$wb['daynamesmin_mo'] = "Δε";
$wb['daynamesmin_tu'] = "Τρ";
$wb['daynamesmin_we'] = "Τε";
$wb['daynamesmin_th'] = "Πε";
$wb['daynamesmin_fr'] = "Πα";
$wb['daynamesmin_sa'] = "Σα";
$wb['daynames_sunday'] = "Κυριακή";
$wb['daynames_monday'] = "Δευτέρα";
$wb['daynames_tuesday'] = "Τρίτη";
$wb['daynames_wednesday'] = "Τετάρτη";
$wb['daynames_thursday'] = "Πέμπτη";
$wb['daynames_friday'] = "Παρασκευή";
$wb['daynames_saturday'] = "Σάββατο";
$wb['monthnamesshort_jan'] = "Ιαν";
$wb['monthnamesshort_feb'] = "Φεβ";
$wb['monthnamesshort_mar'] = "Μαρ";
$wb['monthnamesshort_apr'] = "Απρ";
$wb['monthnamesshort_may'] = "Μαϊ";
$wb['monthnamesshort_jun'] = "Ιουν";
$wb['monthnamesshort_jul'] = "Ιουλ";
$wb['monthnamesshort_aug'] = "Αυγ";
$wb['monthnamesshort_sep'] = "Σεπ";
$wb['monthnamesshort_oct'] = "Οκτ";
$wb['monthnamesshort_nov'] = "Νοε";
$wb['monthnamesshort_dec'] = "Δεκ";
?>
......@@ -30,7 +30,7 @@ $wb['Language Editor'] = 'Επεξεργαστής Γλώσσας';
$wb['Software'] = 'Εφαρμογές & Πρόσθετα';
$wb['Repositories'] = 'Αποθετήρια';
$wb['Server Services'] = 'Υπηρεσίες Server';
$wb['Interface Config'] = ύθμιση Εμφάνισης';
$wb['Interface Config'] = υθμίσεις Εμφάνισης';
$wb['Packages'] = 'Πακέτα';
$wb['Updates'] = 'Ενημερώσεις';
$wb['Merge'] = 'Συγχώνευση';
......@@ -38,6 +38,7 @@ $wb['Remote Users'] = 'Απομακρυσμένοι Χρήστες';
$wb['Remote Actions'] = 'Απομακρυσμένες Ενέργειες';
$wb['Do OS-Update'] = 'Αναβάθμιση λειτουργικού συστήματος';
$wb['Do ISPConfig-Update'] = 'Αναβάθμιση ISPConfig';
$wb['1001'] = 'Username or password is empty.';
$wb['1002'] = 'Username or password is wrong.';
$wb['1001'] = 'Το όνομα χρήστη ή το συνθηματικό είναι κενό.';
$wb['1002'] = 'Το όνομα χρήστη ή το συνθηματικό είναι λάθος.';
?>
......@@ -9,3 +9,4 @@ $wb['firewall_error_unique'] = 'Υπάρχει ήδη μια εγγραφή fire
$wb['tcp_ports_error_regex'] = 'Οι χαρακτήρες δεν επιτρέπονται στον ορισμό θυρών tcp. Επιτρέπονται μόνο αριθμοί, : και ,.';
$wb['udp_ports_error_regex'] = 'Οι χαρακτήρες δεν επιτρέπονται στον ορισμό θυρών udp. Επιτρέπονται μόνο αριθμοί, : και ,.';
?>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment