make rc import/export work with vmail-stack db config
This commit is contained in:
parent
9fd01b5dd4
commit
5f578978cd
|
@ -1,24 +1,34 @@
|
||||||
#!/usr/bin/php
|
#!/usr/bin/php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
if (isset($argv[1])) {
|
||||||
$virtualhost = $argv[1];
|
$virtualhost = $argv[1];
|
||||||
|
} else {
|
||||||
if ($virtualhost == "") {
|
|
||||||
echo "usage:\n";
|
echo "usage:\n";
|
||||||
echo " $argv[0] virtualhost\n";
|
echo " $argv[0] virtualhost\n";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_dir("/var/www/$virtualhost")) {
|
if (!is_dir("/var/vmail/$virtualhost")) {
|
||||||
echo "$virtualhost is not installed\n";
|
echo "$virtualhost is not installed\n";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!is_writable("/var/vmail/$virtualhost")) {
|
||||||
|
$user = posix_getpwuid(posix_geteuid());
|
||||||
|
$username = $user['name'];
|
||||||
|
echo "/var/vmail/$virtualhost is not writable by this user ($username).\n";
|
||||||
|
echo "re-run this script as user vmail or root or another user that can write to /var/vmail/$virtualhost\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
$roundcubemail = array();
|
$roundcubemail = array();
|
||||||
|
|
||||||
$dbPass = trim(`grep -m 1 password /etc/mysql/debian.cnf |cut -d = -f 2|cut -d ' ' -f 2`);
|
$dbHost = trim(`grep -m 1 host /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
$dbLink = mysqli_connect('localhost', 'root', "$dbPass", 'vmail');
|
$dbDatabase = trim(`grep -m 1 database /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbUser = trim(`grep -m 1 user /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbPass = trim(`grep -m 1 password /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbLink = mysqli_connect($dbHost, $dbUser, "$dbPass", $dbDatabase);
|
||||||
|
|
||||||
$dbQuery = "SELECT * FROM rc_users WHERE username LIKE '%@$virtualhost'";
|
$dbQuery = "SELECT * FROM rc_users WHERE username LIKE '%@$virtualhost'";
|
||||||
$dbResult = mysqli_query($dbLink, $dbQuery);
|
$dbResult = mysqli_query($dbLink, $dbQuery);
|
||||||
|
@ -89,4 +99,4 @@ while ($row_users = mysqli_fetch_assoc($dbResult)) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
file_put_contents("/var/www/$virtualhost/roundcubemail", serialize($roundcubemail));
|
file_put_contents("/var/vmail/$virtualhost/roundcubemail", serialize($roundcubemail));
|
||||||
|
|
|
@ -9,15 +9,18 @@ if ($virtualhost == "") {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_file("/var/www/$virtualhost/roundcubemail")) {
|
if (!is_file("/var/vmail/$virtualhost/roundcubemail")) {
|
||||||
echo "$virtualhost roundcubemail file does not exist\n";
|
echo "$virtualhost roundcubemail file does not exist\n";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$roundcubemail = unserialize(file_get_contents("/var/www/$virtualhost/roundcubemail"));
|
$roundcubemail = unserialize(file_get_contents("/var/vmail/$virtualhost/roundcubemail"));
|
||||||
|
|
||||||
$dbPass = trim(`grep -m 1 password /etc/mysql/debian.cnf |cut -d = -f 2|cut -d ' ' -f 2`);
|
$dbHost = trim(`grep -m 1 host /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
$dbLink = mysqli_connect('localhost', 'root', "$dbPass", 'vmail');
|
$dbDatabase = trim(`grep -m 1 database /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbUser = trim(`grep -m 1 user /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbPass = trim(`grep -m 1 password /usr/local/etc/vmail-db-info.conf |cut -d = -f 2|cut -d ' ' -f 2`);
|
||||||
|
$dbLink = mysqli_connect($dbHost, $dbUser, "$dbPass", $dbDatabase);
|
||||||
|
|
||||||
$user_id_new = 0;
|
$user_id_new = 0;
|
||||||
$identity_id_new = 0;
|
$identity_id_new = 0;
|
||||||
|
@ -158,3 +161,6 @@ foreach ($roundcubemail as $virtualhost=>$users_array) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo "Import complete. If it's no longer need you can\n";
|
||||||
|
echo "remove the file /var/vmail/$virtualhost/roundcubemail\n";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user