Aleksander Machniak
2014-09-22 ff767a14ff7675fce7b23b918f41fa92157dd0c0
plugins/squirrelmail_usercopy/squirrelmail_usercopy.php
@@ -63,7 +63,7 @@
               if ($this->prefs['___sig'.$i.'___'])
                  $ident_data['signature'] = $this->prefs['___sig'.$i.'___'];
               // insert identity
               $identid = $rcmail->user->insert_identity($ident_data);
               $rcmail->user->insert_identity($ident_data);
            }
         }
@@ -73,8 +73,8 @@
            foreach ($this->abook as $rec) {
                // #1487096 handle multi-address and/or too long items
                $rec['email'] = array_shift(explode(';', $rec['email']));
                    if (check_email(rcube_idn_to_ascii($rec['email']))) {
                        $rec['email'] = rcube_idn_to_utf8($rec['email']);
                    if (rcube_utils::check_email(rcube_utils::idn_to_ascii($rec['email']))) {
                        $rec['email'] = rcube_utils::idn_to_utf8($rec['email']);
                   $contacts->insert($rec, true);
                 }
             }
@@ -151,10 +151,10 @@
         $this->prefs = array();
         /* connect to squirrelmail database */
         $db = new rcube_mdb2($rcmail->config->get('squirrelmail_dsn'));
         $db->db_connect('r'); // connect in read mode
         $db = rcube_db::factory($rcmail->config->get('squirrelmail_dsn'));
         // $db->set_debug(true);
         $db->set_debug($rcmail->config->get('sql_debug'));
         $db->db_connect('r'); // connect in read mode
         /* retrieve prefs */
         $userprefs_table = $rcmail->config->get('squirrelmail_userprefs_table');
@@ -164,27 +164,28 @@
         if ($db_charset)
            $db->query('SET NAMES '.$db_charset);
         $sql_result = $db->query('SELECT * FROM '.$userprefs_table.' WHERE user=?', $uname); // ? is replaced with emailaddress
         $sql_result = $db->query('SELECT * FROM ' . $db->quote_identifier($userprefs_table)
             .' WHERE `user` = ?', $uname); // ? is replaced with emailaddress
         while ($sql_array = $db->fetch_assoc($sql_result) ) { // fetch one row from result
            $this->prefs[$sql_array['prefkey']] = rcube_charset_convert(rtrim($sql_array['prefval']), $db_charset);
            $this->prefs[$sql_array['prefkey']] = rcube_charset::convert(rtrim($sql_array['prefval']), $db_charset);
         }
         /* retrieve address table data */
         $sql_result = $db->query('SELECT * FROM '.$address_table.' WHERE owner=?', $uname); // ? is replaced with emailaddress
         $sql_result = $db->query('SELECT * FROM ' . $db->quote_identifier($address_table)
             .' WHERE `owner` = ?', $uname); // ? is replaced with emailaddress
         // parse addres book
         while ($sql_array = $db->fetch_assoc($sql_result) ) { // fetch one row from result
            $rec['name']      = rcube_charset_convert(rtrim($sql_array['nickname']), $db_charset);
            $rec['firstname'] = rcube_charset_convert(rtrim($sql_array['firstname']), $db_charset);
            $rec['surname']   = rcube_charset_convert(rtrim($sql_array['lastname']), $db_charset);
            $rec['email']     = rcube_charset_convert(rtrim($sql_array['email']), $db_charset);
            $rec['note']      = rcube_charset_convert(rtrim($sql_array['label']), $db_charset);
            $rec['name']      = rcube_charset::convert(rtrim($sql_array['nickname']), $db_charset);
            $rec['firstname'] = rcube_charset::convert(rtrim($sql_array['firstname']), $db_charset);
            $rec['surname']   = rcube_charset::convert(rtrim($sql_array['lastname']), $db_charset);
            $rec['email']     = rcube_charset::convert(rtrim($sql_array['email']), $db_charset);
            $rec['notes']     = rcube_charset::convert(rtrim($sql_array['label']), $db_charset);
            if ($rec['name'] && $rec['email'])
               $this->abook[] = $rec;
         }
      } // end if 'sql'-driver
   }
}