--- /dev/null
+require 'pg'
+
+require 'common/roundcube_plugin'
+require 'mv/mv_plugin'
+
+class RoundcubeMv
+
+ include RoundcubePlugin
+ include MvPlugin
+
+
+ def mv_domain(from, to)
+ # Roundcube doesn't have a concept of domains.
+ end
+
+ def mv_account(from, to)
+ sql_queries = ['UPDATE users SET username = $1 WHERE username = $2;']
+
+ begin
+ connection = PGconn.connect(@db_host,
+ @db_port,
+ @db_opts,
+ @db_tty,
+ @db_name,
+ @db_user,
+ @db_pass)
+
+ sql_queries.each do |sql_query|
+ connection.query(sql_query, [to, from])
+ end
+
+ connection.close()
+
+ rescue PGError => e
+ # Pretend like we're database-agnostic in case we ever are.
+ raise DatabaseError.new(e)
+ end
+
+ end
+
+end