summaryrefslogtreecommitdiff
path: root/copy-mmssms-db.php
diff options
context:
space:
mode:
Diffstat (limited to 'copy-mmssms-db.php')
-rw-r--r--copy-mmssms-db.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/copy-mmssms-db.php b/copy-mmssms-db.php
new file mode 100644
index 0000000..4bfeef8
--- /dev/null
+++ b/copy-mmssms-db.php
@@ -0,0 +1,69 @@
+<?php
+
+// place paths to your files here
+$src_path = '';
+$dst_path = '';
+
+$src = new SQLite3($src_path);
+$dst = new SQLite3($dst_path);
+
+function copy_canonical_addresses() {
+ global $src, $dst;
+ $q = $src->query("SELECT * FROM canonical_addresses");
+ while ($row = $q->fetchArray(SQLITE3_ASSOC)) {
+ $dst->query("INSERT INTO canonical_addresses (_id, address) VALUES (".$row['_id'].", '".SQLite3::escapeString($row['address'])."')");
+ }
+}
+
+function copy_sms() {
+ global $src, $dst;
+ $q = $src->query("SELECT * FROM sms");
+ while ($row = $q->fetchArray(SQLITE3_ASSOC)) {
+ $keys = [];
+ $values = [];
+ foreach ($row as $key => $value) {
+ $keys[] = "`".$key."`";
+ $values[] = "'".SQLite3::escapeString($value)."'";
+ }
+ $dst->query("INSERT INTO sms (".implode(', ', $keys).") VALUES (".implode(', ', $values).")");
+ }
+}
+
+function copy_threads() {
+ global $src, $dst;
+ $q = $src->query("SELECT * FROM threads");
+ while ($row = $q->fetchArray(SQLITE3_ASSOC)) {
+ $keys = [];
+ $values = [];
+ foreach ($row as $key => $value) {
+ if ($key == 'unread_message_count') {
+ continue;
+ }
+ $keys[] = "`".$key."`";
+ $values[] = "'".SQLite3::escapeString($value)."'";
+ }
+ $dst->query("INSERT INTO threads (".implode(', ', $keys).") VALUES (".implode(', ', $values).")");
+ }
+}
+
+function copy_words() {
+ global $src, $dst;
+ $tables = ['words', 'words_content', 'words_segments', 'words_segdir'];
+ foreach ($tables as $table) {
+ $q = $src->query("SELECT * FROM {$table}");
+ while ($row = $q->fetchArray(SQLITE3_ASSOC)) {
+ $keys = [];
+ $values = [];
+ foreach ($row as $key => $value) {
+ $keys[] = "`".$key."`";
+ $values[] = "'".SQLite3::escapeString($value)."'";
+ }
+ $dst->query("INSERT INTO {$table} (".implode(', ', $keys).") VALUES (".implode(', ', $values).")");
+ }
+ }
+}
+
+copy_threads();
+copy_words();
+copy_sms();
+copy_canonical_addresses();