From 992797f73c92b413a7fecff02c27c61b7db55b43 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 14 Oct 2013 09:54:49 -0400
Subject: [PATCH] Copied files from svn 3.0.5 stable branch (git migration)

---
 interface/web/tools/import_plesk.php |  243 +++---------------------------------------------
 1 files changed, 15 insertions(+), 228 deletions(-)

diff --git a/interface/web/tools/import_plesk.php b/interface/web/tools/import_plesk.php
index de8fe7a..a06505c 100644
--- a/interface/web/tools/import_plesk.php
+++ b/interface/web/tools/import_plesk.php
@@ -122,21 +122,6 @@
     return $hash;
 }
 
-$COMMANDS = 'unset HISTFILE
-MYSERVER="192.168.1.10"
-MYSQL_EXPORT_USER="root"
-MYSQL_EXPORT_PASS=""
-MYSQL_IMPORT_USER="root"
-MYSQL_IMPORT_PASS=""
-';
-
-function add_command($cmd) {
-    global $COMMANDS;
-    
-    $COMMANDS .= $cmd . "\n";
-}
-
-
 /* TODO: document root rewrite on ftp account and other home directories */
 
 //* Check permissions for module
@@ -235,7 +220,7 @@
             $params = array(
                             'company_name' => $entry['cname'],
                             'contact_name' => $entry['pname'],
-                            'customer_no' => 'Plesk' . $entry['id'],
+                            //'customer_no' => '',
                             'username' => $entry['login'],
                             'password' => $entry['password'],
                             'language' => substr($entry['locale'], 0, 2), // plesk stores as de-DE or en-US
@@ -309,7 +294,7 @@
             
             if($old_client) {
                 $new_id = $old_client['client_id'];
-                $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, array_merge($old_client, $params));
+                $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, $params);
                 if($ok === false) {
                     
                 }
@@ -333,7 +318,7 @@
         
         $web_config = $app->getconf->get_server_config($server_id,'web');
         
-        $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d WHERE d.parentDomainId = 0");
+        $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d");
         $dom_ftp_users = array();
         $domain_ids = array();
         $domain_roots = array();
@@ -471,16 +456,6 @@
                 $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $msg .= "Domain " . $entry['id'] . " (" . $entry['name'] . ") inserted -> " . $new_id . ".<br />";
-                
-                $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'");
-                $path = $cmd_data['document_root'];
-                add_command('chattr -i ' . escapeshellarg($path));
-                add_command('if [[ -f ' . $path . '/web/index.html ]] ; then rm ' . $path . '/web/index.html ; fi');
-                add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/web/');
-                add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path));
-                add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --');
-                add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats'));
-                add_command('chattr +i ' . escapeshellarg($path));
             }
             
             // add domain to mail domains too
@@ -557,7 +532,7 @@
                 $new_id = $old_domain['domain_id'];
                 $params = array_merge($old_domain, $params);
                 $msg .= "Found mail domain with id " . $new_id . ", updating it.<br />";
-                $ok = $importer->mail_domain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params);
+                $ok = $importer->sites_web_aliasdomain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params);
                 if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $new_id = $importer->mail_domain_add($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $params);
@@ -573,155 +548,11 @@
             }
         }
         
+        // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains
+        $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d");
         $subdomain_ids = array();
         $subdomain_roots = array();
         $subdomain_owners = array();
-        
-        $subdomains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id, d.parentDomainId FROM domains as d WHERE d.parentDomainId != 0");
-        foreach($subdomains as $entry) {
-            $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['id'] . "'");
-            $options = array();
-            while($opt = $exdb->nextRecord()) {
-                $options[$opt['param']] = $opt['val'];
-            }
-            
-            $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['parentDomainId'] . "'");
-            $redir_type = '';
-            $redir_path = '';
-            
-            if($entry['htype'] === 'std_fwd') {
-                // redirection
-                $redir = $exdb->queryOneRecord("SELECT f.dom_id, f.ip_address_id, f.redirect FROM forwarding as f WHERE f.dom_id = '" . $entry['id'] . "'");
-                $redir_type = 'R,L';
-                $redir_path = $redir['redirect'];
-            } elseif($entry['htype'] === 'vrt_hst') {
-                // default virtual hosting (vhost)
-            } else {
-                /* TODO: unknown type */
-            }
-            
-            $hosting = $exdb->queryOneRecord("SELECT h.dom_id, h.sys_user_id, h.ip_address_id, h.real_traffic, h.fp, h.fp_ssl, h.fp_enable, h.fp_adm, h.fp_pass, h.ssi, h.php, h.cgi, h.perl, h.python, h.fastcgi, h.miva, h.coldfusion, h.asp, h.asp_dot_net, h.ssl, h.webstat, h.same_ssl, h.traffic_bandwidth, h.max_connection, h.php_handler_type, h.www_root, h.maintenance_mode, h.certificate_id, s.login, s.account_id, s.home, s.shell, s.quota, s.mapped_to, a.password, a.type as `pwtype` FROM hosting as h LEFT JOIN sys_users as s ON (s.id = h.sys_user_id) LEFT JOIN accounts as a ON (s.account_id = a.id) WHERE h.dom_id = '" . $entry['id'] . "'");
-            if($hosting['sys_user_id']) {
-                $dom_ftp_users[] = array('id' => 0,
-                                         'dom_id' => $hosting['dom_id'],
-                                         'sys_user_id' => $hosting['sys_user_id'],
-                                         'login' => $hosting['login'],
-                                         'account_id' => $hosting['account_id'],
-                                         'home' => $hosting['home'],
-                                         'shell' => $hosting['shell'],
-                                         'quota' => $hosting['quota'],
-                                         'mapped_to' => $hosting['mapped_to'],
-                                         'password' => $hosting['password'],
-                                         'pwtype' => $hosting['pwtype']
-                                        );
-            }
-            
-            $phpmode = 'no';
-            if(get_option($hosting, 'php', 'false') === 'true') {
-                $mode = get_option($hosting, 'php_handler_type', 'module');
-                if($mode === 'module') $phpmode = 'mod';
-                else $phpmode = 'fast-cgi';
-                /* TODO: what other options could be in "php_handler_type"? */
-            }
-            /* TODO: plesk offers some more options:
-             * sys_user_id -> owner of files?
-             * ip_address_id - needed?
-             * fp - frontpage extensions
-             * miva - ?
-             * coldfusion
-             * asp
-             * asp_dot_net
-             * traffic_bandwidth
-             * max_connections
-             */
-            
-            $web_folder = $hosting['www_root'];
-            $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder);
-            
-            //if(substr($web_folder, 0, 1) === '/') $web_folder = substr($web_folder, 1);
-            //if(substr($web_folder, -1, 1) === '/') $web_folder = substr($web_folder, 0, -1);
-            $params = array(
-                            'server_id' => $server_id,
-                            'ip_address' => '*',
-                            //'ipv6_address' => '',
-                            'domain' => $entry['name'],
-                            'web_folder' => $web_folder,
-                            'type' => 'vhostsubdomain', // can be vhost or alias
-                            'parent_domain_id' => $domain_ids[$entry['parentDomainId']],
-                            'vhost_type' => 'name', // or ip (-based)
-                            'hd_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'disk_space', -1)),
-                            'traffic_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'max_traffic', -1)),
-                            'cgi' => yes_no(get_option($hosting, 'cgi', 'false') === 'true' ? 1 : 0),
-                            'ssi' => yes_no(get_option($hosting, 'ssi', 'false') === 'true' ? 1 : 0),
-                            'suexec' => yes_no(1), // does plesk use this?!
-                            'errordocs' => get_option($options, 'apacheErrorDocs', 'false') === 'true' ? 1 : 0,
-                            'subdomain' => '', // plesk always uses this option
-                            'ssl' => yes_no(get_option($hosting, 'ssl', 'false') === 'true' ? 1 : 0),
-                            'php' => $phpmode,
-                            'fastcgi_php_version' => '', // plesk has no different php versions
-                            'ruby' => yes_no(0), // plesk has no ruby support
-                            'python' => yes_no(get_option($hosting, 'python', 'false') === 'true' ? 1 : 0),
-                            'active' => yes_no(($entry['status'] == 0 && get_option($hosting, 'maintenance_mode', 'false') !== 'true') ? 1 : 0),
-                            'redirect_type' => $redir_type,
-                            'redirect_path' => $redir_path,
-                            'seo_redirect' => '',
-                            'ssl_state' => $entry[''],
-                            'ssl_locality' => $entry[''],
-                            'ssl_organisation' => $entry[''],
-                            'ssl_organisation_unit' => $entry[''],
-                            'ssl_country' => $entry[''],
-                            'ssl_domain' => $entry[''],
-                            'ssl_request' => $entry[''],
-                            'ssl_cert' => $entry[''],
-                            'ssl_bundle' => $entry[''],
-                            'ssl_action' => $entry[''],
-                            'stats_password' => '',
-                            'stats_type' => get_option($hosting, 'webstat', 'webalizer') === 'awstats' ? 'awstats' : 'webalizer',
-                            'backup_interval' => 'none',
-                            'backup_copies' => 1,
-                            'allow_override' => 'All',
-                            'pm_process_idle_timeout' => 10,
-                            'pm_max_requests' => 0
-                            );
-
-            $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = '" . $entry['name'] . "'");
-            if(!$old_domain) $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE CONCAT(subdomain, '.', domain) = '" . $entry['name'] . "'");
-            if($old_domain) {
-                $new_id = $old_domain['domain_id'];
-                $params = array_merge($old_domain, $params);
-                $msg .= "Found domain " . $entry['name'] . " with id " . $new_id . ", updating it.<br />";
-                $ok = $importer->sites_web_vhost_subdomain_update($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $new_id, $params);
-                if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
-            } else {
-                $new_id = $importer->sites_web_vhost_subdomain_add($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $params, true); // read only...
-            }
-            
-            $subdomain_ids[$entry['id']] = $new_id;
-            $subdomain_roots[$entry['id']] = $hosting['www_root'];
-            $subdomain_owners[$entry['id']] = $entry['cl_id'];
-            if($new_id === false) {
-                //something went wrong here...
-                $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") with folder \"" . $web_folder . "\" could not be inserted.<br />";
-                $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
-            } else {
-                $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />";
-                
-                $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'");
-                $path = $cmd_data['document_root'];
-                add_command('chattr -i ' . escapeshellarg($path));
-                add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi');
-                add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/' . $web_folder . '/');
-                add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path));
-                add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --');
-                add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats'));
-                add_command('chattr +i ' . escapeshellarg($path));
-                
-            }
-            $domain_ids[$entry['id']] = $new_id;
-        }
-        
-        // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains
-        $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d");
         foreach($subdomains as $entry) {
             $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['dom_id'] . "'");
             $options = array();
@@ -775,15 +606,12 @@
              * max_connections
              */
             
-            $web_folder = $entry['www_root'];
-            $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder);
-
             $params = array(
                             'server_id' => $server_id,
                             'ip_address' => '*',
                             //'ipv6_address' => '',
                             'domain' => $entry['name'] . '.' . $parent_domain['name'],
-                            'web_folder' => $web_folder,
+                            'web_folder' => $entry['www_root'],
                             'type' => 'vhostsubdomain', // can be vhost or alias
                             'parent_domain_id' => $domain_ids[$entry['dom_id']],
                             'vhost_type' => 'name', // or ip (-based)
@@ -843,15 +671,6 @@
                 $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />";
-                
-                $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'");
-                $path = $cmd_data['document_root'];
-                add_command('chattr -i ' . escapeshellarg($path));
-                add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi');
-                add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $entry['www_root'] . '/ ' . $path . '/' . $web_folder . '/');
-                add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path));
-                add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats'));
-                add_command('chattr +i ' . escapeshellarg($path));
             }
         }
         
@@ -1019,9 +838,6 @@
                             'parent_domain_id' => $domain_ids[$entry['dom_id']],
                             'path' => $entry['path'],
                             'active' => 'y');
-            
-            $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]];
-            
             $folder_id = 0;
             $check = $app->db->queryOneRecord('SELECT * FROM `web_folder` WHERE `parent_domain_id` = \'' . $domain_ids[$entry['dom_id']] . '\' AND `path` = \'' . $app->db->quote($entry['path']) . '\'');
             if($check) {
@@ -1038,18 +854,13 @@
             $folder_ids[$entry['id']] = $folder_id;
         }
         
-        $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password, d.dom_id FROM pd_users as u INNER JOIN protected_dirs as d ON (d.id = u.pd_id) INNER JOIN accounts as a ON (a.id = u.account_id)");
-        foreach($pd_users as $entry) {
+        $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password FROM pd_users as u INNER JOIN accounts as a ON (a.id = u.account_id)");
+        foreach($protected_dirs as $entry) {
             $params = array('server_id' => $server_id,
                             'web_folder_id' => $folder_ids[$entry['pd_id']],
                             'username' => $entry['login'],
                             'password' => $entry['password'],
                             'active' => 'y');
-            if($entry['login'] == '' || !isset($folder_ids[$entry['pd_id']])) {
-                $msg .= 'Skipping Folder user because of missing data.<br />';
-                continue;
-            }
-            $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]];
             
             $check = $app->db->queryOneRecord('SELECT * FROM `web_folder_user` WHERE `web_folder_id` = ' . intval($folder_ids[$entry['pd_id']]) . ' AND `username` = \'' . $entry['login'] . '\'');
             if($check) {
@@ -1074,7 +885,7 @@
         $ftp_users = array_merge($ftp_users, $dom_ftp_users);
         foreach($ftp_users as $entry) {
             $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['dom_id'] . "'");
-            if(!$entry['id']) continue;
+            
             $ispc_dom_id = $domain_ids[$entry['dom_id']];
             $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]];
             if(!$client_id) $client_id = 0;
@@ -1127,7 +938,7 @@
                     $msg .= "FTP Account conflicts with other domain!<br />";
                 } else {
                     $new_id = $old_ftp['ftp_user_id'];
-                    $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, array_merge($old_ftp, $params));
+                    $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, $params);
                     if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 }
             } else {
@@ -1200,7 +1011,7 @@
                 $old_mail = $app->db->queryOneRecord("SELECT mailuser_id FROM mail_user WHERE email = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'");
                 if($old_mail) {
                     $new_id = $old_mail['mailuser_id'];
-                    $ok = $importer->mail_user_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
+                    $ok = $importer->mail_user_update($session_id, $client_id, $new_id, $params);
                     if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_user_add($session_id, $client_id, $params);
@@ -1212,13 +1023,6 @@
                     $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $msg .= "Mail " . $entry['id'] . " (" . $entry['mail_name'] . "@" . $parent_domain['name'] . ") inserted/updated.<br />";
-                    
-                    add_command('rsync -av --delete-after --modify-window 10 --progress -e ssh root@${MYSERVER}:/var/qmail/mailnames/' . $parent_domain['name'] . '/' . strtolower($entry['mail_name']) . '/Maildir/ ' . $maildir . '/Maildir/');
-                    add_command('chown -R vmail:vmail ' . $maildir);
-                    add_command('chmod 744 ' . $maildir . '/Maildir/subscriptions');
-                    add_command('chmod 600 ' . $maildir . '/Maildir/dovecot-*');
-                    add_command('chmod 700 ' . $maildir . '/Maildir/cur ' . $maildir . '/Maildir/new ' . $maildir . '/Maildir/tmp');
-                    add_command('chmod 600 ' . $maildir . '/Maildir/cur/* ' . $maildir . '/Maildir/new/* ' . $maildir . '/Maildir/tmp/*');
                 }
                 $mail_ids[$entry['id']] = $new_id;
             }
@@ -1237,7 +1041,7 @@
                 $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "' AND destination = '" . $redir['address'] . "'");
                 if($old_mail) {
                     $new_id = $old_mail['forwarding_id'];
-                    $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
+                    $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, $params);
                     if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
                 } else {
                     $new_id = $importer->mail_forward_add($session_id, $client_id, $params);
@@ -1276,7 +1080,7 @@
             $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['alias'] . "@" . $parent_domain['name'] . "' AND destination = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'");
             if($old_mail) {
                 $new_id = $old_mail['forwarding_id'];
-                $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, array_merge($old_mail, $params));
+                $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, $params);
                 if($ok === false) $msg .= "&nbsp; Error: " . $importer->getFault() . "<br />";
             } else {
                 $new_id = $importer->mail_alias_add($session_id, $client_id, $params);
@@ -1304,15 +1108,12 @@
         
         $db_userids = array();
         
-        $db_users  = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype`, d.dom_id FROM db_users as u INNER JOIN data_bases as d ON (d.id = u.db_id) LEFT JOIN accounts as a ON (a.id = u.account_id)");
+        $db_users  = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype` FROM db_users as u LEFT JOIN accounts as a ON (a.id = u.account_id)");
         foreach($db_users as $db_user) {
             // database user
             $params = array('server_id' => $server_id,
                             'database_user' => $db_user['login'],
                             'database_password' => $db_user['password']);
-            
-            $client_id = $plesk_ispc_ids[$domain_owners[$db_user['dom_id']]];
-
             $check = $app->db->queryOneRecord('SELECT * FROM `web_database_user` WHERE `database_user` = \'' . $app->db->quote($db_user['login']) . '\'');
             $db_user_id = 0;
             if($check) {
@@ -1326,8 +1127,6 @@
             if(!isset($db_userids[$db_user['db_id']])) $db_userids[$db_user['db_id']] = $db_user_id;
             $msg .= 'Created / updated database user: ' . $db_user['login'] . '<br />';
         }
-         
-        add_command('# DATABASES');
             
         $databases  = $exdb->queryAllRecords("SELECT d.id, d.name, d.type, d.dom_id, d.db_server_id, d.default_user_id FROM `data_bases` as d");
         foreach($databases as $database) {
@@ -1342,8 +1141,6 @@
                             'active' => 'y',
                             'remote_ips' => '');
             
-            $client_id = $plesk_ispc_ids[$domain_owners[$database['dom_id']]];
-            
             $check = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_name` = \'' . $app->db->quote($database['name']) . '\'');
             if($check) {
                 $ok = $importer->sites_database_update($session_id, $client_id, $check['database_id'], array_merge($check, $params));
@@ -1351,9 +1148,6 @@
             } else {
                 $importer->sites_database_add($session_id, $client_id, $params);
             }
-            
-            add_command('for T in `mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e \'show tables\' | awk \'{ print $1}\' | grep -v \'^Tables\'` ; do echo "DROP TABLE \\`$T\\`" ; mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e "DROP TABLE \\`$T\\`" ; done');
-            add_command('mysqldump -cCQ --quote-names --hex-blob -h ${MYSERVER} -u ${MYSQL_EXPORT_USER} -p${MYSQL_EXPORT_PASS} ' . $database['name'] . ' | mysql -D ' . $database['name'] . ' -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS}');
             
             $msg .= 'Created / updated database: ' . $database['name'] . '<br />';
          }
@@ -1393,13 +1187,6 @@
         id, login, account_id, home, shell, quota, mapped_to
         
          */
-        add_command('unset MYSERVER');
-        add_command('unset MYSQL_EXPORT_USER');
-        add_command('unset MYSQL_EXPORT_PASS');
-        add_command('unset MYSQL_IMPORT_USER');
-        add_command('unset MYSQL_IMPORT_PASS');
-        add_command('# END');
-        file_put_contents('/tmp/plesk_import_commands.sh', $COMMANDS);
 	} else {
         $msg .= 'Connecting to external database failed!<br />';
         $msg .= $exdb->connect_error;

--
Gitblit v1.9.1